@huma-finance/widgets 0.0.30 → 0.0.32

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.
Files changed (27) hide show
  1. package/dist/cjs/index.cjs +911 -179
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/index.js +913 -182
  4. package/dist/index.js.map +1 -1
  5. package/package.json +5 -4
  6. package/src/components/ChooseAmountModal.tsx +322 -322
  7. package/src/components/CreditLine/borrow/5-Success.tsx +9 -1
  8. package/src/components/CreditLine/borrow/6-Notifications.tsx +10 -0
  9. package/src/components/CreditLine/borrow/index.tsx +21 -2
  10. package/src/components/Factoring/UpcomingList.tsx +1 -1
  11. package/src/components/HumaSnackBar.tsx +60 -0
  12. package/src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx +86 -0
  13. package/src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx +287 -0
  14. package/src/components/Lend/supply/1-Evaluation/index.tsx +31 -0
  15. package/src/components/Lend/supply/2-ChooseAmount.tsx +0 -1
  16. package/src/components/Lend/supply/{7-Success.tsx → 5-Success.tsx} +13 -2
  17. package/src/components/Lend/supply/6-Notifications.tsx +10 -0
  18. package/src/components/Lend/supply/index.tsx +29 -6
  19. package/src/components/Notifi/NotifiSubscriptionModal.tsx +264 -0
  20. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  21. package/src/components/TxDoneModal.tsx +3 -1
  22. package/src/cosmos/SDKTesting.fixture.tsx +616 -615
  23. package/src/hooks/useNotifi.ts +71 -0
  24. package/src/store/widgets.store.ts +1 -0
  25. package/src/components/Lend/supply/1-Evaluation.tsx +0 -171
  26. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +0 -104
  27. /package/src/components/Lend/supply/{6-Transfer.tsx → 4-Transfer.tsx} +0 -0
@@ -18,6 +18,9 @@ var core = require('@web3-react/core');
18
18
  var ArrowDropDownIcon = require('@mui/icons-material/ArrowDropDown');
19
19
  var ArrowDropUpIcon = require('@mui/icons-material/ArrowDropUp');
20
20
  var constants = require('@ethersproject/constants');
21
+ var notifiFrontendClient = require('@notifi-network/notifi-frontend-client');
22
+ var ethers = require('ethers');
23
+ var Email = require('@mui/icons-material/Email');
21
24
  var ArrowForwardIosIcon = require('@mui/icons-material/ArrowForwardIos');
22
25
  var client = require('@apollo/client');
23
26
  var Table = require('@mui/material/Table');
@@ -26,7 +29,6 @@ var TableCell = require('@mui/material/TableCell');
26
29
  var TableContainer = require('@mui/material/TableContainer');
27
30
  var TableHead = require('@mui/material/TableHead');
28
31
  var TableRow = require('@mui/material/TableRow');
29
- var ethers = require('ethers');
30
32
 
31
33
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
32
34
 
@@ -55,6 +57,7 @@ var ChevronLeftOutlinedIcon__default = /*#__PURE__*/_interopDefaultLegacy(Chevro
55
57
  var CloseIcon__default = /*#__PURE__*/_interopDefaultLegacy(CloseIcon);
56
58
  var ArrowDropDownIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDropDownIcon);
57
59
  var ArrowDropUpIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowDropUpIcon);
60
+ var Email__default = /*#__PURE__*/_interopDefaultLegacy(Email);
58
61
  var ArrowForwardIosIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowForwardIosIcon);
59
62
  var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
60
63
  var TableBody__default = /*#__PURE__*/_interopDefaultLegacy(TableBody);
@@ -167,19 +170,19 @@ function _iterableToArrayLimit(arr, i) {
167
170
  }
168
171
  }
169
172
 
170
- function _arrayLikeToArray(arr, len) {
173
+ function _arrayLikeToArray$1(arr, len) {
171
174
  if (len == null || len > arr.length) len = arr.length;
172
175
  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
173
176
  return arr2;
174
177
  }
175
178
 
176
- function _unsupportedIterableToArray(o, minLen) {
179
+ function _unsupportedIterableToArray$1(o, minLen) {
177
180
  if (!o) return;
178
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
181
+ if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
179
182
  var n = Object.prototype.toString.call(o).slice(8, -1);
180
183
  if (n === "Object" && o.constructor) n = o.constructor.name;
181
184
  if (n === "Map" || n === "Set") return Array.from(o);
182
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
185
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
183
186
  }
184
187
 
185
188
  function _nonIterableRest() {
@@ -187,7 +190,7 @@ function _nonIterableRest() {
187
190
  }
188
191
 
189
192
  function _slicedToArray(arr, i) {
190
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
193
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest();
191
194
  }
192
195
 
193
196
  var regeneratorRuntimeExports = {};
@@ -566,14 +569,15 @@ var WIDGET_STEP = /*#__PURE__*/function (WIDGET_STEP) {
566
569
  WIDGET_STEP["ApproveNFT"] = "ApproveNFT";
567
570
  WIDGET_STEP["Transfer"] = "Transfer";
568
571
  WIDGET_STEP["CheckWithdrawable"] = "CheckWithdrawable";
572
+ WIDGET_STEP["Notifications"] = "Notifications";
569
573
  WIDGET_STEP["Done"] = "Done";
570
574
  WIDGET_STEP["Error"] = "Error";
571
575
  return WIDGET_STEP;
572
576
  }({});
573
577
  var initialWidgetState = {};
574
578
 
575
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
576
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
579
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
580
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
577
581
  var widgetSlice = toolkit.createSlice({
578
582
  name: 'widget',
579
583
  initialState: initialWidgetState,
@@ -640,7 +644,7 @@ var widgetSlice = toolkit.createSlice({
640
644
  var _state$stream;
641
645
  var payload = _ref8.payload;
642
646
  var stream = (_state$stream = state.stream) !== null && _state$stream !== void 0 ? _state$stream : {};
643
- state.stream = _objectSpread$4(_objectSpread$4({}, stream), payload);
647
+ state.stream = _objectSpread$5(_objectSpread$5({}, stream), payload);
644
648
  },
645
649
  setMultisend: function setMultisend(state, _ref9) {
646
650
  var payload = _ref9.payload;
@@ -1902,37 +1906,37 @@ var SvgUsdc = function SvgUsdc(props) {
1902
1906
  })));
1903
1907
  };
1904
1908
 
1905
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1906
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1909
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1910
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1907
1911
  function ReceiptIcon(props) {
1908
- return jsxRuntime.jsx(SvgReceipt, _objectSpread$3({}, props));
1912
+ return jsxRuntime.jsx(SvgReceipt, _objectSpread$4({}, props));
1909
1913
  }
1910
1914
  function SeparatorIcon(props) {
1911
- return jsxRuntime.jsx(SvgSeparator, _objectSpread$3({}, props));
1915
+ return jsxRuntime.jsx(SvgSeparator, _objectSpread$4({}, props));
1912
1916
  }
1913
1917
  function LoaderIcon(props) {
1914
- return jsxRuntime.jsx(SvgLoader, _objectSpread$3({}, props));
1918
+ return jsxRuntime.jsx(SvgLoader, _objectSpread$4({}, props));
1915
1919
  }
1916
1920
  function SorryIcon(props) {
1917
- return jsxRuntime.jsx(SvgSorry, _objectSpread$3({}, props));
1921
+ return jsxRuntime.jsx(SvgSorry, _objectSpread$4({}, props));
1918
1922
  }
1919
1923
  function CheckIcon(props) {
1920
- return jsxRuntime.jsx(SvgCheck, _objectSpread$3({}, props));
1924
+ return jsxRuntime.jsx(SvgCheck, _objectSpread$4({}, props));
1921
1925
  }
1922
1926
  function CheckGreenIcon(props) {
1923
- return jsxRuntime.jsx(SvgCheckGreen, _objectSpread$3({}, props));
1927
+ return jsxRuntime.jsx(SvgCheckGreen, _objectSpread$4({}, props));
1924
1928
  }
1925
1929
  function CheckCircleIcon(props) {
1926
- return jsxRuntime.jsx(SvgCheckCircle, _objectSpread$3({}, props));
1930
+ return jsxRuntime.jsx(SvgCheckCircle, _objectSpread$4({}, props));
1927
1931
  }
1928
1932
  function AutoPaybackIcon(props) {
1929
- return jsxRuntime.jsx(SvgAutoPayback, _objectSpread$3({}, props));
1933
+ return jsxRuntime.jsx(SvgAutoPayback, _objectSpread$4({}, props));
1930
1934
  }
1931
1935
  function ApproveLenderIcon(props) {
1932
- return jsxRuntime.jsx(SvgApproveLender, _objectSpread$3({}, props));
1936
+ return jsxRuntime.jsx(SvgApproveLender, _objectSpread$4({}, props));
1933
1937
  }
1934
1938
  function UsdcIcon(props) {
1935
- return jsxRuntime.jsx(SvgUsdc, _objectSpread$3({}, props));
1939
+ return jsxRuntime.jsx(SvgUsdc, _objectSpread$4({}, props));
1936
1940
  }
1937
1941
  function getIcon(icon) {
1938
1942
  if (icon === 'USDC') {
@@ -1941,7 +1945,7 @@ function getIcon(icon) {
1941
1945
  return null;
1942
1946
  }
1943
1947
 
1944
- var _templateObject$f, _templateObject2$c, _templateObject3$8, _templateObject4$8, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$2;
1948
+ var _templateObject$h, _templateObject2$e, _templateObject3$9, _templateObject4$9, _templateObject5$5, _templateObject6$3, _templateObject7$3, _templateObject8$2;
1945
1949
  function ErrorModal(_ref) {
1946
1950
  var title = _ref.title,
1947
1951
  errorReason = _ref.errorReason,
@@ -1958,11 +1962,11 @@ function ErrorModal(_ref) {
1958
1962
  errorReason = 'Oops! Something went wrong';
1959
1963
  }
1960
1964
  var styles = {
1961
- wrapper: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1962
- header: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
1963
- sorry: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 67px;\n "])), theme.cssMixins.rowHCentered),
1964
- content: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: 16px 0;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #d32f2f;\n border-radius: 4px;\n position: relative;\n margin-top: 30px;\n height: 79px;\n "]))),
1965
- errorIcon: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: #d32f2f;\n margin: 0 15px;\n "]))),
1965
+ wrapper: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1966
+ header: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
1967
+ sorry: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 67px;\n "])), theme.cssMixins.rowHCentered),
1968
+ content: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: 16px 0;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #d32f2f;\n border-radius: 4px;\n position: relative;\n margin-top: 30px;\n height: 79px;\n "]))),
1969
+ errorIcon: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: #d32f2f;\n margin: 0 15px;\n "]))),
1966
1970
  messageWrapper: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n color: #541313;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding-left: 50px;\n "]))),
1967
1971
  errorMessage: material.css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n margin-top: 4px;\n font-size: 14px;\n font-family: 'Uni-Neue-Regular';\n color: #541313;\n cursor: pointer;\n display: -webkit-box;\n line-height: 16px;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 20px;\n "]))),
1968
1972
  okButton: material.css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
@@ -2272,15 +2276,15 @@ var selectWidgetState = function selectWidgetState(state) {
2272
2276
  return state.widget;
2273
2277
  };
2274
2278
 
2275
- function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2276
- var _ref = process.env.NODE_ENV === "production" ? {
2279
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$5() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2280
+ var _ref$1 = process.env.NODE_ENV === "production" ? {
2277
2281
  name: "xtf9sm",
2278
2282
  styles: "&>path{visibility:hidden;}"
2279
2283
  } : {
2280
2284
  name: "6g8s2s-icon",
2281
2285
  styles: "&>path{visibility:hidden;};label:icon;",
2282
2286
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFMb2FkaW5nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1RGEiLCJmaWxlIjoiSHVtYUxvYWRpbmcudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcclxuXHJcbmltcG9ydCB7IExvYWRlckljb24gfSBmcm9tICcuL2ljb25zJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBmdWxsU2NyZWVuPzogYm9vbGVhblxyXG4gIG1pbkhlaWdodD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gSHVtYUxvYWRpbmcoe1xyXG4gIGZ1bGxTY3JlZW4gPSBmYWxzZSxcclxuICBtaW5IZWlnaHQgPSAnMHB4JyxcclxufTogUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xyXG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKVxyXG4gIGNvbnN0IHBhdGhMZW5ndGggPSA0NVxyXG4gIGNvbnN0IFtjb3VudCwgc2V0Q291bnRdID0gdXNlU3RhdGUoMSlcclxuICBjb25zdCBpbnRlcnZhbFRpbWUgPSAzMFxyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGlmIChjb3VudCA8PSBwYXRoTGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgICAgICBgI2h1bWEtbG9hZGVyLXdyYXBwZXIgPiBzdmcgPiBwYXRoOm50aC1vZi10eXBlKCR7Y291bnR9KWAsXHJcbiAgICAgICAgKVxyXG4gICAgICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSdcclxuICAgICAgICAgIHNldENvdW50KChwcmUpID0+IHByZSArIDEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgIGAjaHVtYS1sb2FkZXItd3JhcHBlciA+IHN2ZyA+IHBhdGhgLFxyXG4gICAgICAgIClcclxuICAgICAgICBpZiAoZWxlbWVudHMpIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJ1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIHNldENvdW50KDEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCBpbnRlcnZhbFRpbWUpXHJcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJJbnRlcnZhbChpbnRlcnZhbClcclxuICB9LCBbY291bnRdKVxyXG5cclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICB3cmFwcGVyOiBjc3NgXHJcbiAgICAgICR7dGhlbWUuY3NzTWl4aW5zLnJvd0NlbnRlcmVkfTtcclxuICAgICAgbWluLWhlaWdodDogJHtmdWxsU2NyZWVuID8gJzEwMHZoJyA6IG1pbkhlaWdodH07XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBgLFxyXG4gICAgaWNvbjogY3NzYFxyXG4gICAgICAmID4gcGF0aCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICBgLFxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIChcclxuICAgIDxkaXYgY3NzPXtzdHlsZXMud3JhcHBlcn0gaWQ9J2h1bWEtbG9hZGVyLXdyYXBwZXInPlxyXG4gICAgICA8TG9hZGVySWNvbiBjc3M9e3N0eWxlcy5pY29ufSAvPlxyXG4gICAgPC9kaXY+XHJcbiAgKVxyXG59XHJcbiJdfQ== */",
2283
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
2287
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
2284
2288
  };
2285
2289
  function HumaLoading(_ref2) {
2286
2290
  var _ref2$fullScreen = _ref2.fullScreen,
@@ -2323,7 +2327,7 @@ function HumaLoading(_ref2) {
2323
2327
  }, [count]);
2324
2328
  var styles = {
2325
2329
  wrapper: /*#__PURE__*/react.css(theme.cssMixins.rowCentered, ";min-height:", fullScreen ? '100vh' : minHeight, ";width:50px;height:50px;" + (process.env.NODE_ENV === "production" ? "" : ";label:wrapper;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFMb2FkaW5nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpRGdCIiwiZmlsZSI6Ikh1bWFMb2FkaW5nLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xyXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXHJcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXHJcblxyXG5pbXBvcnQgeyBMb2FkZXJJY29uIH0gZnJvbSAnLi9pY29ucydcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgZnVsbFNjcmVlbj86IGJvb2xlYW5cclxuICBtaW5IZWlnaHQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFMb2FkaW5nKHtcclxuICBmdWxsU2NyZWVuID0gZmFsc2UsXHJcbiAgbWluSGVpZ2h0ID0gJzBweCcsXHJcbn06IFByb3BzKTogUmVhY3QuUmVhY3RFbGVtZW50IHtcclxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcclxuICBjb25zdCBwYXRoTGVuZ3RoID0gNDVcclxuICBjb25zdCBbY291bnQsIHNldENvdW50XSA9IHVzZVN0YXRlKDEpXHJcbiAgY29uc3QgaW50ZXJ2YWxUaW1lID0gMzBcclxuXHJcbiAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICBpZiAoY291bnQgPD0gcGF0aExlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgYCNodW1hLWxvYWRlci13cmFwcGVyID4gc3ZnID4gcGF0aDpudGgtb2YtdHlwZSgke2NvdW50fSlgLFxyXG4gICAgICAgIClcclxuICAgICAgICBpZiAoZWxlbWVudCkge1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnXHJcbiAgICAgICAgICBzZXRDb3VudCgocHJlKSA9PiBwcmUgKyAxKVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICBgI2h1bWEtbG9hZGVyLXdyYXBwZXIgPiBzdmcgPiBwYXRoYCxcclxuICAgICAgICApXHJcbiAgICAgICAgaWYgKGVsZW1lbnRzKSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbidcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBzZXRDb3VudCgxKVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgaW50ZXJ2YWxUaW1lKVxyXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXHJcbiAgfSwgW2NvdW50XSlcclxuXHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgd3JhcHBlcjogY3NzYFxyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dDZW50ZXJlZH07XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICR7ZnVsbFNjcmVlbiA/ICcxMDB2aCcgOiBtaW5IZWlnaHR9O1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYCxcclxuICAgIGljb246IGNzc2BcclxuICAgICAgJiA+IHBhdGgge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8ZGl2IGNzcz17c3R5bGVzLndyYXBwZXJ9IGlkPSdodW1hLWxvYWRlci13cmFwcGVyJz5cclxuICAgICAgPExvYWRlckljb24gY3NzPXtzdHlsZXMuaWNvbn0gLz5cclxuICAgIDwvZGl2PlxyXG4gIClcclxufVxyXG4iXX0= */"),
2326
- icon: _ref
2330
+ icon: _ref$1
2327
2331
  };
2328
2332
  return jsxRuntime.jsx("div", {
2329
2333
  css: styles.wrapper,
@@ -2334,17 +2338,17 @@ function HumaLoading(_ref2) {
2334
2338
  });
2335
2339
  }
2336
2340
 
2337
- var _templateObject$e, _templateObject2$b, _templateObject3$7, _templateObject4$7;
2341
+ var _templateObject$g, _templateObject2$d, _templateObject3$8, _templateObject4$8;
2338
2342
  function WrapperModal(_ref) {
2339
2343
  var title = _ref.title,
2340
2344
  subTitle = _ref.subTitle,
2341
2345
  children = _ref.children;
2342
2346
  var theme = material.useTheme();
2343
2347
  var styles = {
2344
- wrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2345
- header: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Bold';\n font-size: 20px;\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2346
- content: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n "])), theme.cssMixins.rowHCentered),
2347
- bottom: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2348
+ wrapper: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2349
+ header: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Bold';\n font-size: 20px;\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2350
+ content: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n "])), theme.cssMixins.rowHCentered),
2351
+ bottom: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2348
2352
  };
2349
2353
  return jsxRuntime.jsxs(material.Box, {
2350
2354
  css: styles.wrapper,
@@ -2359,7 +2363,7 @@ function WrapperModal(_ref) {
2359
2363
  });
2360
2364
  }
2361
2365
 
2362
- var _templateObject$d, _templateObject2$a;
2366
+ var _templateObject$f, _templateObject2$c;
2363
2367
  function LoadingModal(_ref) {
2364
2368
  var title = _ref.title,
2365
2369
  description = _ref.description,
@@ -2368,8 +2372,8 @@ function LoadingModal(_ref) {
2368
2372
  children = _ref.children;
2369
2373
  var theme = material.useTheme();
2370
2374
  var styles = {
2371
- loader: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
2372
- bottom: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2375
+ loader: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
2376
+ bottom: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2373
2377
  };
2374
2378
  return jsxRuntime.jsxs(WrapperModal, {
2375
2379
  title: title,
@@ -2450,8 +2454,8 @@ var envUtil = {
2450
2454
  checkIsDev: checkIsDev
2451
2455
  };
2452
2456
 
2453
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2454
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2457
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2458
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2455
2459
  var useEA = function useEA() {
2456
2460
  var dispatch = useAppDispatch();
2457
2461
  var _useWeb3React = core.useWeb3React(),
@@ -2467,7 +2471,7 @@ var useEA = function useEA() {
2467
2471
  return shared.EAService.approve(payload, chainId, envUtil.checkIsDev());
2468
2472
  case 3:
2469
2473
  result = _context.sent;
2470
- dispatch(setApproval(_objectSpread$2(_objectSpread$2({}, result), {}, {
2474
+ dispatch(setApproval(_objectSpread$3(_objectSpread$3({}, result), {}, {
2471
2475
  nextStep: nextStep
2472
2476
  })));
2473
2477
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -2503,7 +2507,7 @@ var useEA = function useEA() {
2503
2507
 
2504
2508
  var spinner = "data:image/gif;base64,R0lGODlhuQEjAfcAAFFRUVFRUVFRUVFRUVNTU1dXV1hYWFlZWVlZWVxcXGtra4ODg5GRkZmZmZmZmZmZmZqampubm52dnaGhoaioqLCwsLe3t7y8vL29vb29vb29vb6+vr6+vr6+vr+/v8HBwcTExMjIyMvLy83Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztHR0dfX1+7u7vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBAAj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ3qHAgAIItKhABSgixkCLNNKoAAoxEsZijTwiwEGOge3YI484AtlXBUMOqYCRaKEAAQNQwuiQkEnW+COTY6mowJZcKgABQxxUOSQDWIrFwQJdpkmmQhCI2eOSZX6FApppqsmmmz3G+dWKddZ55UFt4mmjnl2h0Gefax4UpqAtLkAoVxAc2qdCVLr55aNa8Slpl0UeNKOgcCrkJJQQdIqpUZpuuqWpBlWa5KX+CLUpwKy0IiDlqUSlqiqrBXHgKo+JHqQArcTSGiquQVWgKpeOLmRolcEahECx1ApwLLI/0akqrAsFWuMCvBI0bLXUNovtT8qqaq5DKFRQAQfhElQBueT+eW5PutYZb0bj0lvstffuFGmfC9jbEQr+khswUBykugC3H82bMLX7LowTChiXBMHE1Bps8Vgbc0ysxx+HhbDItFZcclco07ryWQu0HO3LJY1KqsoqnSwyzSk9CeXPDEAMEwMiC81zSEAnHXRNRCds9NEf+az0z0+3FDK5t0ItkopTJ33T1bMiULXWHUnddZQ5ZUz2SWcnPfbaWLUN9NtwWyU31XWDZfb+2STnjRXXcvutt9xZCw7p2YUbfrjSiSveFQcQRN6345RXbvnlmGeu+eacd+7556CHLvp37UYOQQU4j15UBaa33rjqR7HeuuuwLwX57LOnXjtPuOP++u5A9Y478EcJPzvxRhnfOvJFKR/578zvdLvxukdvk/LQWy+w8NobJbvpk3f/E8bVi2/++einr/767LfPHAocxB+/+zzJbz+89ON0//3l52/S/vfzH03gB0D5CXAmBbSfRMjXvwM6K4HzgwgDyefAjBAwgRKcIAUreBEIVk+DDOTgRS64vwyCsIEiLAgJDWhCEKYQIxjD3wJPiMIXboSGNbShRk6ow5dosIeSMVEbEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pTdCwgAIfkECQUAmQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc9PT09PT09PT09PT1CQkJKSkpPT09QUFBRUVFTU1NYWFhdXV1iYmJmZmZpaWlpaWlpaWlsbGxycnJ/f3+MjIyampqqqqqvr6+xsbGxsbGxsbGxsbGysrKysrK1tbW4uLi7u7u8vLy9vb29vb2+vr6+vr6+vr7AwMDExMTHx8fKysrMzMzQ0NDV1dXi4uLv7+/7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAzCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiid+VQMEEE1DQAYqJlSDBAzTW+EAFMBZWgY08PjBBjoJ10GOPPwLpFwtDDomjkWix0EEHJUBEQZJDMmlWByxm2SILDVE55ItWirWilloumRCSXvJoZphejUmmlmAihGaaNVLA5ldYvvmmQnPSeeOdXump55oG+VljnIBmxYKgeio0gaEPcJmoVnkyqqVCJRha5EIslFCCpJMiVamlLC70KJ2cToDAqqzaGapR/iWQeulCM3oZZUIVsKorq4i+GpSsLLq60JRDSgDqQRTsqiwChPrqk5uW3spQrDZK0GxBHSy7rLTO/iSrsB9pu+wD3QYVq6Ui5Squsr2Wu9O5b4L70QPrKkuuu0B14GYFx4JU77L4qsXCv8oGnNbABOtqcFoJK7zwWfQ2LMHDZ2XbMLcUn1RCBxV00K9MEf87ccYocVzByShjDBPC/5KMEsowo9zuSyX8+7HLIJkcM8w3vxTyrpviTNLORN9E7aoPUNCz0B6VQPTOSzNN6dMxqyw1V1RXfXVYOmdt9daKZo0y2GGJfbJQTnpMtkZOZw2UjALEHTcBE0S9dkNdx2w3/k0PyO233EHfLRELRf+EwN+IC3Cv4BV5+nVOhyeOeOCMT0WB5JLPXPlTmEuOwOZUVdC55HuDblTfoyN+relKEZA64iOz7tTriC8uO1Ou0y537LcvhbruAqzee1GiAy9A6cMDZfznyTN1ue6aN19U5KlTLr1AGz+J/EzUY2779QKl/eT428f0e+LWSy/++OS/LcHfBBgLvkHs1//kUGmXL3v29rc/P1P9s9//ABhA9g1wKQU04AGTksAnPW6BQFlf/yCoFP7Z74EUfFv/MJjBCNZPfx0MoQhHSMISmvCEKEyh1DrlKRCq8CUsdJynXvgTGdqQhjyxoQ1diEON6VCGuj3MyQ+BGESjDXGGRbTJET+VRJvEUIdNNKIOeRjFkTyRiVXMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzPAEBAAh+QQJBQCZACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQklJSVBQUFZWVlhYWFlZWVpaWmBgYG1tbXNzc3R0dHR0dHV1dXd3d3x8fIGBgYmJiZKSkqGhoaysrLCwsLGxsbKysrKysrKysrKysrOzs7a2tr29vcbGxsvLy8zMzM3Nzc3Nzc3Nzc3Nzc7Ozs7Ozs7OztLS0tjY2Orq6vj4+P7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ADMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJ4H2wwYoooKhYBQ/EKKMEH7hYGAoy5ihjBTYKhqOOQPLY419AFvlAi0OmhQKSD31gJJASJGkWChVQYKWVGzhEwZNASknWBleGaSWTCXEJZI1eggWmmGIyZKaOWab5FZtsClnmmzKiKSdXVdIpJpkGSYBnjIDuiZWfdSq0waAPGMoVCoiyudCgcTqaFaSRhrnQomZGuakECISKAI2WIpXplXYmBOOTniaEwgL+osaKQKOlFnUqlg1xCiQFC30g668IFFprTx/cChGYOwpLEArAAjvsUH0iWulHDzT7K6/PBhVpqh4xa+2v2QoVbZjTfkTBt79yG25PG1Tgrp4iwYpurK2ui9a8stJq7734iqrvvmZV2++oAKNVwcAIlFvwWAgv3BIKHygL07n4quswSe26667CMQn87b8Xk/SBxiS7K3FLHgNbb8gklezyTQcDyzHLIGXsssYzw9SuBBJUAC/NLd9cMtBkUSk0yUSPNfLRGictltFMW+z0VlG7O3VYNgv989V8Hp0zThssUEAAARTwwNdcOwR1yWjXtMHYZMdNdgEnp51ryVvrRIH+3HzH3bbdT+3d9+B/A77UB4MnHoDhVyGg+ODYMj7V44MXIPlUFVA+eN2XG/WA5n0X3rlQn4Mut9SjH1W66WSLnvpPmbNONuevCyV72bU75TjrkeeuFOKs++6U4Jq73vmStNckQfHCI6TiiivmrdPbiRcgvfDQZ7+iUGHDbbbxl2uv/fXNIyW+9uU/hcL52Sef/k/Ps7+B++8TKz+L9S+1/v35M3U/+P3Lyf7OF0CmDDB7BXQKxDYQsQQ68IEQjKAEJ0jBClqwgEu6YFGQx0ENAoWDIPRgT0AYQhHuhIQlNCFOUNhBFa6QhRl04U1gSD8ZpgSGNnwhCXOokxTy8IeWQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUquRYQACH5BAkFAJkAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUlJSWVlZYGBgZmZmaGhoaWlpampqbm5uc3NzdHR0dXV1dXV1eXl5gYGBioqKkpKSmZmZn5+fp6enrq6us7Oztra2uLi4vLy8vb29vb29vr6+vr6+vr6+v7+/wsLCyMjIzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7O0NDQ2dnZ5+fn+Pj4/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AMwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4onhoaAiiot5IIEDMDoAwQUsHvZijDhCgEKNg92I44878vjXBT8WKaOQf0FgZJE0ImmWBxNIIOUFQTJE5JI/QuAkWShEKeWXEjS5kI9YxrilWCiAqaYEEzBEZpkOnBmWl2t+KSZCb5Yp51cu1qnmQlfCeeSeXdHpp5QeKISCoDC2SShXh6p550F5GvloV5GCOelBSpa56UEX3BjmpUllaidDKHRqpKMKTYDAq/6wvsoqqUOFamqVC01QJASJLgRBrMAioCWtRJk6K6oXTDDBBb0u5ECwwUpAbK2Z4uqRq9AG++m0O9laZ7MgZQttnNwGBaWax37kgbjQgluuTyh4IK9J2LIb67bvjiWBvcCmmy9Z+/ILq7//ilWvwPgW/BUKAsOqcFrPCjzsw082bC3FJXlwwcYbuyvTwdkmjPFHHJe88U0gAyvyyB2Z7PJNqUbLMkoau1zyxTPV7PHMI9n8Ms9k+Wwy0EELzTHRYxl9NNJhKc0s02GhoDTUYtVs88476foqBARTLZHPWOfkQABkl022tF5fJHXJ5prtNtkEpM2VB2/XHbfcWRFQd/7d5OJd1QR77x2230zpHfjbfRMOFQqH7624VBc0XjfOjycVueRuU175UZdjXrbmmxfFuOdlh/6U4Z4nbrpSgJM++OpEod646rAnRbfkd9fe1O2B5657QfHKKy/oOI1dN9q/FyT88vMKpbWwXesePPPDJ/8U9cxb7xT2y2vP1PTce88U98KLvxT5zdvUJQJkIzAB8eKjD79KKBAAwP3430+7+QSRb5ME+Qsg/lamPez9T4AIBAABtaei+anEAwlMoAP5R5MARBCBCKAgUC5wQQlq0CcO6CACo/fBmYgQgyXkyQkFGIAU7mSFAWyhC3MCw/xlcIY4QUAN7zcxHNZkAvE7BMDrfDiQBq6IJDuUIREXYsQGkgSAMFwgDptoRJJY8IT7WyJBqFhFK4rwhlpMCBedWBIIXJCEYRzjEUuSqiveLwDICyMTx7iSNcqxIXS8Y0+4qEd4kbGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEymMpfJzGY685nQjKY0p0nNalrzmtjMpja3yc1uevOb4AynOMdJznKa85zoTKc618lOEAUEACH5BAkFAJcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRU1NTWFhYYmJiZ2dnaWlpbGxscXFxeXl5f39/gYGBgoKCgoKCg4ODhoaGi4uLkpKSlZWVmJiYmpqanp6epaWlqqqqr6+vsrKytra2v7+/x8fHy8vLzc3Nzc3Nzc3Nzs7Ozs7Ozs7Ozs7Ozs7Oz8/P09PT39/f9fX1/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALwkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopniUBhE44GIFJKhoGAcu1lhjBTIOpoGNPDoQQY6AkdBjjzgC2VcFQ/ZoJFocaOBkjA8l2aMGS5KlQQVYZgljQzRKaeOPVYZ1pZZacsDQjl7aGCZYY5KpJZQJoZmmi2t+5aabVCok5JwOFFnnVhzc6SZDLc5p5p9btSkolnAi1KWXYCKqlaKLNooQkl5aihAJY+Yp6YqLvtkQpkMeqqcDB6SqqgOafvoTCf6hZvkQB4XeOKqquKrqqatBxVqBqQ6RwAEHrR5UQa7IHrArrz7BGupIJCSbLLNCOXsnSRFIi6yf1P5EKbAhaTttt0MV+1G04uZqLrlipqsuu2lp4C6u68LrFbrzHmBvWvkeoMC+aB0777IAj6WAu/8WrFKTToI7E77SJqzwSQw7aXG9LJFwcLIOTIxSxRZfjNOOuDpAsMcihayykyibBfLKGmDcMlYwq+zwzF3VrDLOYuls8c08a/XyyjIHTZXPJxutFac1l9tp0UovxPTOQckbwNVYHwB11AkJqwGxQimA9dhYc8s1VmKTrXakZ1sVgdpwB5B0206REDfcBNBdlf4Dd8M9t95KEdC32hID/tTgaudt+FN2I0724lA5PrbikDcluOQBFF65Unxj/vfm5WJOOehLve3456QPdQDiHafuVNpxm+36QCTUXvtQVpN9ANCu2+47UU1iGfPsm/r+O/F1G2888k0pvzzzSzl/PPRJSW879UpZfztOgUYQwZbY6yk9ThUEAMD56Acge/gCWW+T3ejHj76+7Buk/E0kyK//+QFsXX9M5tuf/gLwv58oQIACZFsBc4JABC5wJxVooABR98CWHFCC+lNgBWdCAAzqj34brEkHPRg/EIZwJgcgYfxad8KZRECF6FtfC1uSPxgCYIYihKEJcQgTDsDQf8E8HEkEPUjBIKLkhRKUoRFdooEA6o8AQFyiSTggtvMRwAG8k6IWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1ra8pa4zKUud8nLXvryl8AMpjCHScxiGvOYyEwmrwICACH5BAkFAJYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHWVlZWVlZWVlZWVlZWVlZXFxcZWVlb29vdHR0dnZ2e3t7gYGBhYWFiIiIioqKjIyMjY2Njo6OkJCQlJSUnJycpKSkqqqqsbGxtbW1ubm5vLy8v7+/wsLCx8fHy8vLzMzMzc3Nzc3Nzs7Ozs7Ozs7Ozs7Oz8/P0tLS29vb7u7u+Pj4/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4ALQkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopojUBRRQcAEJKiJGQQQ01hjBBjESZuOOEVyQY2Az8mgjjj/2dYGQPBaZFgkbwAgRkjw6qaRYJLDYYos+OgTljllOCdYGV4bZYkMkbGljl152RYKYYqKZkJk1upmmVlayeSWRCsFJI55zbmVnmwwdCWefav4pZkNwykmoVWAaemVDG2xJAUQkSLnoUWs6OiakSE7a0AUJhCqqopcCpamLEAlKIwV8JkTCAv6ixprAAqUWVeefJcmqawK1EnWrmK1+BOuusdLaq1C/thisR6ASK+uyx+5U5ZWkejSss6J6Gu1a2Oq6LVvdyvott+GKOq5a5Zp7LloUpKvtumWRkC68abXbbbX0isTkBtDKFAG27+Zr0gYXFFxwvzDZqyu+An9k8MMF63TBsAsw3LBHBENsMMIXc1Wlxg93XFbGIBdsqchfkVzyySirWbLBLY/1csQxh6UyxBzXfNXNBxO1L8s6V3RzzjdFYIAASAtgQMBBWwR0TxckLXXSRDf9FAVTZy1A1VYvFbXWWT/d9VNHgz01r2NT9bXZU4udtlIJsJ01028zVbbcSUdQd/5UeE9t7N5O3d233oA7FXffSNNd+FFr9+324kQJzjbakDPVONuPVz4U1nJzrTlQl0/t+d6VZp5TBFMv/bmrpZde1M+rs96667E/NXvrtTt1++y5M7U77r0r9TvtwSc1vLQmF8/Q8TdtkAAA0Ef/t/IH7Y7TAtFnH73i1AN/kwHahw8A5dQD9bz44RNevk8XoI++6evHJID74pMfP04k0I/+/Tu1r3/4o+MfSiLwv/BxT4AvIWABs3dABLaEAgvMnsUcqJINRDB6FLzJBQEggAzaRIELnKAHUzK/AnZwhDXJXwFReBMVuu+ELCwa+hoYQ5gcKVQ9qqEOd8jDHvrwh5VADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpR0DAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTk5OTo6Ojw8PEpKSlpaWmRkZGhoaGhoaGhoaGlpaWpqam1tbXR0dHt7e4GBgYWFhYqKio2NjY2NjY6Ojo6OjpKSkpeXl5ubm6CgoKmpqbCwsLi4uMDAwMPDw8jIyMzMzM3Nzc7Ozs7Ozs7Ozs7Ozs/Pz9XV1d3d3ezs7PX19f7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaIlAkffGCCiol9oMEFNNLYAYyFzVjjjhe8iCNgHfAo5I9/mSCkkDcSyVeQR/KopFkfdCCllD42pGOTNVb5JFhTdimlQ1jyqOWWXXlpZkNh7jgmmVpFaWaXVqZJI5tfvXnmQkamqQGdXtnpZZxhrsnnVX7CCeiRSQ66VaFTPnTljh84ZIIGEVQaQaKKFsVoB4ImZEIHM2oQqUOUWmoqppkG9WmhJV1g6qv+EeyZ6lBuvllSB7DCiuqsPtVqKEm55sorUau6aBKuwb466rBruZqsqbIyq9azr14g7VrUmmrttWk5m2203JqFbLadhhtWthFsa+5ZH5C7bkvlyjRurru+SxKLLbYY70tGwtqjvSnlK7CxOX2qgQacApwSvgPrqzC7DQv8MJQR5zsxWQxXfDFZFVu8sVgdt/ixWBkPPPJYJTt88lgm03oBAzAz8O/KYD0Q880y09yVCTj3/IDOW/UsdARAY/Wy0D3XW/RTSCO9NFUdNC30vk8fpYHUSVcd1dFYx6y01khd3bXXYD8V9dgwU132UGjDvPZTXGP99dtGjU003U7xLPX+z3hDZbPQ6vZtdtwXLCu4QSYknvjhUynuOONQOS455HlLrjjlTVl+OeZLab4450p5rjboPmmuU9QGpG7AA3OTPjlOHzCg+uwGMDA65bevpAHtvBvQOuk4ddB777kDH9PwvR9g/E8XIN/778sf7zzvDES/kwnT9269Th9kz3vx25/Uvfezgx9+SdiTr/r5OKm/PvvoBxmr4QdF4H7g8H8kvAD8918A/gRJH/nyJxIG9O+A/fMdQprnPXARkCMGQKAE+ae0B2QPgA/MyAEmyMFO2Q95GMzgRTTAQQ4qDyEfsCDtHmA+ES4kgiWcIP0M4qYZujAjH4ghB+92w5VcQIfiEzRAD1nyACBOcIgrMaAREYhElRRxiQdsYkpICEX+CVGKKKki/0KIRZBssIot7OJEcghFLorxIz804hXPeJIIAHGNbDxJBwpQQh7GMSXNo6MVIxDGO2rkc34MpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMZ1wCAgAh+QQJBQCWACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUFBQUFBQUFBQUFBQUpKSllZWWZmZm5ubnJycnR0dHR0dHR0dHR0dHR0dHV1dXV1dXZ2dnh4eHx8fH9/f4GBgYSEhIiIiIyMjJCQkJSUlJeXl5mZmZmZmZqampqamp2dnaGhoaenp62trbGxsbOzs7S0tLe3t7u7u7+/v8LCwsXFxcjIyM3NzdLS0tbW1tvb2+Tk5O7u7vX19f7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AC0JHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKaoonUnhOCiiy+sWNgKL9YYwgkyCvaCjTbimONfPPIY44987RhkjT4SWdYKJzS5AkQtHlmjkmQx2eSVJwzJUJRSukilWFZieaVDXHb5ZVhiptkQjV16eaZXYabZpJYKtRnCk292JaeYdCbEppR5erUnln0mVKaNhQZ61aBXJorQny8m2ZCRG2SpKFIvMCqpQ5megKdDK1wg6qgXbODopT4x+qlIJ5Dq6gX+q6Ia1KAlvfDqq7IWlWasIW1wq6sh5FrUC8SeZOuvrgrrVqvIksqrsmYx26yom0Ib7bSjVmttldiKeuq2YXV7AbhqhYCttuSONe0G6a6FLLvtrkTsvDtJm228Ks2rb7E6vbDCCt/iG9K++gqMFsH7GmwWwgUrTBbD9Do8FsT8ShwWxQFbjBXEGj9McMdlNUzUCb6W+izIW50gwcosr4wuylZd0PLMEgQLs1Yy0zyzzTdbpbLONPd8FdA68yx0VC8QrfPRU62gdNBMR/Xz0yxHHZXTVFdt9VNJZ73y1lB5XTPYT039NNlQ5ay00WgzpXbRbUcVAtAvx60UyaJucLL+3Xz37fffgAcu+OCBzp1AAhfUTfhPGyDg+OOOs734Ty8kAPnlCEgwuVCWY3655pv7JIHnnkseuk0vkE56xqe7dIHqnsPb+k2we57A7DjV7jnutOt+Oe82+Q757cDTNLrwCIxbPElMZnwC8gjsvTxGFxwwwPXXSyA98qBP31EI2IePPfEHPe87695DdIH47A+AQEIh6K54+hFt0H777z+qegLo0+/Q/feT3UFC0DnHJWB+/lMfAO83qf4l8CELvB8CH9iRF0Swfd2joElOcEH25U+DJgFfB8P3QRCShIMjxF4JTSgSC6bwespjIUkQ8MIBSE+GGxHhCFeIw5BYb4SqE+zhRVx4wRgKcSQrKOIRUZKA+x0giEvUyAsad73MQTGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuDxaQAAAIfkECQUAJQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdRUVFRUVFRUVFRUVFRUVFUVFRZWVlhYWFpaWlvb29ycnJ0dHR1dXV1dXV3d3eAgICKioqPj4+VlZWZmZmbm5uioqKqqqqwsLC3t7e/v7/FxcXNzc3c3Nze3t7r6+vx8fH7+/v+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBLCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqKJ1G1xAAQUXZLDiYS6+aCMFG8w4WI032pijjn/x2KONQP415JAyFmnWBhtk8ONDGxzZ4wVKktVkBlhmCaWUPVYp1pVZhulQlFy+SKWXYIWpppMOlWkmml+BuSaWDgl5JJxxzilmQ2RKeSaeXMk555ZH/gnoVoKuGZGdT46ZwQWNHmqUnlpKxKREFESg6aaGSjoUpWyStMGmpGpKgaeTzhlpSKW2eiqq/kQJelKmrZaaJKxu1eoqrm6NqmupvLaVwa+lrhpsWcMSu6mxx47lq7IRNLsWtBG8Ki1aF0DL7LVi0aprp9ya5W2p4IZ7EpPbzhQlqZCauxK68Lq7Frz0ypsWvfHauyS+6Oq7L7+X+usswOkKjCjABluJcMID18vwkkhdIPGtD4M1agMYZ2xtxVxdkPHHGD9QMMdQZQDyyQ2QrNUDKIP8gMpXedwyyCPDnBTLM3+8sc1Q5ewyz1P5DDLQUgmd8ctEQ4Wz0DsnvZTMQtfs9FBGIz21Uyb7fHVUUJ8s8tZRXQxy02A/JXGMZaet9tpst+3223Af26KZUse9k8kG5K33/td2E/WA3oDrTXbfO/0d+OGDE37TBYc3bgDFiueEgOOHpxy5ToxTfjjkl9MUgeaId45TA6AHbrXoNJFe+t6o22T46gYk3jpLFMCed7mzt7SB7QjkLhLeAgSPgOwlvA468b5TtAECwTffvAG4C6S65pYnz9EGzmff/OkFLU+99R1hr/34shsPeLTgc8T8+OOnG6XqDeCYPkcXsM9+7/Oz1ID97OfPEv/si57/QCI+AGYPfQM0SQEN2DwEJrAkDMwe8h64kQg6T4AU5MgDLBi8DCqQg9zzYEg2yEADiPAk6wMg504YkhSOzwB1Y2FGaje+EMqwJBmgQMgweMMe+vCHhEAMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTk4tIAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhz09PT09PT09PT09PT09PT8/P0REREpKSk5OTlBQUFBQUFFRUVFRUVFRUVFRUVFRUVRUVF9fX25ubnp6en9/f4GBgYGBgYGBgYKCgoODg4eHh5CQkJmZmaGhoaurq7CwsLGxsbW1tby8vMXFxc3Nzdra2uXl5fLy8vv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4nUkgACCCCSseJgILtboooyE0WijjTgG1uKOO/b4F5BACukXkTvGaCRZJIjgpJNKOoSkjSIsOdaTWML40JQ1VmklWE1m+eSWXIIQ5ZddiYnlmQrpOCWaYKmJJZlIsgmnVnKOSWeSd36Vp5MRuXnjRHb2WdSfhYJEAgeMMmqmoUjleRIIjVbKAQiQGhVmlpNaaimmmRa1aaIfLeqppaHGdaqnoKba1qr+nrrqFqyoysoWrZXaeiuujOq6FqW4eulrWrwOu5YItJJqrFimeqrsslc2+ii01FZr7bXYZqvtttx26+23b5HwLLhXgYDBueduICy5WZGwAbrwYsABu1rFa+8G9F7Fgb32tppvVCTwy++/U+0rcLzrEtzUwfbOq/BTDMfr8MMLR4zuxBQvZbDFCWeMVMAWY+CxUxsf7O/ISkWML8pNgcwvxiwzZS686sY8lbg256zzzjz37PPPQJso7rhB98SBBEgnDXPRPpGQ9NNJE820TCJAbbUEUk/90tVXa70TBlxbvbTXM4XdNdk2gWC21VkXLQIGDQggNwQri3T02k+fjLb+QE7L7bffBYy90d14I6032iIU8Pfic4ekduFId0w2CYozzjgEikKO9N4FxW255SJ/BHbhoXP+Agefp+7QvkjL+2zVhbfds+epMy74QBw0oPvuupeOEOFhH+41CbV/3oBCEvCufAMQSD7QBmbfrjUIxX+eUPLLL6/s41Y7Tzbq1TP+e/bZS8AQshtswIHsQIMf/t8IkU++9KY3JML7fx9vUO7yL495/RapHP7MZxDs9U95ALSIBPAnt8NB4IDL814CF3I//OnPIBCM4AQpggH8Oe+BGdwd+zYokAVW73ZwC6HuSFgRE36uAMITCAhU2AACsnAiIIAA4wrgu4SAMIOzMbyhlNIVxIKIIIQ9FOJJ+Nc/GypRJTOUXxKfmJIU8k4CRaSiSdw0Qi168YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pcKCwgAIfkECQUAkgAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFBQUFERERMTExUVFRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhZWVlZWVlZWVlZWVlZWVldXV1jY2NqampycnJ6enqBgYGHh4eLi4uNjY2NjY2Ojo6Ojo6Ojo6Pj4+RkZGVlZWcnJynp6eurq6wsLCxsbGysrKysrKzs7O1tbW5ubm9vb3Dw8PKysrNzc3Ozs7Ozs7f39/p6enu7u7y8vL+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gAlCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqCJ2N9ywomIuxCijiy8OdoOMOLogQ42C5ZgjjTz2daOPOAbpF5E5GnlWi0xGhGSRSo7F5JRANvSkjFFKSWWTDslwpQtZhrXllBBdWWWYXI1JpkNDEokmWGpyyaaPO775VZwtSjSkDGfauRWeKcmAwqA6+plUnCfdMOiii/ZpaFBjJsropCg8ilSeKVE6KZiWwiWopow62ilaoG46qlulMsrpqWuluuiq/qym5YKrKNQZa1qKunorW7OWCuuupIL6K7Bo9aoqsW8NKSqyzDbr7LPQRivttNRWa+212DZ34wjcjjBstli50O24I9gK7lUokEvut+dCJa665C7bLlPwqlvpvFLdUK+6+Er17r7dytuvUf8CPILAAxNVMMAIJyyUvgZz6/BTEY9w78RMLQxvwxgHle6+7HZ8lMbchizyUdt2a/LJLLfs8sswxyzzzDTXbHO+KGyg8wYocHxzTSPsLDTPPwPVwdBDj1B0T0cjnfTSOrngtNM+Q51S01MLrbTVNmXtNNcKudBBBRVocDBJN3iNNNgHoYDAAHDHPUAF5nqUttpCs12Q/gZy9w33xXbjnbfeAlXg9+FbfyS4zh0QLkkHh0de90Y5C76yzTdEHnkFD/XqQsOLOw655ocLfMPYZKdewcoy4F21zG+T7nfibatuewUbLNR61q/LLPvhGiSEwu23575Q5UIDrnfmv/fN+UE3EE887Qkp6zhBzDcf9/MGoS697ddXpL3cjRsU/fe3Ux++Q4aPP4DyAg2P/u3rS+SC+wMgNML89NcfUfvNU59AvMc/svkvIjLQHvcMsr8Cpu6ATvrdAg3iAgeSLXgQhIgMYgc8hliwAvDLIEOG1zcNXE4SDSygCCvipdc58IQr3Mj50BfCGI5EA9+DoQ07IjXb1XCHjSjpHRCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHSceAAAAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzU1NTU1NTU1NTU1NTU1NTU1NTU1NTc3Nz4+PkhISE9PT1BQUFBQUFBQUFBQUFBQUFBQUFFRUVFRUVJSUlVVVVxcXGNjY2dnZ2hoaGhoaGhoaGhoaGlpaWlpaWlpaWlpaWlpaWpqam5ubnJycnZ2dnp6en5+foKCgoaGhomJiYyMjI2NjY2NjY6Ojo+Pj5OTk5qamqamprKysrq6ur29vb6+vsHBwcfHx87OztTU1Nvb2+Pj4+zs7Pv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oos4oRDDTDC2GJhMdZYw4yC2WgjjoDpWCMOPPb1oo8xBnkWDkhKRGSNRpKF5JNJPjTkkk2KBSWUES0pY5VgXYnlQ1py2aWXT2bpI5BiekVmmWb+mOZXa0YpEZtvwrlmSi/KIMONdSZFZkp6Bhpon0hdCaigiBI6F6KM8qmoWzgwyuijb9UgKaJoUrrWpZhqyhangmbqKVqWgiqDqKOeZaoMqa5V6qX+qLZq1quIOiprWpF2eiukse7q66/ABivssMQWa+yxyCar7HCRwgDDqct2hQMMLVRrLQzRaoWDtdxa22u2UHUrLrbgUiWDuOLaWu5T6I67blTbttvtu1DFK6+19D5l770t5Msuvy2Q6+9Blqrb07n8GuxvCxIM4LDDEgjcE78SDwxDww9nPIAECt+0r7jfrtuCxiQ7zGpP07o78EAwlOxyxx7L4Cy0Kw/ksssS1HyUBze7XLHOQPWMM9BD1SC0y0QLNfLRJMOc9E0nME3yyU9PLLXGVFe9kwxXZ6z1T11D/LVPGF/dL001UBuw0zob3TXaJ5Ag99wnhKwzCVf/3BL+DHP3PXfWVVfAtAczyeD34SSwvTLePevdUtyI933C2ALVUHbGHtitkuGR+w341+ee0MLnMUHe+dxnUy6RzGubdPrhqkNUgwcS1G67BKmH9LrfsTvE8O3AV6D5Raa/PnnvC/0O/PLDV8T37iSQjvxAMixvvQQVhIQD9CRMr9D11+fO0IvNS/L86Y57Xz341jcEgwfwxy8+Qi2cPr/3A9HO/vLSD0RC/ACEX/8GUj/EpQ9/+7Ne+nAQwAZ64ICVK6DcWlC+3iVwefcTyP8cGEDF4S8iFwReBt/HwQZ+kCMVCKHtpFdCB3rwhA05gQpr1ysGtjCAGYRhlmZIuIPI4IbsATyeDi+ivwt27IdAjF/3hoiREOZwdkmEnxCZWBEcJHCKB4ki/CBIRYcUcXlc3GASK9hFhdTgBCms3QMdAkUgYrGMK2lBEuFYuhuSkY4hIWED34hHl8DgBPAjQQte2MdCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6PxOQAAAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdBQUFBQUFBQUFBQUFBQUFCQkJFRUVMTExPT09QUFBQUFBQUFBRUVFRUVFRUVFUVFRcXFxkZGRoaGhoaGhoaGhoaGhoaGhpaWlpaWltbW1xcXF6enqDg4OMjIySkpKXl5eZmZmampqampqbm5udnZ2ioqKtra21tbW9vb3Dw8PIyMjOzs7R0dHd3d3j4+Pq6ur4+Pj+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLOa0wosrtGgYjDTGKKNgNdJ4I2A56rijXz36+ONeQcI4JF9FvngkkUUuyWSQTj5ZY5RITknllRUqiaVeK5zg5Zc2bkkXCl+WeUKYYsLVpZllpikXm2y6CRecZsrp1pp0emlnW3jmuWdbeX75J1uBnoDCoIT6iehafba5KKBlHvropJRWaumlmGaq6aacdurpp6CKuQIKKKAZ6lYniKDqqpKemtWq/rCqeoKrWMVq66y0UrWCrbbmShWvt/oqFbC9CgsVsbEaeyyyqyr7FLOyOuvUrsxKa9AKHDQgwLYNcGDqTsziaq1AEGxr7rkYAIXsuAKtoO258ArQwLc5pRprq9a6G+++DQQ1aqnsDvTuvvFCEHBRJxCsML4H/1Suwvtq0LBQECs8MVAoVEwwvRfflLDG8XLccU0ZgwyvyCPTZDK8Kfc0sMnptgzuytuKOxOZhsos0MsV90uTCBwELbQIMn8MMsMuYSv00kGjPK4IINsME9NUc1A0z+fO+3PVTBMtswg8Q+D1TEpzvbTOA5GJtEwnmM201Gg3RKrTHAHt9tBxOyQC/gQN9N23BnRjZPfdHIydN0IrYOD34n13MNLgd8N9+EAr8M044xKHhALhTU+OkOWXM251SJw77rlBGoSu+toabX534DK7q3romS+0qwYY5M6B5AZBTjXvk4M9e+gMiZD78ccDzlDbVbPueerDX45yB8hXn3vgqQYtAvCnKx49484bb331tZ+ekfff+8164uNbb7j5FmWbvt8cU9++9fBndML8fRuM0P3jc17+HgK6772PIAC0HvcG2JD9pc9//0sg8g7IwIjIL3oClCDyFlhBhlwwdBBYIO40iAHYdTAhJyig38qXEPFJkIUnpEjbcqcBEZiQhByMoUhOIMHR6bAloTy8nw9/2JIVjLB6OSRiSailKgEq8YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsNRIQACH5BAkFADcAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUVFRU1NTVlZWWFhYWFhYWFhYWFhYWFhYWVlZW1tbYGBgaGhocHBwc3NzdHR0dHR0dHR0dHR0dXV1dXV1dXV1dXV1dnZ2eXl5fHx8goKCiIiIj4+PlZWVmJiYmZmZmZmZmpqampqam5ubnZ2do6OjqKiora2tsbGxt7e3wMDAx8fHzMzM1NTU5eXl7u7u9vb2/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiizq9MILLSL24owwxjgYjTTaGBiOOOr4F485+tgXkDMKOSSRNRqpF5JJKpkXkk7yBWSUR75I5ZVYZrlVCyt0uUKTWs7l5ZgrhEkXl2R22YKZcaGZZpdgsqnWm2OuKWdbdI55J555drknW32uYOefab3QJ6FsuUnmoIimpaiajbb1ApotxBnppZhmqummnHbq6aeghirqqKSWaupMhpagagllnprVCv6rxlqCpa4+1YKsstJaK1O44rqrVLf2Gquuvx4Fq7CrMlrsUsjG2uqyTB3brLLQIhVss8RWO1Szqmpb0AodPMDAAx9Qu9O1vWbragkCtOuuu8/2JG2u3gqEwbv4ttsBUKmuGq+29+ab7771GvWBwAiXUHBRCDe88LYNI/zvwzw9ELHAGFAM1MUIa/wTxwJ77BPI+YrcEwMku/uAyTx1kHK7CrPs4ssC4GSlzDcEDDLBM936wc8fzCozySvTVALQSAfN8gscM1DT0UkjHbPJOg9c0wpRR23uwy90gHK7DHygrkpZZ41zTy+UHfXZPGGtNtJjs522uAwwgMHUIrn99v7PcePsdd2A1/3AxB2lvTffbC+EQeCM1433R4f/nLhCfzfO+NYaQf024ZPfsILllhcd0uGdI0Q36Iw/ntALmnNukOFll37QC6hbnvFCXWOg++53O6Q50KrLfkMJtVu+0Aq8J4/BBw95ibnsxBfPuEIvKK988MJPFL30gFNuvfLPZ+/Q59wLnlAL3yvPvPgXlV/3+geVkL7y7F9UufS6zq983/W/fnrtPDuI/pLHv/59S3qiQ0gHBri7AhqQICv4H+NupxD5MZCCD5xI1xr3AOwVpHoM9GAGm5csiHyAgSN0yQLn57oUlmSF1muhC0uCvOSJbYYxmVSlcMjDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56ck8BAQAh+QQJBQCSACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzo6Ojk5OTo6Ojw8PEFBQUlJSU9PT1BQUFFRUVFRUVFRUVJSUlVVVV5eXmZmZmhoaGhoaGhoaGlpaWlpaWlpaWlpaW1tbXV1dXx8fICAgIGBgYGBgYGBgYGBgYKCgoKCgoKCgoODg4WFhYiIiIuLi5GRkZaWlpubm6GhoaampqysrK+vr7GxsbKysrKysrW1tbi4uLy8vL29vcDAwMXFxcvLy8zMzNLS0t/f3/r6+v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+ACUJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oostlicDTDC6GJhMdY4o2A15njjXznquGNfPdr4I19BxjgkkEUeSWSQSiIpZJNIQinllFRyZYMMWMpgQ5V3ZemlDFzS9aWXW4YJ15VjZmkmXGmSuaZbbWZZ5ptrxYnlnHSu5MIHH5TgQk5otolnnibZQEEAiCYaAAU42UloSh8oKimiJ9gU6JeDPirSoZNO+oGlY2aqKUiRdtpppZYaOWpJNphqagL+q4LFqauexuoVra/aypUMuJqq61Yn9Nrpn79iFaywkhJbrFUuICspmMta1aqziUaLVQLUBsCAtVeVkC2q3FaFLbLbhmsVr8iKai5Ux+KqbE8yuCCvC+quq5AN43aaQL03zevvu/Y65MKsiFIAME///hvwRKoGlXDCC0v7sMIRUxXvxPPyW3FSF2NM78ZSdYyxxiAbZYPH8pYsFcoHq0yQCyeUcELLCGPsMkIfJKDzzgl86vDDNxvkAgM8F80AtD+JTHLFJxTttM5IB30Uvk8/LXVSFFT99AVXGyWD1lV3XVTOYDsNrthAZV120T6jnfbabLsdlNpw69y23D2RXXf+AmfjvZMLe+u8tN8yEV03o4T7BHjdg6MkwwmQnxA14XqD3TdMj0eu+eR4V/705S/BrPnonMs99NMUlO6SDaO3Djree1Ig+weqv+R66zQnntPtrev+E+u8a+67RI/z+cEJjVsEfPCQD/+QDLJHH/3dITEfufMNnSD99rInP5H1zWOv0MDccz9S5sF777eh5XNPvUfWi69QCe2X33jHEAUvv0L1l/96QScwnvFKMDj0Ra52+2Nf/6T3voLYQIAQ/EDuDNKw/SUEegtk4EIiGEEEWlAiCswgBRo4kAByEIIf5IgIo1cChZwwghNMIUQusMLUXfCFEZRhRsgnQoWYEIfbxtNhRj4gwgn+EIgkFGJEMvg/gRwRiEocYv2aKBAZIJFPLYwiRlxAQwYO7oq00+JGruQ9KwIxi2J0SQmAqL40wu+FbXSjR1gnwBJ4UI54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8lNqQQEACH5BAkFADUAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHREREREREQ0NDSUlJUlJSV1dXWFhYWVlZWVlZW1tbYmJibm5uc3NzdHR0dHR0dXV1dXV1dXV1eHh4fX19gICAgYGBgYGBgoKCgoKCg4ODhoaGjIyMk5OTnJycoqKiqKiora2tsLCwsbGxs7Oztra2urq6vr6+xcXFysrKzMzM1tbW39/f7Ozs8fHx9vb2/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AawgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiy26OKLMMYo44w01mjjjTjmqOOOPPboo3wpBJnCj3QJaeSQRL51pJFJKrmkkE229SSUUao1JZVVonVlkFmyZMIIJuy0ZZcodYCAAGiiuUAHOI1JJkkpEJDmnGgigGRNU75J0gh09onmnTQtqedIJvhpKKCDanWmoX0ukChXfDLqZ5iPZrWApH5iUGlWmPpJwKZXpdCpn6BaJeqodJZqFaqpqkoVq/5pIuAqVRDAKsAGs05VKKyI5urUpahq6utUi2Iq67BUySnpsUClYIIJvSKrEAaM4grUlyNkm2200iLUwQJyErCmUNhqqy2l3U6VgrnsjsBtuku12y68UsnLLr1QrWuvtvhCtS+//Tr1b7YBO6Wvve/262zCOpXLLroFCzTCAghUXDEEEPvk8LYRD5QCxRaHjAAEQzkLbccei6wyAo6ifBTIK4dMsstEmRmzyiPQPBTMN1vcss4/mdDzygwDTZPNQ4ecs9E9IZ10xUszvZPTT0ctdU4jPB1y0VfDpLXFXfO0wddshr2T1j8Hiu3JXWedNNcpdSD33B1YzbTbN8NdJv7dfJs9tsrW1sT34GWHPcLcGc9kAuF86222S4zzbffjN0XeN+UOfVm34xdZTjfmDHUAweikY1yS53ODnlAKpbcOQeAhLe4550yz7nrrsIOEuuoIYXC764l3lILltBttwu+3R8QlRLIPXrzRGyDvOtfDY2A9BhtMrtDhc2vPu0DSu+49QR1cbz7233cUfuuFe3v++bmnb9H6pbdvkAnvv2+//BTRT/r4NShf/s7HP4yIzn8LGeD7AFjAhvhvfwRJgQLPB8EGPuSA4VsI/iZ4vQpa0CEY/B3DJMhB63nwgw0JYeu4VkLrBQ+FEAkhBhhIvhbC0CUb4CANbxi7CZ6Qh5lwyuECgQiTxeUwe0RMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycoJBQQAIfkECQUANQAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYdSUlJSUlJSUlJVVVVYWFhYWFhZWVlZWVlaWlpfX19tbW1ycnJ0dHR0dHR0dHR0dHR0dHR1dXV1dXV1dXV4eHiCgoKKioqNjY2NjY2Ojo6Ojo6Ojo6Ojo6QkJCUlJSZmZmhoaGqqqqxsbG1tbW6urq8vLy9vb2/v7/CwsLHx8fOzs7U1NTi4uLz8/P4+Pj+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBrCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogklmjiiSimqOKKLLbo4oswxijjjDTWaOONOOao44489ujjj0CupMKQRAYZF5FIqmCkW0kmuSRbTSL55FpRFjllWlUOeSWWWW55kgoVHADAmAdsoORNXXpZkgRjtunmBjhVqSZJYrppJwAKxCnlnCMpcOefEvDp1QZ/FvqBoFwVqiiiWn2gaKEiMIoVm4/eWYGkV1X6Z56YVqXpnQd06umnbnIqqlSUkgoAnKdKJYKq/mOe0OpUsIY6q6uqynqrVBV8yuquvFZ6qFBaAvvQCXXaqcCZP6lwwrPQMmvsQidsUIEEFXwgrU/OQuvtttNC5e24uoYbFbnjgmvuUuiOu6647UL77lPxyjtvU/WeoO69R9XLr1Pdkrvvuip8oMABCEswbFABR/vvQB8gLPHEkQ5V7MMChTnxxmVifNQGHIe8sMcMh2wyyUNpbPLGv6Ls08ohm+oyTyrAHPLMPiFr88YD4zxTzTtP7HNPQQs99E4SFH3ApUfrJILSPTcdk8owM21Tt1FjfDDMgdp0wgdgh12uz0mbbDVNIoSt9gcVDy1C2RJLMPZMX6+t9tw+O5u1/kt22y11T3X3Hfbef7uUtuBiF/6QlSYdjvgHeCteULUSVF75yCIFjnjkkgv0geWgV845RwU/jnnnA20Q+uqjb+R4322jPtDbq69e0utqxy67QLXXfvpHuLO9e0G09x76sRskv4EIhAukwuHMD1+Q6saHnnW1ymevu/QUXVs96FFjn332v3MPEfXfV96zCuO3v0Hr5i/0efqVLySC++3HT5EK9GO7EP7ta57+COK977WOfQDMHvwGeBD+fa9lDUyg9hgokRNUD4IIkaDyFkhBg4DJdw7RYPIE2MGBFMxay4PI/SRYvhKKRIMkdGFGEshBGXrkA+6LoQ03cgIR+FCHjTsMohCHSMQiGvGISEyiEpfIxCY68YlQjKIUp0jFKlrxiljMoha3yMUuevGLYAyjGMdIxjKa8YxoTKMa18jGNrrxjXCMoxznSMc62vGOeMyjHvfIxz768Y+ADKQgB0nIQhrykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHeauAAAAh+QQJBQAvACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh1lZWVJSUlpaWmNjY2dnZ2lpaWlpaW5ubn19fYGBgYGBgYKCgoKCgoKCgoSEhIiIiI2NjZGRkZWVlZiYmJmZmZmZmZmZmZmZmZqampubm56enqKioqioqK6urrKysri4uLu7u729vb+/v8PDw8nJyc3NzdDQ0NnZ2d7e3uXl5fj4+P7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AF8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaOKJKKao4oosfuQBBAxA4EGLhHkAQAA45hgAAzQCdoCOQOI4Y497GRDkkRgQmRcDRzYpgpJ2idDklFDWZeSURw5ZZVxYNmnAlnFJ2eWRYMKFwZhklunWmWgCqaZbHrTp5ptslSCnjnS2dSeOSea5Fpty+qmnnDwKupadaAJgaFtxdqnoom2VcCWSkMLlAZM5AgBBpZxm96IBBhwAwZOdMnpjkAaUUKpaEHTZ56r+ZQGKpZawhoUomrWONemYhebq1a1t+vqVrGjSKmxWmMr56rHI7rkss1e1euez0FZF7JjGVlvVntpqleyYm3ab1amOiqtVo12Sai5W6B4JgLrrNhtkuEGVIMK9Iqgab0UeYOBvtj7hKzC8+2I1sMD6FmzwwfgqjJW9DN+bsMNTRYzvxBRHBXHEGGcMlcUEe/wxxyJXFXHJC5WAAQMsY9CxTxvni3JCJTAA6s2gMvDyzEh5gPPPoO7MM1GSAg300EsdYDTQvSJdlM9LAw2w0z/ZHPXP9FIt1NVAH6A1UVwf/fXWYd/s9dhBKV22AU2j3RMGaxswtds5rX023T9BzXX+yHjvBPfVc7/kweCE902Q3lLfVALhjHsg9NgeqM124C4t3jjjhgt1+eWZA7V5453D/Dnjj4cuk+WjO266Qy+yzIDLJqE++uoMieD67TGalPrgtCt0Ke64lyRC6qWvDjzwWYeUeu8JwXg87pRrNHzjfDMv0PPIQ9QvBqpHBHHxtP+O/e2s+2u+v+Bbr/34wTN0/vuwq6+R+Oy3fRD88MuvUc31s5wy/u+Lnv4a0r/XLWR7ADTfADFCP+y5L4HnWyBGnIe96EHwfOmTYPOwR637XdBfGmQg8tKHQAiGMCOoy6BAPli9E+rugi4UXAJjCBOVBZCGMymBDnHIwx768IeHQAyiEIdIxCIa8YhITKISl8jEJjrxiVCMohSnSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKTFAoIACH5BAkFAC0AIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHZWVlXl5eZmZmb29vdHR0dXV1d3d3fn5+h4eHjIyMjY2NjY2NjY2Njo6OkJCQlZWVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmpqampqam5ubn5+fp6enr6+vs7OzuLi4vLy8wcHBxcXFy8vLzc3Nzs7O0dHR1dXV3t7e7Ozs+/v7/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AWwgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okopqjiiiyCBMKLLRqWQQA01iiABzECBkKNPNqYY18z9ihkACX8mNeOQw5pJF5JJtnAknV50GSSUNI1ZZIZVCnXlUMeoCVcJXCp5JduhSlmj2S+dSaPAqTp1po1PukmWwfAGQAIc7Jl5pp5tlXnmXj2ydaZcgrKlgBXZmmoW0EOGeiib3nwpwANFAnppdl5kMGmj2LaVgNDKuppWiAgmqQAlo5aFpJXpqqqWP6mXtnmq2I1yiWOtIIF56y5drXnma72mpWUcHYqLFbErmnssVYlCyyzWv0qJrRbxcqll9QOq2y2WhUgJrbcZmXtkAWEy9WfXZrblQfe8ljAsj6VIG+w6k70Ir0/zasvvvVWta++/W71L8ABYzXwvAVfdTDCCVu1ML8NO/VwxP4eTLHDA1/MEAgedAxxTwRrnBC7BZRsMq4iP3WAySyXDG7KS63ccssvw3xUAzPnLKrNRZWQ8888H0Xyzy3DG7RPOBPd8s5HAyWz0iYX2jRQSUNdMtNT95SB1SdnHZTPXBfwsdc3Pa201GSDzHXaQoFN9NgtldCxByDAHXQJZked0/7cfBvtdQkZHHBAAxnYzRLfiPvNtk4cI8634YvP5LjjkQM1OeKV/3Q535lHpCmnKG0+d+cOZdDA6ag3gPJIjV+uOOkCpS474SaJDvtCs8++ekhyT367QiDkPvtJif+ukPC6Q1TCvRTJazzuyMvuEOCbVv/68xKVEL30DH1e/ffYb6T99qhv/P35GewefkXkn461QeijD/n6CZlO/tjUx1+9+vRLRP77BfGe/jbVv4t4YHtwE+AAC2hA5NlNgfpj4EUAJzv+ISR/A7SgBCPiPIkMsHobdAkG0Xe9EIpkhNYzIUxA8D0PzE+FMIyhDGdIwxra8IY4zKEOd8jDHvrwh3hADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUnqBAQAIfkECQUAMAAh/h9HZW5lcmF0ZWQgYnkgb25saW5lR0lGdG9vbHMuY29tACwAAAAAuQEjAYc1NTU1NTU1NTU2NjY5OTlHR0dhYWFra2twcHB0dHR0dHR0dHR1dXV2dnZ7e3uEhISLi4uNjY2NjY2NjY2NjY2NjY2NjY2Ojo6QkJCRkZGVlZWcnJyjo6Opqamtra2wsLCxsbGxsbGxsbGysrKysrK4uLjCwsLIyMjOzs7X19fj4+Pu7u7+/v7+/v7+/v7+/v7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8I/gBhCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1izat3KtavXr2DDih1LtqzZs2jTql3Ltq3bt3Djyp1Lt67du3jz6t3Lt6/fv4ADCx5MuLDhw4gTK17MuLHjx5AjS55MubLly5gza97MubPnz6BDix5NurTp06hTq17NurXr17Bjy55Nu7bt27hz697Nu7fv38CDCx9OvLjx48iTK1/OvLnz59CjS59Ovbr169iza9/Ovbv37+DD/osfT768+fPo06tfz769+/fw48ufT7++/fv48+vfz7+///8ABijggAQWaOCBCCao4IIMNujggxBGKOGEFFZo4YUYZqjhhhx26OGHIIYo4ogkgocCCSSgUGJjKDBQQAAwBkCAASSsiNgFBMSoI4wH2FjYATsGGUABKvoIGJBCBkmAkX+RkGSSPTJ5FgoPGFDAlQds0NCLTwpZpJRjHXDlmGRqmZAJXSb5AJhioUDmm2OuidAFaQpZAJthwalnARcgZECdQuL5lZh7wvklQVwCqqOgXblZKJxRFpSoojAyytUDj+p5qEAPUBrjnZZqZWWmb5pJkJOeBsBAqFqRCmef/gbl6GmNrGLl6puwFkQnpaDWetWtZSI0aZom+IoVocDSapCbgOZqbFUbAHulQsw+SYCpz1olrbNzyrpjpNleRcKtBjxEwgUHHPCAsuFmdYGrm7bL1ruFGhCvvGyhgCyZ3OIL14kXXLBBsf4WHB4KCBtMFwkMpOvwA/cqjNYDDlecbr8Sm9WwxRavmjFa6HLMMbYftynyyRGXzFXIJ1uMscpctXwyzGLJLDLNYOlrs8U4g7Uzzz179bPDHge98tBZGi300Ep7RcLP7DatFcsnkyy1Vhu0HPXVXG2w8QEMbM31aQiXnfLYWJltNtpeqa0221y5vTbcWsldNt112302/t5P6b03307ZDXjecw/+0N2Gp30BA4wzbnXiT3nd+ORhQx6V5JRPLrblR5mQ+ed/cw7UA59n/rLoQrVYeuaoJ8Xw6pQT3HpRr8PeuOyzD1W77QzgnntQqvPOQOi/40Q673IWr7vwvisP1OKwn+58T8d/Lj1MhU9vEOaNr5sTCiaELz7xuZOwwfnN0wS++OyTr/1N7Mef/vs9rS9/+O7TL9P98esfFP/s899E7JcSAOJPgBAxQcAWKLCT2O9+CDQXAyeYv4oYMIINOdcEKWgS/mGwIRsMoQPb90GGaDCEDKxgCUuCwg1u7iAoimGKVgiSFk7whQQ5kQxjOD8aWsSG8AzE4UB2uEMV+jAhGwBiwHo4RCLu8IgbUaASM+hEGRoRigZRohBhoMMqxhCLGrHh45blRRmCMSMoQOEYyVhGEjDxjBBBQRIDNkNztfGKcIxiG/MYkzLikY8bqSIgZ9LFOg7ykIhMpCIXychGOvKRkIykJCdJyUpa8pKYzKQmN8nJTnryk6AMpShHScpSmvKUqEylKlfJyla68pWwjKUsZ0nLWtrylrjMpS53ycte+vKXwAymMIdJzGIa85jITKYyl8nMZjrzmdCMpjSnSc1qWvOa2MymNrfJzW5685vgDKc4x0nOcprznOhMpzrXWcuAAAAh+QQJBQA1ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBh0FBQUFBQUFBQUJCQkREREdHR1hYWGlpaXR0dHx8fICAgIGBgYGBgYKCgoKCgoKCgoWFhYqKipKSkpeXl5mZmZmZmZmZmZmZmZmZmZqampqampubm6CgoKioqK2trbCwsLGxsbGxsbKysrKysrKysrOzs7W1tbi4uLy8vMHBwcjIyM/Pz9vb2/X19fv7+/7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AGsIHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaCJTIyAQwIoBGKDBiYihYACLNK74IoyDaVDjjgEcgGNgI/DIo48/9rWCkELeWKRZIzhwwAEIaLBCQw4gKeSSZY1gwJZcbokAQ1YKOQKWYjnQ5ZlbopBQkGHuSCSZXpmJJppqHqRjmzvC6ZWWc86JUJV41qhnV332qSRBEgQq6KBa8VkomgexqWiLjGol56NnTmnQpDZWmtUBmNJ50IyTauqpVaCG2mWdBUmK55v+p1aFgKpdmloQoG0aECtWGtDKpUIH4MnqrlSt4KsBXyqkIpK6EovVrLQOixAKwdboorNa0eoARChooMEItmJ7lYyYwipuW8YWKsG5c/V6JgLSsgvXCiigEK68+Oarr0QpPnmAA2Pu2xYKCPhrMAL3CkzWCAY3/GTACmfp8MQJR+xVwRM3vK3FYjGcscPxcryVBB87fKjIXJXs8MYod6Wyxi1f/LK/LMeslQYzP3myzVetkPMBFfNMlZMvryv0Vj6/fHRXSWeM8NJxTlwz1FytoIEDWEtJ9dZcd+3112CHLfbYZJdt9tkVdYu1AxqEjHZSK0iw9tw7v33UCnPnjXX+0HYHpbfeRvdtVJN/5+224D4VDjjiRSmuN+ND4e343JALJfnkWFcuFOZrax7U1ZhD7HnimI8eFOGKi256T6jrrfrqPVmdd900rWD77bAXVC/fMt3uO++52/T778H/NLzvxcd+PPLJ67Q88803BLxHz9sePUMjeKv94R9Vf31CVmsvPu3dL/89QuGPL/5J5p9vkPrqvy4S9O4TlD782tcvU/b4iz+9QCsYgQDBpb+N8K9/3vrfABcovwLyC4Hamx4DGejAi3QLguSz3wQpWMGKYLCBrdrgAjtYkQPiT4IiHOD/SGgQE44PhCFMIQFZOBEXJvAhMhTgCmloEBSoMCKoOYQhD0MSwBRyb4gh8aEIkciSInKQiU30ob2gSMUqWvGKWMyiFrfIxS568YtgDKMYx0jGMprxjGhMoxrXyMY2uvGNcIyjHOdIxzra8Y54zKMe98jHPvrxj4AMpCAHSchCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWxAoIACH5BAkFADYAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHUVFRUVFRUVFRUVFRUlJSVVVVV1dXY2NjcnJyfn5+ioqKjY2NjY2NjY2Njo6Ojo6Ojo6OkJCQlZWVmJiYmZmZmZmZmZmZmZmZmpqampqam5ubnJycnp6eo6Ojqampr6+vs7Oztra2urq6vLy8vb29vb29vb29vb29vr6+vr6+vr6+wMDAxMTEzc3N3t7e8fHx+/v7/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AbQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoYlMZJHCAAQg80MKJiSUgwIw0znjAizAO1oIBNfY4YwY5Csajjz6CEORfBxCpJI5HngVCBlCm4BAISip5QJNltZCAAVx2eQCQCyVZJZFYjgVCl2h2icBCYyoJZplenZnmnFci1EKbRCYAp1c7zumnngelgKePa+7J1ZZ++skkQYIOWmOhhmqVaKIPIORojW9GepWck6ZZp0FDXrqoplVl0KmfCD1wqQAGkJqVqf6nppnQqka6ehWssXaZEJWDQmprVX3myqJCGeD56a9WrShspgedWWWlyGLFaawOmdojtNFmhUCuUkLUwqjZansqs+G29UCiB9RablwtPKAsi+SuK++89Na7WAsZPKAvCODam9YDCAQscIv+rtXCwAgjAGjBZyWQMMILMzwWwA8jrK7EYVX8MMZigaBxwv1y/OrHFov8FcUkB3yxyVplkLLAK7OMVQovBxyyzFXV7CvOWXmccsw8X4VyxdgGvdXQCBdt9FY+l7w0WC2AIPXNT1dt9dVYZ6311lx37fXXYIftUApQZtCt2FDlq+/aDwCN9lFqs712vG8TFbfca7tdN/5Q7eKN995w+4233oDzJLjfhRN1+N+JC7W43I0LdffhdEeeU9+PU235TY/ru3lQmAv+uVChQz76UCnIfTZO37Z+elGtx6756zbJLjvtP9keO+4+6e467zz5/i3wwQtPPENRl716ScLPDvyTZSuPku/HKwR99NKfZHv1CZGNPfbc2/T994SHnxK+44PvbQspOG++t+mr3xD7KdRv//saoR8/lA7Rb///+MvI/so2tv8Z0H0BTMgAzTY/AzowgRbRX/oK6EAAQrAi3hvfQypowAtG8HpQKl9BOGhBD1ZkdxHxHwdN2BISto+FLawgAmH4EQfOkIYgGR4Od8jDHvrwh4ZADKIQh0jEIhrxiEhMohKXyMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU56cooBAQAh+QQJBQA3ACH+H0dlbmVyYXRlZCBieSBvbmxpbmVHSUZ0b29scy5jb20ALAAAAAC5ASMBhzk5OTk5OTk5OTo6Oj8/P0hISE5OTlBQUFBQUFBQUFJSUlVVVVpaWmBgYGtra3d3d4CAgIqKipCQkJWVlZeXl5iYmJmZmZqampqampqampubm6Wlpa+vr7GxsbGxsbKysrKysrKysrKysra2tru7u729vb29vb6+vr6+vr6+vr6+vsHBwcTExMnJyc/Pz9nZ2e3t7fv7+/7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AG8IHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUq0qNGjSJMqXcq0qdOnUKNKnUq1qtWrWLNq3cq1q9evYMOKHUu2rNmzaNOqXcu2rdu3cOPKnUu3rt27ePPq3cu3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sy5s+fPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fwIMLH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MP+ix9Pvrz58+jTq1/Pvr379/Djy59Pv779+/jz69/Pv7///wAGKOCABBZo4IEIJqjgggw26OCDEEYo4YQUVmjhhRhmqOGGHHbo4YcghijiiCSWaGJTLoSAgQQYpHCiYik4oMCMNCqAwYuGSVDjjgo4gONgEPDIIwM/AhaCkEL6WKRaLqTgAkRIInnjkmWF8IADWGIJwZMLYRBlklSSBUGWZGI5ZUIMfCkkl2F+dWWZZZ55kJpChtDmV2PCCaedCNHJI593bhWCnoQm5OeOgAaa1ZuEluninIfSyKaiWDWqpwQIBRmpApRq5YKlcEKAkAubYpoQBg4EoGoADyTa6VD+MYJK5gMJaernqavmqqoCj74q1KeyZikqmn66OtADuiYbwLC+BhVslnIelOaXxgqErLLJMtusTxI868CkmSL5LUIYYIstuNvqBKys2irkggQPzOgABL3Oaa6ynKbr06Cg0vpRCPdiW6++OqHa6APoanRtwLqaSjBPKTBKZrsdKcBwsko+3FMKGEDwAAQYJMzRxcnmq7FZJOtq8slkWZyyqv6yLObLqkYrs0kphhCCyC25QHMAN6eUAgREF00vTS6TTHHQIXVstNE29/wy0yZJ8PTVUbME8MUDU/3R0FdfzbNKKQTMq9ckWR320w7LtHDDaJe0dtg3hZDn0XGTBPb+3EaPnbdVe/NNtN9/UxW44IQXPpXgRiv+ldqCZ+24VS4wvvTkWDk9d7WYY2X32l13vhXkREsu+lYupH766qy37vrrsMcu++y012777SeloDvuVLmAwe/Ah8z7UyoGH3zowxfFsfHGJ558T8xH/zxSvkff/PRGFW898MhjD/32wXPuPU/ghz8+rOX/7vz5NaVvOvs5aW999/AXDH79RMkPvPj485Qi9z5RXf+OkroCrm+ANTGgAREYFAUukIE/ceADIeg/CQqQgjux4AUxuBDdhcBJKrEgBxmSAp2ZUGcpkeAIO3jCFh4wIxNc4UFy1sITytAmNawh/W6okhzWUCLtG+ThRnzYQojo7oggFKJGiGhDhyARiS9UIkKYqLMdDuSJT5QiRkrIROdhEYpavAgTrSiQJn3xiGEUYw7JWMYzojGNFuGiCQ9oRjfC0SVuTOIdV5LHPeLxi358SR31GMhCGvKQiEykIhfJyEY68pGQjKQkJ0nJSlrykpjMpCY3yclOevKToAylKEdJylKa8pSoTKUqV8nKVrrylbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhrzmMhMpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm+AMpzjHSc5ymvOc6EznMwMCACH5BAkFADAAIf4fR2VuZXJhdGVkIGJ5IG9ubGluZUdJRnRvb2xzLmNvbQAsAAAAALkBIwGHQUFBQUFBQUFBRUVFS0tLUlJSV1dXWVlZWVlZWlpaXV1dbm5uhISEk5OTmJiYmZmZmZmZmZmZmpqanp6ep6enra2tsLCwsbGxsbGxsrKys7OztLS0t7e3urq6vb29wMDAxcXFycnJzMzMzc3Nzc3Nzs7Ozs7Oz8/P1NTU3Nzc7u7u/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////CP4AYQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1atYs2rdyrWr169gw4odS7as2bNo06pdy7at27dw48qdS7eu3bt48+rdy7ev37+AAwseTLiw4cOIEytezLix48eQI0ueTLmy5cuYM2vezLmz58+gQ4seTbq06dOoU6tezbq169ewY8ueTbu27du4c+vezbu379/AgwsfTry48ePIkytfzry58+fQo0ufTr269evYs2vfzr279+/gw/6LH0++vPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZoolMmeOCBCScyJgECMMbIAIstFmZCjDjGKEGNg3mQ448IMMAjYDcC+WMGQ/q1gJFA0phkWRIsIOUCDHjQUJFM5tjAk2RFOeWXCziJ0ItZ/silWF6C+aWYBi1ZZo5ngpWmml8q5OabMbIZZ1Z00rkjQnfiiYCee1o1Z59TJtSAoDEWyhWidCJ5kI+MLuDoVpCq+edBjCJgZUImRAnjAptealSmYJZaUAaCWoqQCf4LBCDrrLK6aipRqH4pKUKLvplQBrQGOyuht/LUQK5SEjtQr0aGiZAHwkYbgLLF4uQBsrYqdC2QqhYkbbQIVBsUA7l+2pAHEjDAgAS7IsTAt9FuKa5PsGYq70fwSjvvT/X2ea9HwOYrrLn78nSolAR79K7AwXZbsE4eZMAutRrFyjCt/z5MlsUXy5qxxmI10PGsDoP8FbQjT2sySya0fFPK4a6cUrrqqttuTBKMfLPMInlQ88/qUpwSAhdny3PPQCctNEpE5xvz0SQlnfTHLzUtrdFQg5SB1EknDBOrwi7gddYfNcA10CW/ZILEEoxNNkhnJ/22WHEDPXdYdf98t/6cea+798l9L/23VGbHnfbgVplQN+JgmVA42oyLhW7NEgge+eWYZ6755px37vnnoIcu+uikE+ly6VSxLcHqbqOOVKirxx67607JbvvqtC+l+u2r75z7ULzf/vtRsAcfu+XD24Su8ccnT1TxzCPvPE3Mzz498NX7fj1P0PO+PVHL8y799zN1v/r45NOUYgYrpu/++/DHL//89GPWMvr1sxRxBvxngH/+J+mfANkHQJwMcICtKyDLDjhABdKEgQP8nwM7AkEBIu9+95vgRirYP8thEIMazMj+Kii4D34whBdZGwcfYkIQotAiIzwgRFrowhdSJIYdnCENT2dDiqyPf6UJfNUOJdjDFO6wiC45IhJZ1sIlqi2DToyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxjHSMYymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73yMc++vGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSclKWvKSmMykJjfJyU568pOgDKUoR0nKUprylKhMpSpXycpWuvKVsIylLGdJy1qSLyAAOw==";
2505
2509
 
2506
- var _templateObject$c, _templateObject2$9, _templateObject3$6, _templateObject4$6, _templateObject5$3, _templateObject6$2, _templateObject7$2;
2510
+ var _templateObject$e, _templateObject2$b, _templateObject3$7, _templateObject4$7, _templateObject5$4, _templateObject6$2, _templateObject7$2;
2507
2511
  function Evaluation$3(_ref) {
2508
2512
  var poolInfo = _ref.poolInfo,
2509
2513
  handleApprove = _ref.handleApprove;
@@ -2549,11 +2553,11 @@ function Evaluation$3(_ref) {
2549
2553
  fetchData();
2550
2554
  }, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool]);
2551
2555
  var styles = {
2552
- wrapper: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2553
- header: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2554
- content: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n margin-bottom: 65px;\n "])), theme.cssMixins.rowHCentered),
2555
- checkWrapper: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n "])), theme.cssMixins.rowVCentered),
2556
- checkIcon: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2556
+ wrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2557
+ header: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
2558
+ content: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n margin-bottom: 65px;\n "])), theme.cssMixins.rowHCentered),
2559
+ checkWrapper: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n "])), theme.cssMixins.rowVCentered),
2560
+ checkIcon: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2557
2561
  congratsWrapper: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding: 0 16px;\n ", "\n margin-top: 60px;\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n "])), theme.cssMixins.rowVCentered),
2558
2562
  bottom: material.css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2559
2563
  };
@@ -2615,7 +2619,7 @@ function Evaluation$3(_ref) {
2615
2619
  });
2616
2620
  }
2617
2621
 
2618
- var _templateObject$b, _templateObject2$8, _templateObject3$5, _templateObject4$5, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2622
+ var _templateObject$d, _templateObject2$a, _templateObject3$6, _templateObject4$6, _templateObject5$3, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2619
2623
  function ChooseAmountModal(_ref) {
2620
2624
  var title = _ref.title,
2621
2625
  tokenIcon = _ref.tokenIcon,
@@ -2645,11 +2649,11 @@ function ChooseAmountModal(_ref) {
2645
2649
  inputTouched = _useState2[0],
2646
2650
  setInputTouched = _useState2[1];
2647
2651
  var styles = {
2648
- subTitle: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n "]))),
2649
- description2: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 16px;\n "])), theme.cssMixins.rowCentered),
2650
- chosenAmountWrapper: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: 10px;\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2651
- chosenAmount: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n font-family: 'Inter-Bold';\n font-size: 32px;\n "]))),
2652
- chosenAmountSymbol: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: 5px;\n letter-spacing: 0.1px;\n "]))),
2652
+ subTitle: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n "]))),
2653
+ description2: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 16px;\n "])), theme.cssMixins.rowCentered),
2654
+ chosenAmountWrapper: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n ", ";\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: 10px;\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2655
+ chosenAmount: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n font-family: 'Inter-Bold';\n font-size: 32px;\n "]))),
2656
+ chosenAmountSymbol: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: 5px;\n letter-spacing: 0.1px;\n "]))),
2653
2657
  inputAmountWrapper: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n margin-bottom: 10px;\n margin-top: 30px;\n "]))),
2654
2658
  inputAmount: material.css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2655
2659
  inputField: material.css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
@@ -2847,14 +2851,14 @@ function ChooseAmount$6(_ref) {
2847
2851
  });
2848
2852
  }
2849
2853
 
2850
- var _templateObject$a;
2854
+ var _templateObject$c;
2851
2855
  function BottomButton(_ref) {
2852
2856
  var variant = _ref.variant,
2853
2857
  _ref$disabled = _ref.disabled,
2854
2858
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
2855
2859
  onClick = _ref.onClick,
2856
2860
  children = _ref.children;
2857
- var styles = material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
2861
+ var styles = material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
2858
2862
  return jsxRuntime.jsx(material.Box, {
2859
2863
  css: styles,
2860
2864
  children: jsxRuntime.jsx(material.Button, {
@@ -2886,7 +2890,7 @@ function ViewOnExplorer(_ref) {
2886
2890
  });
2887
2891
  }
2888
2892
 
2889
- var _templateObject$9, _templateObject2$7;
2893
+ var _templateObject$b, _templateObject2$9;
2890
2894
  function ApproveAllowanceModal(_ref) {
2891
2895
  var poolInfo = _ref.poolInfo,
2892
2896
  _ref$showAutoPayback = _ref.showAutoPayback,
@@ -2915,8 +2919,8 @@ function ApproveAllowanceModal(_ref) {
2915
2919
  }
2916
2920
  }, [handleSuccess, reset, state, symbol]);
2917
2921
  var styles = {
2918
- iconWrapper: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2919
- description: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n margin-top: 14px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n padding: 0 12px;\n "])))
2922
+ iconWrapper: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
2923
+ description: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n margin-top: 14px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n padding: 0 12px;\n "])))
2920
2924
  };
2921
2925
  var sendApprove = React.useCallback(function () {
2922
2926
  send({
@@ -3034,19 +3038,20 @@ function Transfer$6(_ref) {
3034
3038
  });
3035
3039
  }
3036
3040
 
3037
- var _templateObject$8, _templateObject2$6, _templateObject3$4, _templateObject4$4, _templateObject5$1;
3041
+ var _templateObject$a, _templateObject2$8, _templateObject3$5, _templateObject4$5, _templateObject5$2;
3038
3042
  function TxDoneModal(_ref) {
3039
3043
  var content = _ref.content,
3040
- handleAction = _ref.handleAction;
3044
+ handleAction = _ref.handleAction,
3045
+ buttonText = _ref.buttonText;
3041
3046
  var theme = material.useTheme();
3042
3047
  var dispatch = useAppDispatch();
3043
3048
  var reset = utils.useResetAtom(shared.txAtom);
3044
3049
  var styles = {
3045
- wrapper: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
3046
- header: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3047
- content: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 18px;\n color: #423b46;\n margin-top: 64px;\n text-align: center;\n "])), theme.cssMixins.colVCentered),
3048
- check: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered),
3049
- doneButton: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
3050
+ wrapper: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
3051
+ header: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3052
+ content: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 18px;\n color: #423b46;\n margin-top: 64px;\n text-align: center;\n "])), theme.cssMixins.colVCentered),
3053
+ check: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered),
3054
+ doneButton: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
3050
3055
  };
3051
3056
  var handleCloseModal = React.useCallback(function () {
3052
3057
  reset();
@@ -3077,7 +3082,7 @@ function TxDoneModal(_ref) {
3077
3082
  variant: "contained",
3078
3083
  css: styles.doneButton,
3079
3084
  onClick: handleCloseModal,
3080
- children: "DONE"
3085
+ children: buttonText == null ? 'DONE' : buttonText
3081
3086
  })]
3082
3087
  });
3083
3088
  }
@@ -3085,7 +3090,8 @@ function TxDoneModal(_ref) {
3085
3090
  function Success$6(_ref) {
3086
3091
  var poolInfo = _ref.poolInfo,
3087
3092
  creditRecord = _ref.creditRecord,
3088
- handleAction = _ref.handleAction;
3093
+ handleAction = _ref.handleAction,
3094
+ hasNextStep = _ref.hasNextStep;
3089
3095
  var _useAppSelector = useAppSelector(selectWidgetState),
3090
3096
  borrowAmountNet = _useAppSelector.borrowAmountNet;
3091
3097
  var poolUnderlyingToken = poolInfo.poolUnderlyingToken;
@@ -3094,10 +3100,410 @@ function Success$6(_ref) {
3094
3100
  var content = ["".concat(borrowAmountNet, " ").concat(symbol, " is now in your wallet."), "Note: your payment will be automatically deducted on ".concat(dueDate, ".")];
3095
3101
  return jsxRuntime.jsx(TxDoneModal, {
3096
3102
  handleAction: handleAction,
3097
- content: content
3103
+ content: content,
3104
+ buttonText: hasNextStep ? "WHAT'S NEXT" : undefined
3105
+ });
3106
+ }
3107
+
3108
+ var _templateObject$9, _templateObject2$7, _templateObject3$4, _templateObject4$4, _templateObject5$1;
3109
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3110
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3111
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
3112
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
3113
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
3114
+ function getIdFromEventType(eventType) {
3115
+ if (eventType.type === 'directPush') {
3116
+ var directPushEventType = eventType;
3117
+ return directPushEventType.directPushId.value;
3118
+ }
3119
+ if (eventType.type === 'broadcast') {
3120
+ var broadcastEventType = eventType;
3121
+ return broadcastEventType.broadcastId.value;
3122
+ }
3123
+ return '';
3124
+ }
3125
+ function fetchEventTypes(_x) {
3126
+ return _fetchEventTypes.apply(this, arguments);
3127
+ }
3128
+ function _fetchEventTypes() {
3129
+ _fetchEventTypes = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee4(notifiClient) {
3130
+ var _process$env$REACT_AP, _subscriptionConfig$e;
3131
+ var subscribedAlerts, subscriptionConfig, eventTypes;
3132
+ return regenerator.wrap(function _callee4$(_context4) {
3133
+ while (1) switch (_context4.prev = _context4.next) {
3134
+ case 0:
3135
+ _context4.next = 2;
3136
+ return notifiClient.getAlerts();
3137
+ case 2:
3138
+ subscribedAlerts = _context4.sent;
3139
+ _context4.next = 5;
3140
+ return notifiClient.fetchSubscriptionCard({
3141
+ id: (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '',
3142
+ type: 'SUBSCRIPTION_CARD'
3143
+ });
3144
+ case 5:
3145
+ subscriptionConfig = _context4.sent;
3146
+ eventTypes = subscriptionConfig === null || subscriptionConfig === void 0 ? void 0 : (_subscriptionConfig$e = subscriptionConfig.eventTypes) === null || _subscriptionConfig$e === void 0 ? void 0 : _subscriptionConfig$e.map(function (eventType) {
3147
+ var eventTypeId = getIdFromEventType(eventType);
3148
+ var enabled = false;
3149
+ // Check whether the user is subscribed to the event
3150
+ var subscribedAlert = subscribedAlerts === null || subscribedAlerts === void 0 ? void 0 : subscribedAlerts.find(function (alert) {
3151
+ return alert.filterOptions.indexOf(eventTypeId) >= 0;
3152
+ });
3153
+ if (subscribedAlert) {
3154
+ enabled = true;
3155
+ }
3156
+ return _objectSpread$2(_objectSpread$2({}, eventType), {}, {
3157
+ enabled: enabled
3158
+ });
3159
+ });
3160
+ return _context4.abrupt("return", eventTypes);
3161
+ case 8:
3162
+ case "end":
3163
+ return _context4.stop();
3164
+ }
3165
+ }, _callee4);
3166
+ }));
3167
+ return _fetchEventTypes.apply(this, arguments);
3168
+ }
3169
+ function NotifiSubscriptionModal(_ref) {
3170
+ var handleSuccess = _ref.handleSuccess;
3171
+ var theme = material.useTheme();
3172
+ var reset = utils.useResetAtom(shared.txAtom);
3173
+ var dispatch = useAppDispatch();
3174
+ var _useWeb3React = core.useWeb3React(),
3175
+ account = _useWeb3React.account,
3176
+ chainId = _useWeb3React.chainId,
3177
+ provider = _useWeb3React.provider;
3178
+ var _useState = React.useState(),
3179
+ _useState2 = _slicedToArray(_useState, 2),
3180
+ notifiClient = _useState2[0],
3181
+ setNotifiClient = _useState2[1];
3182
+ var _useState3 = React.useState(false),
3183
+ _useState4 = _slicedToArray(_useState3, 2),
3184
+ showSuccessScreen = _useState4[0],
3185
+ setShowSuccessScreen = _useState4[1];
3186
+ var _useState5 = React.useState(false),
3187
+ _useState6 = _slicedToArray(_useState5, 2),
3188
+ isLoading = _useState6[0],
3189
+ setIsLoading = _useState6[1];
3190
+ var _useState7 = React.useState(),
3191
+ _useState8 = _slicedToArray(_useState7, 2),
3192
+ emailAddress = _useState8[0],
3193
+ setEmailAddress = _useState8[1];
3194
+ var _useState9 = React.useState(),
3195
+ _useState10 = _slicedToArray(_useState9, 2),
3196
+ emailValid = _useState10[0],
3197
+ setEmailValid = _useState10[1];
3198
+ React.useEffect(function () {
3199
+ var initializeClient = /*#__PURE__*/function () {
3200
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3201
+ var client;
3202
+ return regenerator.wrap(function _callee$(_context) {
3203
+ while (1) switch (_context.prev = _context.next) {
3204
+ case 0:
3205
+ if (!(account != null && chainId != null)) {
3206
+ _context.next = 5;
3207
+ break;
3208
+ }
3209
+ client = notifiFrontendClient.newFrontendClient({
3210
+ account: {
3211
+ publicKey: account
3212
+ },
3213
+ tenantId: 'humadapp',
3214
+ env: envUtil.checkIsDev() ? 'Development' : 'Production',
3215
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId)
3216
+ });
3217
+ _context.next = 4;
3218
+ return client.initialize();
3219
+ case 4:
3220
+ setNotifiClient(client);
3221
+ case 5:
3222
+ case "end":
3223
+ return _context.stop();
3224
+ }
3225
+ }, _callee);
3226
+ }));
3227
+ return function initializeClient() {
3228
+ return _ref2.apply(this, arguments);
3229
+ };
3230
+ }();
3231
+ initializeClient();
3232
+ }, [account, chainId]);
3233
+ var signMessage = /*#__PURE__*/function () {
3234
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(message) {
3235
+ var signer, signature;
3236
+ return regenerator.wrap(function _callee2$(_context2) {
3237
+ while (1) switch (_context2.prev = _context2.next) {
3238
+ case 0:
3239
+ signer = provider.getSigner();
3240
+ _context2.next = 3;
3241
+ return signer.signMessage(Buffer.from(message));
3242
+ case 3:
3243
+ signature = _context2.sent;
3244
+ return _context2.abrupt("return", ethers.ethers.utils.arrayify(signature));
3245
+ case 5:
3246
+ case "end":
3247
+ return _context2.stop();
3248
+ }
3249
+ }, _callee2);
3250
+ }));
3251
+ return function signMessage(_x2) {
3252
+ return _ref3.apply(this, arguments);
3253
+ };
3254
+ }();
3255
+ var handleEmailAddressChange = function handleEmailAddressChange(event) {
3256
+ var _event$target$value;
3257
+ var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
3258
+ setEmailValid(emailRegex.test((_event$target$value = event.target.value) !== null && _event$target$value !== void 0 ? _event$target$value : ''));
3259
+ setEmailAddress(event.target.value);
3260
+ };
3261
+ var logInAndSubscribe = /*#__PURE__*/function () {
3262
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee3() {
3263
+ var fetchedEventTypes, _iterator, _step, eventType;
3264
+ return regenerator.wrap(function _callee3$(_context3) {
3265
+ while (1) switch (_context3.prev = _context3.next) {
3266
+ case 0:
3267
+ if (!(notifiClient != null && chainId != null)) {
3268
+ _context3.next = 35;
3269
+ break;
3270
+ }
3271
+ setIsLoading(true);
3272
+
3273
+ // Ask user to sign a message to authenticate
3274
+ _context3.prev = 2;
3275
+ _context3.next = 5;
3276
+ return notifiClient.logIn({
3277
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
3278
+ signMessage: signMessage
3279
+ });
3280
+ case 5:
3281
+ _context3.next = 11;
3282
+ break;
3283
+ case 7:
3284
+ _context3.prev = 7;
3285
+ _context3.t0 = _context3["catch"](2);
3286
+ setIsLoading(false);
3287
+ return _context3.abrupt("return");
3288
+ case 11:
3289
+ _context3.next = 13;
3290
+ return fetchEventTypes(notifiClient);
3291
+ case 13:
3292
+ fetchedEventTypes = _context3.sent;
3293
+ _context3.next = 16;
3294
+ return notifiClient.ensureTargetGroup({
3295
+ name: 'Default',
3296
+ emailAddress: emailAddress
3297
+ });
3298
+ case 16:
3299
+ // Intentionally running this in serial because the Notifi ensureAlert can't handle
3300
+ // multiple calls. Notified their team to fix this.
3301
+ // eslint-disable-next-line no-restricted-syntax
3302
+ _iterator = _createForOfIteratorHelper(fetchedEventTypes);
3303
+ _context3.prev = 17;
3304
+ _iterator.s();
3305
+ case 19:
3306
+ if ((_step = _iterator.n()).done) {
3307
+ _context3.next = 25;
3308
+ break;
3309
+ }
3310
+ eventType = _step.value;
3311
+ _context3.next = 23;
3312
+ return notifiClient.ensureAlert({
3313
+ eventType: eventType,
3314
+ inputs: {}
3315
+ });
3316
+ case 23:
3317
+ _context3.next = 19;
3318
+ break;
3319
+ case 25:
3320
+ _context3.next = 30;
3321
+ break;
3322
+ case 27:
3323
+ _context3.prev = 27;
3324
+ _context3.t1 = _context3["catch"](17);
3325
+ _iterator.e(_context3.t1);
3326
+ case 30:
3327
+ _context3.prev = 30;
3328
+ _iterator.f();
3329
+ return _context3.finish(30);
3330
+ case 33:
3331
+ setShowSuccessScreen(true);
3332
+ setIsLoading(false);
3333
+ case 35:
3334
+ case "end":
3335
+ return _context3.stop();
3336
+ }
3337
+ }, _callee3, null, [[2, 7], [17, 27, 30, 33]]);
3338
+ }));
3339
+ return function logInAndSubscribe() {
3340
+ return _ref4.apply(this, arguments);
3341
+ };
3342
+ }();
3343
+ var handleCloseModal = React.useCallback(function () {
3344
+ reset();
3345
+ dispatch(resetState());
3346
+ handleSuccess();
3347
+ }, [dispatch, handleSuccess, reset]);
3348
+ var styles = {
3349
+ disclaimer: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 48px;\n "])), theme.cssMixins.rowCentered),
3350
+ inputField: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n width: 90%;\n font-size: 16px;\n "]))),
3351
+ inputWrapper: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
3352
+ header: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3353
+ check: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: 82px;\n "])), theme.cssMixins.rowHCentered)
3354
+ };
3355
+ if (isLoading) {
3356
+ return jsxRuntime.jsx(LoadingModal, {
3357
+ title: "Notifications"
3358
+ });
3359
+ }
3360
+ if (showSuccessScreen) {
3361
+ return jsxRuntime.jsxs(WrapperModal, {
3362
+ title: "Success",
3363
+ subTitle: "You successfully connected your email",
3364
+ children: [jsxRuntime.jsx(material.Box, {
3365
+ css: styles.check,
3366
+ children: jsxRuntime.jsx(CheckIcon, {})
3367
+ }), jsxRuntime.jsx(BottomButton, {
3368
+ variant: "contained",
3369
+ onClick: handleCloseModal,
3370
+ children: "DONE"
3371
+ })]
3372
+ });
3373
+ }
3374
+ return jsxRuntime.jsxs(WrapperModal, {
3375
+ title: "Connect Your Email",
3376
+ children: [jsxRuntime.jsx(material.Typography, {
3377
+ variant: "body2",
3378
+ margin: "12px 0",
3379
+ children: "Connect your wallet to receive important emails about your account"
3380
+ }), jsxRuntime.jsx(material.Box, {
3381
+ css: styles.inputWrapper,
3382
+ children: jsxRuntime.jsx(material.Input, {
3383
+ css: styles.inputField,
3384
+ type: "email",
3385
+ value: emailAddress,
3386
+ onChange: handleEmailAddressChange,
3387
+ placeholder: "youremail@example.com",
3388
+ startAdornment: jsxRuntime.jsx(material.InputAdornment, {
3389
+ position: "start",
3390
+ children: jsxRuntime.jsx(Email__default["default"], {})
3391
+ })
3392
+ })
3393
+ }), jsxRuntime.jsx(material.Box, {
3394
+ css: styles.disclaimer,
3395
+ children: "You can adjust these settings at any time by clicking the alert icon in the header"
3396
+ }), jsxRuntime.jsx(BottomButton, {
3397
+ variant: "contained",
3398
+ onClick: logInAndSubscribe,
3399
+ disabled: !emailValid || isLoading,
3400
+ children: "CONNECT WALLET"
3401
+ })]
3402
+ });
3403
+ }
3404
+
3405
+ function Notifications$1(_ref) {
3406
+ var handleAction = _ref.handleAction;
3407
+ return jsxRuntime.jsx(NotifiSubscriptionModal, {
3408
+ handleSuccess: handleAction
3098
3409
  });
3099
3410
  }
3100
3411
 
3412
+ var useIsFirstTimeNotifiUser = function useIsFirstTimeNotifiUser(account, chainId) {
3413
+ var _useState = React.useState(false),
3414
+ _useState2 = _slicedToArray(_useState, 2),
3415
+ isFirstTimeNotifiUser = _useState2[0],
3416
+ setIsFirstTimeNotifiUser = _useState2[1];
3417
+ React.useEffect(function () {
3418
+ var checkIsFirstTimeNotifiUser = /*#__PURE__*/function () {
3419
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3420
+ var client, userState, _targetGroups$, _targetGroups$$emailT, targetGroups, emailTargets;
3421
+ return regenerator.wrap(function _callee$(_context) {
3422
+ while (1) switch (_context.prev = _context.next) {
3423
+ case 0:
3424
+ if (!(account != null && chainId != null)) {
3425
+ _context.next = 15;
3426
+ break;
3427
+ }
3428
+ client = notifiFrontendClient.newFrontendClient({
3429
+ account: {
3430
+ publicKey: account
3431
+ },
3432
+ tenantId: 'humadapp',
3433
+ env: envUtil.checkIsDev() ? 'Development' : 'Production',
3434
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId)
3435
+ });
3436
+ _context.next = 4;
3437
+ return client.initialize();
3438
+ case 4:
3439
+ userState = _context.sent;
3440
+ if (!(userState.status !== 'authenticated' && userState.status !== 'expired')) {
3441
+ _context.next = 9;
3442
+ break;
3443
+ }
3444
+ setIsFirstTimeNotifiUser(true);
3445
+ _context.next = 15;
3446
+ break;
3447
+ case 9:
3448
+ if (!(userState.status === 'authenticated')) {
3449
+ _context.next = 15;
3450
+ break;
3451
+ }
3452
+ _context.next = 12;
3453
+ return client.getTargetGroups();
3454
+ case 12:
3455
+ targetGroups = _context.sent;
3456
+ emailTargets = (_targetGroups$ = targetGroups[0]) === null || _targetGroups$ === void 0 ? void 0 : (_targetGroups$$emailT = _targetGroups$.emailTargets) === null || _targetGroups$$emailT === void 0 ? void 0 : _targetGroups$$emailT[0];
3457
+ if (emailTargets == null || emailTargets.emailAddress == null) {
3458
+ setIsFirstTimeNotifiUser(true);
3459
+ }
3460
+ case 15:
3461
+ case "end":
3462
+ return _context.stop();
3463
+ }
3464
+ }, _callee);
3465
+ }));
3466
+ return function checkIsFirstTimeNotifiUser() {
3467
+ return _ref.apply(this, arguments);
3468
+ };
3469
+ }();
3470
+ checkIsFirstTimeNotifiUser();
3471
+ }, [account, chainId]);
3472
+ return {
3473
+ isFirstTimeNotifiUser: isFirstTimeNotifiUser
3474
+ };
3475
+ };
3476
+ var useDoesChainSupportNotifi = function useDoesChainSupportNotifi(account, chainId) {
3477
+ var _useState3 = React.useState(false),
3478
+ _useState4 = _slicedToArray(_useState3, 2),
3479
+ notifiChainSupported = _useState4[0],
3480
+ setNotifiChainSupported = _useState4[1];
3481
+ React.useEffect(function () {
3482
+ var checkNotifiChainSupported = /*#__PURE__*/function () {
3483
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2() {
3484
+ return regenerator.wrap(function _callee2$(_context2) {
3485
+ while (1) switch (_context2.prev = _context2.next) {
3486
+ case 0:
3487
+ if (account != null && chainId != null) {
3488
+ setNotifiChainSupported(shared.doesChainSupportNotifi(chainId, envUtil.checkIsDev(), account));
3489
+ }
3490
+ case 1:
3491
+ case "end":
3492
+ return _context2.stop();
3493
+ }
3494
+ }, _callee2);
3495
+ }));
3496
+ return function checkNotifiChainSupported() {
3497
+ return _ref2.apply(this, arguments);
3498
+ };
3499
+ }();
3500
+ checkNotifiChainSupported();
3501
+ }, [account, chainId]);
3502
+ return {
3503
+ notifiChainSupported: notifiChainSupported
3504
+ };
3505
+ };
3506
+
3101
3507
  function CreditLineBorrow(_ref) {
3102
3508
  var poolNameStr = _ref.poolName,
3103
3509
  poolTypeStr = _ref.poolType,
@@ -3106,7 +3512,8 @@ function CreditLineBorrow(_ref) {
3106
3512
  handleSuccess = _ref.handleSuccess;
3107
3513
  var dispatch = reactRedux.useDispatch();
3108
3514
  var _useWeb3React = core.useWeb3React(),
3109
- account = _useWeb3React.account;
3515
+ account = _useWeb3React.account,
3516
+ chainId = _useWeb3React.chainId;
3110
3517
  var poolName = shared.POOL_NAME[poolNameStr];
3111
3518
  var poolType = shared.POOL_TYPE[poolTypeStr];
3112
3519
  var poolInfo = shared.usePoolInfo(poolName, poolType);
@@ -3117,6 +3524,10 @@ function CreditLineBorrow(_ref) {
3117
3524
  _useAccountStats2 = _slicedToArray(_useAccountStats, 2),
3118
3525
  accountStats = _useAccountStats2[0],
3119
3526
  refreshAccountStats = _useAccountStats2[1];
3527
+ var _useIsFirstTimeNotifi = useIsFirstTimeNotifiUser(account, chainId),
3528
+ isFirstTimeNotifiUser = _useIsFirstTimeNotifi.isFirstTimeNotifiUser;
3529
+ var _useDoesChainSupportN = useDoesChainSupportNotifi(account, chainId),
3530
+ notifiChainSupported = _useDoesChainSupportN.notifiChainSupported;
3120
3531
  var creditRecord = accountStats.creditRecord;
3121
3532
  var accountState = creditRecord === null || creditRecord === void 0 ? void 0 : creditRecord.state;
3122
3533
  React.useEffect(function () {
@@ -3131,6 +3542,13 @@ function CreditLineBorrow(_ref) {
3131
3542
  }
3132
3543
  refreshAccountStats();
3133
3544
  }, [handleApprove, refreshAccountStats]);
3545
+ var setupNotificationsOrClose = React.useCallback(function () {
3546
+ if (isFirstTimeNotifiUser && notifiChainSupported) {
3547
+ dispatch(setStep(WIDGET_STEP.Notifications));
3548
+ } else {
3549
+ handleClose();
3550
+ }
3551
+ }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported]);
3134
3552
  if (!poolInfo) {
3135
3553
  return null;
3136
3554
  }
@@ -3152,8 +3570,11 @@ function CreditLineBorrow(_ref) {
3152
3570
  poolInfo: poolInfo
3153
3571
  }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
3154
3572
  poolInfo: poolInfo,
3155
- handleAction: handleClose,
3156
- creditRecord: creditRecord
3573
+ handleAction: setupNotificationsOrClose,
3574
+ creditRecord: creditRecord,
3575
+ hasNextStep: isFirstTimeNotifiUser
3576
+ }), step === WIDGET_STEP.Notifications && jsxRuntime.jsx(Notifications$1, {
3577
+ handleAction: handleClose
3157
3578
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
3158
3579
  title: "Borrow",
3159
3580
  errorMessage: errorMessage,
@@ -3440,16 +3861,16 @@ function ChooseAmount$4(_ref) {
3440
3861
  });
3441
3862
  }
3442
3863
 
3443
- var _templateObject$7, _templateObject2$5, _templateObject3$3, _templateObject4$3, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
3444
- function _EMOTION_STRINGIFIED_CSS_ERROR__$3() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3445
- var _ref2$1 = process.env.NODE_ENV === "production" ? {
3864
+ var _templateObject$8, _templateObject2$6, _templateObject3$3, _templateObject4$3, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
3865
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$4() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
3866
+ var _ref2$2 = process.env.NODE_ENV === "production" ? {
3446
3867
  name: "pe10bi",
3447
3868
  styles: "width:24px;margin-right:20px"
3448
3869
  } : {
3449
3870
  name: "1y6xri6-ConfirmTransferModal",
3450
3871
  styles: "width:24px;margin-right:20px;label:ConfirmTransferModal;",
3451
3872
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbmZpcm1UcmFuc2Zlck1vZGFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4SHlCIiwiZmlsZSI6IkNvbmZpcm1UcmFuc2Zlck1vZGFsLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbWJpbmVTdHlsZXMgfSBmcm9tICdAaHVtYS1maW5hbmNlL3NoYXJlZCdcclxuaW1wb3J0IEFycm93Rm9yd2FyZElvc0ljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9BcnJvd0ZvcndhcmRJb3MnXHJcbmltcG9ydCB7IEJveCwgQnV0dG9uLCBjc3MsIFR5cG9ncmFwaHksIHVzZVRoZW1lIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xyXG5cclxuaW1wb3J0IHsgUmVjZWlwdEljb24sIFVzZGNJY29uIH0gZnJvbSAnLi9pY29ucydcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICBpdGVtczogW1xyXG4gICAgeyBsZWZ0VGV4dDogc3RyaW5nOyByaWdodFRleHQ6IHN0cmluZyB9LFxyXG4gICAgeyBsZWZ0VGV4dDogc3RyaW5nOyByaWdodFRleHQ6IHN0cmluZyB9LFxyXG4gIF1cclxuICBhY3Rpb25UZXh0OiBzdHJpbmdcclxuICBoYW5kbGVBY3Rpb246ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpcm1UcmFuc2Zlck1vZGFsKHtcclxuICB0aXRsZSxcclxuICBkZXNjcmlwdGlvbixcclxuICBpdGVtcyxcclxuICBhY3Rpb25UZXh0LFxyXG4gIGhhbmRsZUFjdGlvbixcclxufTogUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsIHtcclxuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcclxuXHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgd3JhcHBlcjogY3NzYFxyXG4gICAgICBoZWlnaHQ6IDUxOHB4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICR7dGhlbWUuY3NzTWl4aW5zLmNvbFN0cmV0Y2h9O1xyXG4gICAgYCxcclxuICAgIGhlYWRlcjogY3NzYFxyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dIQ2VudGVyZWR9O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgYCxcclxuICAgIGRlc2NyaXB0aW9uOiBjc3NgXHJcbiAgICAgIGZvbnQtZmFtaWx5OiAnVW5pLU5ldWUtUmVndWxhcic7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgY29sb3I6ICM0OTUwNWI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGAsXHJcbiAgICB0cmFuc2ZlcldyYXBwZXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogNzVweDtcclxuICAgIGAsXHJcbiAgICB0cmFuc2ZlcjogY3NzYFxyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgICAke3RoZW1lLmNzc01peGlucy5yb3dTcGFjZUJldHdlZW5lZH1cclxuICAgICAgJHt0aGVtZS5jc3NNaXhpbnMucm93VkNlbnRlcmVkfVxyXG4gICAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY4ZmE7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBjb2xvcjogIzQ5NTA1YjtcclxuICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGAsXHJcbiAgICB0cmFuc2Zlckl0ZW06IGNzc2BcclxuICAgICAgJHt0aGVtZS5jc3NNaXhpbnMucm93VkNlbnRlcmVkfVxyXG4gICAgYCxcclxuICAgIGFycm93OiBjc3NgXHJcbiAgICAgIEBrZXlmcmFtZXMgYm91bmNlQWxwaGEge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgMjUlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCkgc2NhbGUoMC45KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgMjYlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpIHNjYWxlKDAuOSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDU1JSB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VBbHBoYTtcclxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjRzO1xyXG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cclxuICAgICAgY29sb3I6ICNiMjQ2ZmY7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IGNhbGMoMTUlICsgMzZweCk7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBgLFxyXG4gICAgYXJyb3dGaXJzdDogY3NzYFxyXG4gICAgICBsZWZ0OiBjYWxjKDE1JSArIDIwcHgpO1xyXG4gICAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XHJcbiAgICBgLFxyXG4gICAgb2tCdXR0b246IGNzc2BcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgYCxcclxuICAgIHVzZGNJY29uOiBjc3NgXHJcbiAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICYgPiBwYXRoOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIGZpbGw6ICM3NjcwN2U7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPEJveCBjc3M9e3N0eWxlcy53cmFwcGVyfT5cclxuICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD0naDYnIGNzcz17c3R5bGVzLmhlYWRlcn0+XHJcbiAgICAgICAge3RpdGxlfVxyXG4gICAgICA8L1R5cG9ncmFwaHk+XHJcbiAgICAgIDxCb3ggY3NzPXtzdHlsZXMuZGVzY3JpcHRpb259PntkZXNjcmlwdGlvbn08L0JveD5cclxuICAgICAgPEJveCBjc3M9e3N0eWxlcy50cmFuc2ZlcldyYXBwZXJ9PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudHJhbnNmZXJ9PlxyXG4gICAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50cmFuc2Zlckl0ZW19PlxyXG4gICAgICAgICAgICA8UmVjZWlwdEljb24gY3NzPXt7IHdpZHRoOiAnMjRweCcsIG1hcmdpblJpZ2h0OiAnMjBweCcgfX0gLz5cclxuICAgICAgICAgICAge2l0ZW1zWzBdLmxlZnRUZXh0fVxyXG4gICAgICAgICAgPC9Cb3g+XHJcbiAgICAgICAgICA8QXJyb3dGb3J3YXJkSW9zSWNvblxyXG4gICAgICAgICAgICBjc3M9e2NvbWJpbmVTdHlsZXMoW3N0eWxlcy5hcnJvdywgc3R5bGVzLmFycm93Rmlyc3RdKX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8QXJyb3dGb3J3YXJkSW9zSWNvbiBjc3M9e3N0eWxlcy5hcnJvd30gLz5cclxuICAgICAgICAgIDxCb3g+e2l0ZW1zWzBdLnJpZ2h0VGV4dH08L0JveD5cclxuICAgICAgICA8L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLnRyYW5zZmVyfT5cclxuICAgICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudHJhbnNmZXJJdGVtfT5cclxuICAgICAgICAgICAgPFVzZGNJY29uIGNzcz17c3R5bGVzLnVzZGNJY29ufSAvPlxyXG4gICAgICAgICAgICB7aXRlbXNbMV0ubGVmdFRleHR9XHJcbiAgICAgICAgICA8L0JveD5cclxuICAgICAgICAgIDxBcnJvd0ZvcndhcmRJb3NJY29uXHJcbiAgICAgICAgICAgIGNzcz17Y29tYmluZVN0eWxlcyhbc3R5bGVzLmFycm93LCBzdHlsZXMuYXJyb3dGaXJzdF0pfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxBcnJvd0ZvcndhcmRJb3NJY29uIGNzcz17c3R5bGVzLmFycm93fSAvPlxyXG4gICAgICAgICAgPEJveD57aXRlbXNbMV0ucmlnaHRUZXh0fTwvQm94PlxyXG4gICAgICAgIDwvQm94PlxyXG4gICAgICA8L0JveD5cclxuICAgICAgPEJ1dHRvbiB2YXJpYW50PSdjb250YWluZWQnIGNzcz17c3R5bGVzLm9rQnV0dG9ufSBvbkNsaWNrPXtoYW5kbGVBY3Rpb259PlxyXG4gICAgICAgIHthY3Rpb25UZXh0fVxyXG4gICAgICA8L0J1dHRvbj5cclxuICAgIDwvQm94PlxyXG4gIClcclxufVxyXG4iXX0= */",
3452
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
3873
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$4
3453
3874
  };
3454
3875
  function ConfirmTransferModal(_ref) {
3455
3876
  var title = _ref.title,
@@ -3459,8 +3880,8 @@ function ConfirmTransferModal(_ref) {
3459
3880
  handleAction = _ref.handleAction;
3460
3881
  var theme = material.useTheme();
3461
3882
  var styles = {
3462
- wrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
3463
- header: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3883
+ wrapper: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
3884
+ header: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: -5px;\n "])), theme.cssMixins.rowHCentered),
3464
3885
  description: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n margin-top: 30px;\n text-align: center;\n "]))),
3465
3886
  transferWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n margin-top: 75px;\n "]))),
3466
3887
  transfer: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-family: 'Uni-Neue-Regular';\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 500;\n font-size: 16px;\n color: #49505b;\n padding: 24px 20px;\n margin-bottom: 9px;\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered),
@@ -3486,7 +3907,7 @@ function ConfirmTransferModal(_ref) {
3486
3907
  children: [jsxRuntime.jsxs(material.Box, {
3487
3908
  css: styles.transferItem,
3488
3909
  children: [jsxRuntime.jsx(ReceiptIcon, {
3489
- css: _ref2$1
3910
+ css: _ref2$2
3490
3911
  }), items[0].leftText]
3491
3912
  }), jsxRuntime.jsx(ArrowForwardIosIcon__default["default"], {
3492
3913
  css: shared.combineStyles([styles.arrow, styles.arrowFirst])
@@ -3808,14 +4229,12 @@ function InvoiceFactoringPayment(_ref) {
3808
4229
  });
3809
4230
  }
3810
4231
 
3811
- var _templateObject$6, _templateObject2$4;
3812
- function Evaluation$1(_ref) {
3813
- var _poolInfo$extra;
4232
+ var _templateObject$7, _templateObject2$5;
4233
+ function EvaluationEA(_ref) {
3814
4234
  var poolInfo = _ref.poolInfo,
3815
4235
  handleApproveSuccess = _ref.handleApproveSuccess;
3816
4236
  var theme = material.useTheme();
3817
4237
  var dispatch = useAppDispatch();
3818
- var isDev = envUtil.checkIsDev();
3819
4238
  var _useWeb3React = core.useWeb3React(),
3820
4239
  account = _useWeb3React.account,
3821
4240
  chainId = _useWeb3React.chainId;
@@ -3823,143 +4242,413 @@ function Evaluation$1(_ref) {
3823
4242
  _useState2 = _slicedToArray(_useState, 2),
3824
4243
  loading = _useState2[0],
3825
4244
  setLoading = _useState2[1];
3826
- var _useState3 = React.useState(),
4245
+ var styles = {
4246
+ iconWrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
4247
+ description: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 50px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n "])), theme.cssMixins.rowCentered)
4248
+ };
4249
+ var approveLender = /*#__PURE__*/function () {
4250
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
4251
+ var payload, error;
4252
+ return regenerator.wrap(function _callee$(_context) {
4253
+ while (1) switch (_context.prev = _context.next) {
4254
+ case 0:
4255
+ if (!account) {
4256
+ _context.next = 16;
4257
+ break;
4258
+ }
4259
+ _context.prev = 1;
4260
+ setLoading(true);
4261
+ payload = {
4262
+ poolAddress: poolInfo.pool,
4263
+ lenderWalletAddress: account
4264
+ };
4265
+ _context.next = 6;
4266
+ return shared.EAService.approveLender(payload, chainId);
4267
+ case 6:
4268
+ handleApproveSuccess();
4269
+ setLoading(false);
4270
+ dispatch(setStep(WIDGET_STEP.ChooseAmount));
4271
+ _context.next = 16;
4272
+ break;
4273
+ case 11:
4274
+ _context.prev = 11;
4275
+ _context.t0 = _context["catch"](1);
4276
+ error = _context.t0;
4277
+ setLoading(false);
4278
+ dispatch(setError({
4279
+ errorMessage: error.message
4280
+ }));
4281
+ case 16:
4282
+ case "end":
4283
+ return _context.stop();
4284
+ }
4285
+ }, _callee, null, [[1, 11]]);
4286
+ }));
4287
+ return function approveLender() {
4288
+ return _ref2.apply(this, arguments);
4289
+ };
4290
+ }();
4291
+ if (!loading) {
4292
+ return jsxRuntime.jsxs(WrapperModal, {
4293
+ title: "Lender Approval",
4294
+ subTitle: "This pool requires lender approval",
4295
+ children: [jsxRuntime.jsx(material.Box, {
4296
+ css: styles.iconWrapper,
4297
+ children: jsxRuntime.jsx(ApproveLenderIcon, {})
4298
+ }), jsxRuntime.jsx(material.Box, {
4299
+ css: styles.description
4300
+ }), jsxRuntime.jsx(BottomButton, {
4301
+ variant: "contained",
4302
+ onClick: approveLender,
4303
+ children: "GET APPROVED"
4304
+ })]
4305
+ });
4306
+ }
4307
+ return jsxRuntime.jsx(LoadingModal, {
4308
+ title: "Approval Pending",
4309
+ description: "Waiting for approval confirmation..."
4310
+ });
4311
+ }
4312
+
4313
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$3() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4314
+ var _ref = process.env.NODE_ENV === "production" ? {
4315
+ name: "kekxl7",
4316
+ styles: "font-size:15px;font-family:'Uni-Neue-Regular'"
4317
+ } : {
4318
+ name: "1nnmmpg-message",
4319
+ styles: "font-size:15px;font-family:'Uni-Neue-Regular';label:message;",
4320
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUNnQiIsImZpbGUiOiJIdW1hU25hY2tCYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IEFsZXJ0LCBCb3gsIFNuYWNrYmFyIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgb3BlbjogYm9vbGVhblxyXG4gIHRpdGxlOiBzdHJpbmdcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBzZXZlcml0eTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJ1xyXG4gIGF1dG9IaWRlRHVyYXRpb24/OiBudW1iZXJcclxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBIdW1hU25hY2tCYXIoe1xyXG4gIG9wZW4sXHJcbiAgYXV0b0hpZGVEdXJhdGlvbixcclxuICB0aXRsZSxcclxuICBtZXNzYWdlLFxyXG4gIHNldmVyaXR5LFxyXG4gIG9uQ2xvc2UsXHJcbn06IFByb3BzKSB7XHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgc25hY2tiYXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIGAsXHJcbiAgICBhbGVydDogY3NzYFxyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYCxcclxuICAgIHRpdGxlOiBjc3NgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1Cb2xkJztcclxuICAgIGAsXHJcbiAgICBtZXNzYWdlOiBjc3NgXHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1SZWd1bGFyJztcclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFNuYWNrYmFyXHJcbiAgICAgIG9wZW49e29wZW59XHJcbiAgICAgIGF1dG9IaWRlRHVyYXRpb249e2F1dG9IaWRlRHVyYXRpb24gPz8gNjAwMH1cclxuICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgY3NzPXtzdHlsZXMuc25hY2tiYXJ9XHJcbiAgICA+XHJcbiAgICAgIDxBbGVydFxyXG4gICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XHJcbiAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgIHNldmVyaXR5PXtzZXZlcml0eX1cclxuICAgICAgICBjc3M9e3N0eWxlcy5hbGVydH1cclxuICAgICAgPlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudGl0bGV9Pnt0aXRsZX08L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLm1lc3NhZ2V9PnttZXNzYWdlfTwvQm94PlxyXG4gICAgICA8L0FsZXJ0PlxyXG4gICAgPC9TbmFja2Jhcj5cclxuICApXHJcbn1cclxuIl19 */",
4321
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4322
+ };
4323
+ var _ref2$1 = process.env.NODE_ENV === "production" ? {
4324
+ name: "1qshlh5",
4325
+ styles: "margin-bottom:10px;font-size:16px;font-family:'Uni-Neue-Bold'"
4326
+ } : {
4327
+ name: "1izd7sd-title",
4328
+ styles: "margin-bottom:10px;font-size:16px;font-family:'Uni-Neue-Bold';label:title;",
4329
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJjIiwiZmlsZSI6Ikh1bWFTbmFja0Jhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcclxuaW1wb3J0IHsgQWxlcnQsIEJveCwgU25hY2tiYXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBvcGVuOiBib29sZWFuXHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InXHJcbiAgYXV0b0hpZGVEdXJhdGlvbj86IG51bWJlclxyXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFTbmFja0Jhcih7XHJcbiAgb3BlbixcclxuICBhdXRvSGlkZUR1cmF0aW9uLFxyXG4gIHRpdGxlLFxyXG4gIG1lc3NhZ2UsXHJcbiAgc2V2ZXJpdHksXHJcbiAgb25DbG9zZSxcclxufTogUHJvcHMpIHtcclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICBzbmFja2JhcjogY3NzYFxyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgYCxcclxuICAgIGFsZXJ0OiBjc3NgXHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBgLFxyXG4gICAgdGl0bGU6IGNzc2BcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLUJvbGQnO1xyXG4gICAgYCxcclxuICAgIG1lc3NhZ2U6IGNzc2BcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8U25hY2tiYXJcclxuICAgICAgb3Blbj17b3Blbn1cclxuICAgICAgYXV0b0hpZGVEdXJhdGlvbj17YXV0b0hpZGVEdXJhdGlvbiA/PyA2MDAwfVxyXG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxyXG4gICAgICBjc3M9e3N0eWxlcy5zbmFja2Jhcn1cclxuICAgID5cclxuICAgICAgPEFsZXJ0XHJcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgc2V2ZXJpdHk9e3NldmVyaXR5fVxyXG4gICAgICAgIGNzcz17c3R5bGVzLmFsZXJ0fVxyXG4gICAgICA+XHJcbiAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50aXRsZX0+e3RpdGxlfTwvQm94PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMubWVzc2FnZX0+e21lc3NhZ2V9PC9Cb3g+XHJcbiAgICAgIDwvQWxlcnQ+XHJcbiAgICA8L1NuYWNrYmFyPlxyXG4gIClcclxufVxyXG4iXX0= */",
4330
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4331
+ };
4332
+ var _ref3$1 = process.env.NODE_ENV === "production" ? {
4333
+ name: "184ty7s",
4334
+ styles: "max-width:400px;padding:20px 35px 20px 20px;border-radius:16px;overflow:hidden"
4335
+ } : {
4336
+ name: "1c8l6bv-alert",
4337
+ styles: "max-width:400px;padding:20px 35px 20px 20px;border-radius:16px;overflow:hidden;label:alert;",
4338
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JjIiwiZmlsZSI6Ikh1bWFTbmFja0Jhci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcclxuaW1wb3J0IHsgQWxlcnQsIEJveCwgU25hY2tiYXIgfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xyXG5cclxudHlwZSBQcm9wcyA9IHtcclxuICBvcGVuOiBib29sZWFuXHJcbiAgdGl0bGU6IHN0cmluZ1xyXG4gIG1lc3NhZ2U6IHN0cmluZ1xyXG4gIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InXHJcbiAgYXV0b0hpZGVEdXJhdGlvbj86IG51bWJlclxyXG4gIG9uQ2xvc2U6ICgpID0+IHZvaWRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFTbmFja0Jhcih7XHJcbiAgb3BlbixcclxuICBhdXRvSGlkZUR1cmF0aW9uLFxyXG4gIHRpdGxlLFxyXG4gIG1lc3NhZ2UsXHJcbiAgc2V2ZXJpdHksXHJcbiAgb25DbG9zZSxcclxufTogUHJvcHMpIHtcclxuICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICBzbmFja2JhcjogY3NzYFxyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgYCxcclxuICAgIGFsZXJ0OiBjc3NgXHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBgLFxyXG4gICAgdGl0bGU6IGNzc2BcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLUJvbGQnO1xyXG4gICAgYCxcclxuICAgIG1lc3NhZ2U6IGNzc2BcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LWZhbWlseTogJ1VuaS1OZXVlLVJlZ3VsYXInO1xyXG4gICAgYCxcclxuICB9XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICA8U25hY2tiYXJcclxuICAgICAgb3Blbj17b3Blbn1cclxuICAgICAgYXV0b0hpZGVEdXJhdGlvbj17YXV0b0hpZGVEdXJhdGlvbiA/PyA2MDAwfVxyXG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxyXG4gICAgICBjc3M9e3N0eWxlcy5zbmFja2Jhcn1cclxuICAgID5cclxuICAgICAgPEFsZXJ0XHJcbiAgICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgc2V2ZXJpdHk9e3NldmVyaXR5fVxyXG4gICAgICAgIGNzcz17c3R5bGVzLmFsZXJ0fVxyXG4gICAgICA+XHJcbiAgICAgICAgPEJveCBjc3M9e3N0eWxlcy50aXRsZX0+e3RpdGxlfTwvQm94PlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMubWVzc2FnZX0+e21lc3NhZ2V9PC9Cb3g+XHJcbiAgICAgIDwvQWxlcnQ+XHJcbiAgICA8L1NuYWNrYmFyPlxyXG4gIClcclxufVxyXG4iXX0= */",
4339
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4340
+ };
4341
+ var _ref4 = process.env.NODE_ENV === "production" ? {
4342
+ name: "d11srq",
4343
+ styles: "margin-top:80px"
4344
+ } : {
4345
+ name: "n0k5cs-snackbar",
4346
+ styles: "margin-top:80px;label:snackbar;",
4347
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkh1bWFTbmFja0Jhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUJpQiIsImZpbGUiOiJIdW1hU25hY2tCYXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXHJcbmltcG9ydCB7IEFsZXJ0LCBCb3gsIFNuYWNrYmFyIH0gZnJvbSAnQG11aS9tYXRlcmlhbCdcclxuXHJcbnR5cGUgUHJvcHMgPSB7XHJcbiAgb3BlbjogYm9vbGVhblxyXG4gIHRpdGxlOiBzdHJpbmdcclxuICBtZXNzYWdlOiBzdHJpbmdcclxuICBzZXZlcml0eTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJ1xyXG4gIGF1dG9IaWRlRHVyYXRpb24/OiBudW1iZXJcclxuICBvbkNsb3NlOiAoKSA9PiB2b2lkXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBIdW1hU25hY2tCYXIoe1xyXG4gIG9wZW4sXHJcbiAgYXV0b0hpZGVEdXJhdGlvbixcclxuICB0aXRsZSxcclxuICBtZXNzYWdlLFxyXG4gIHNldmVyaXR5LFxyXG4gIG9uQ2xvc2UsXHJcbn06IFByb3BzKSB7XHJcbiAgY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgc25hY2tiYXI6IGNzc2BcclxuICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIGAsXHJcbiAgICBhbGVydDogY3NzYFxyXG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDM1cHggMjBweCAyMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYCxcclxuICAgIHRpdGxlOiBjc3NgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1Cb2xkJztcclxuICAgIGAsXHJcbiAgICBtZXNzYWdlOiBjc3NgXHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdVbmktTmV1ZS1SZWd1bGFyJztcclxuICAgIGAsXHJcbiAgfVxyXG5cclxuICByZXR1cm4gKFxyXG4gICAgPFNuYWNrYmFyXHJcbiAgICAgIG9wZW49e29wZW59XHJcbiAgICAgIGF1dG9IaWRlRHVyYXRpb249e2F1dG9IaWRlRHVyYXRpb24gPz8gNjAwMH1cclxuICAgICAgb25DbG9zZT17b25DbG9zZX1cclxuICAgICAgY3NzPXtzdHlsZXMuc25hY2tiYXJ9XHJcbiAgICA+XHJcbiAgICAgIDxBbGVydFxyXG4gICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XHJcbiAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgIHNldmVyaXR5PXtzZXZlcml0eX1cclxuICAgICAgICBjc3M9e3N0eWxlcy5hbGVydH1cclxuICAgICAgPlxyXG4gICAgICAgIDxCb3ggY3NzPXtzdHlsZXMudGl0bGV9Pnt0aXRsZX08L0JveD5cclxuICAgICAgICA8Qm94IGNzcz17c3R5bGVzLm1lc3NhZ2V9PnttZXNzYWdlfTwvQm94PlxyXG4gICAgICA8L0FsZXJ0PlxyXG4gICAgPC9TbmFja2Jhcj5cclxuICApXHJcbn1cclxuIl19 */",
4348
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$3
4349
+ };
4350
+ function HumaSnackBar(_ref5) {
4351
+ var open = _ref5.open,
4352
+ autoHideDuration = _ref5.autoHideDuration,
4353
+ title = _ref5.title,
4354
+ message = _ref5.message,
4355
+ severity = _ref5.severity,
4356
+ onClose = _ref5.onClose;
4357
+ var styles = {
4358
+ snackbar: _ref4,
4359
+ alert: _ref3$1,
4360
+ title: _ref2$1,
4361
+ message: _ref
4362
+ };
4363
+ return jsxRuntime.jsx(material.Snackbar, {
4364
+ open: open,
4365
+ autoHideDuration: autoHideDuration !== null && autoHideDuration !== void 0 ? autoHideDuration : 6000,
4366
+ onClose: onClose,
4367
+ css: styles.snackbar,
4368
+ children: jsxRuntime.jsxs(material.Alert, {
4369
+ onClose: onClose,
4370
+ title: title,
4371
+ severity: severity,
4372
+ css: styles.alert,
4373
+ children: [jsxRuntime.jsx(material.Box, {
4374
+ css: styles.title,
4375
+ children: title
4376
+ }), jsxRuntime.jsx(material.Box, {
4377
+ css: styles.message,
4378
+ children: message
4379
+ })]
4380
+ })
4381
+ });
4382
+ }
4383
+
4384
+ var _templateObject$6, _templateObject2$4;
4385
+ var KYCProvider = 'Securitize';
4386
+ var KYCCopiesByState = {
4387
+ verifyIdentity: {
4388
+ description: "Link your ".concat(KYCProvider, " account or create a new one to complete identity verification."),
4389
+ buttonText: 'VERIFY MY IDENTITY'
4390
+ },
4391
+ emailSignatureLink: {
4392
+ description: "Final step: Your digital signature on legal documents is required. Click below to email yourself the DocuSign link.",
4393
+ buttonText: 'EMAIL DOCUSIGN LINK'
4394
+ },
4395
+ resendSignatureLink: {
4396
+ description: "DocuSign link sent successfully. Haven't received it? Check your spam folder or click below to resend it.",
4397
+ buttonText: 'RESEND DOCUSIGN LINK'
4398
+ },
4399
+ docUnderReview: {
4400
+ description: "Documents received and under review. You'll be notified upon approval. Your patience is appreciated.",
4401
+ buttonText: 'THANK YOU'
4402
+ }
4403
+ };
4404
+ var LoadingCopiesByType = {
4405
+ verificationStatus: {
4406
+ description: "Checking your verification status..."
4407
+ },
4408
+ sendDocSignatureLink: {
4409
+ description: "Sending signature link..."
4410
+ }
4411
+ };
4412
+ function EvaluationKYC(_ref) {
4413
+ var poolInfo = _ref.poolInfo,
4414
+ handleClose = _ref.handleClose;
4415
+ var theme = material.useTheme();
4416
+ var dispatch = useAppDispatch();
4417
+ var isDev = envUtil.checkIsDev();
4418
+ var _useWeb3React = core.useWeb3React(),
4419
+ account = _useWeb3React.account,
4420
+ chainId = _useWeb3React.chainId;
4421
+ var _useState = React.useState(),
4422
+ _useState2 = _slicedToArray(_useState, 2),
4423
+ loadingType = _useState2[0],
4424
+ setLoadingType = _useState2[1];
4425
+ var _useState3 = React.useState(KYCCopiesByState.verifyIdentity.description),
3827
4426
  _useState4 = _slicedToArray(_useState3, 2),
3828
4427
  description = _useState4[0],
3829
4428
  setDescription = _useState4[1];
3830
- var _useState5 = React.useState(),
4429
+ var _useState5 = React.useState(KYCCopiesByState.verifyIdentity.buttonText),
3831
4430
  _useState6 = _slicedToArray(_useState5, 2),
3832
- KYCVerifyStatus = _useState6[0],
3833
- setKYCVerifyStatus = _useState6[1];
3834
- var lenderApprovalProvider = (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.lenderApprovalProvider;
3835
- var isKYC = (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) === 'KYC';
3836
- var _useState7 = React.useState('This pool requires lender approval'),
4431
+ buttonText = _useState6[0],
4432
+ setButtonText = _useState6[1];
4433
+ var _useState7 = React.useState(),
3837
4434
  _useState8 = _slicedToArray(_useState7, 2),
3838
- subTitle = _useState8[0],
3839
- setSubTitle = _useState8[1];
3840
- var _useState9 = React.useState('GET APPROVED'),
4435
+ KYCVerifyStatus = _useState8[0],
4436
+ setKYCVerifyStatus = _useState8[1];
4437
+ var _useState9 = React.useState(),
3841
4438
  _useState10 = _slicedToArray(_useState9, 2),
3842
- buttonText = _useState10[0],
3843
- setButtonText = _useState10[1];
4439
+ docSignatureStatus = _useState10[0],
4440
+ setDocSignatureStatus = _useState10[1];
4441
+ var docSignatureCompleted = docSignatureStatus === 'completed';
4442
+ var _useState11 = React.useState(false),
4443
+ _useState12 = _slicedToArray(_useState11, 2),
4444
+ openSnackBar = _useState12[0],
4445
+ setOpenSnackBar = _useState12[1];
3844
4446
  var styles = {
3845
4447
  iconWrapper: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 30px;\n "])), theme.cssMixins.rowCentered),
3846
4448
  description: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 50px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n "])), theme.cssMixins.rowCentered)
3847
4449
  };
3848
- React.useEffect(function () {
3849
- if (isKYC) {
3850
- setDescription("Approval process is run by ".concat(lenderApprovalProvider.provider));
4450
+ var _useMemo = React.useMemo(function () {
4451
+ var envelopeKey = "".concat(poolInfo.pool.toLowerCase(), "-").concat(account === null || account === void 0 ? void 0 : account.toLowerCase());
4452
+ var envelopeLastQueryTimeKey = "".concat(envelopeKey, "-last-query-time");
4453
+ return {
4454
+ envelopeKey: envelopeKey,
4455
+ envelopeLastQueryTimeKey: envelopeLastQueryTimeKey
4456
+ };
4457
+ }, [account, poolInfo.pool]),
4458
+ envelopeKey = _useMemo.envelopeKey,
4459
+ envelopeLastQueryTimeKey = _useMemo.envelopeLastQueryTimeKey;
4460
+
4461
+ // DocuSign GET requests to any specific URL can be called not more often than once every 15 minutes.
4462
+ // https://developers.docusign.com/platform/api-guidelines/#:~:text=Polling,not%20once%20every%2010%20minutes
4463
+ var checkGetDocSignatureStatusIsAvailable = React.useCallback(function () {
4464
+ var lastQueryTime = localStorage.getItem(envelopeLastQueryTimeKey);
4465
+ if (!lastQueryTime) {
4466
+ return true;
3851
4467
  }
3852
- }, [lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.provider, isKYC]);
4468
+ var lastQueryTimeNumber = Number(lastQueryTime);
4469
+ var now = shared.timeUtil.getUnixTimestamp();
4470
+ var diff = now - lastQueryTimeNumber;
4471
+ var fifteenMinutes = 15 * 60;
4472
+ return diff > fifteenMinutes;
4473
+ }, [envelopeLastQueryTimeKey]);
3853
4474
  React.useEffect(function () {
3854
4475
  var fetchData = /*#__PURE__*/function () {
3855
4476
  var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
3856
- var verificationStatus;
4477
+ var verificationStatus, envelopeId, _yield$IdentityServic, status;
3857
4478
  return regenerator.wrap(function _callee$(_context) {
3858
4479
  while (1) switch (_context.prev = _context.next) {
3859
4480
  case 0:
3860
- if (!(account && chainId && isKYC)) {
3861
- _context.next = 11;
4481
+ if (!(account && chainId)) {
4482
+ _context.next = 35;
3862
4483
  break;
3863
4484
  }
3864
4485
  _context.prev = 1;
3865
- setLoading(true);
4486
+ setLoadingType('verificationStatus');
3866
4487
  _context.next = 5;
3867
4488
  return shared.IdentityService.getVerificationStatus(account, poolInfo.pool, chainId, isDev);
3868
4489
  case 5:
3869
4490
  verificationStatus = _context.sent;
3870
4491
  setKYCVerifyStatus(verificationStatus);
3871
- if (verificationStatus.isVerified) {
3872
- setSubTitle('Approval process in progress. Please contact Pool Owner.');
3873
- setButtonText('CONTACT POOL OWNER');
4492
+ if (!verificationStatus.isVerified) {
4493
+ _context.next = 26;
4494
+ break;
3874
4495
  }
3875
- case 8:
3876
- _context.prev = 8;
3877
- setLoading(false);
3878
- return _context.finish(8);
3879
- case 11:
4496
+ envelopeId = localStorage.getItem(envelopeKey);
4497
+ if (envelopeId) {
4498
+ _context.next = 14;
4499
+ break;
4500
+ }
4501
+ setDescription(KYCCopiesByState.emailSignatureLink.description);
4502
+ setButtonText(KYCCopiesByState.emailSignatureLink.buttonText);
4503
+ _context.next = 26;
4504
+ break;
4505
+ case 14:
4506
+ if (checkGetDocSignatureStatusIsAvailable()) {
4507
+ _context.next = 19;
4508
+ break;
4509
+ }
4510
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4511
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4512
+ _context.next = 26;
4513
+ break;
4514
+ case 19:
4515
+ _context.next = 21;
4516
+ return shared.IdentityService.getDocSignatureStatus(envelopeId, chainId, isDev);
4517
+ case 21:
4518
+ _yield$IdentityServic = _context.sent;
4519
+ status = _yield$IdentityServic.status;
4520
+ localStorage.setItem(envelopeLastQueryTimeKey, String(shared.timeUtil.getUnixTimestamp()));
4521
+ setDocSignatureStatus(status);
4522
+ if (status === 'completed') {
4523
+ setDescription(KYCCopiesByState.docUnderReview.description);
4524
+ setButtonText(KYCCopiesByState.docUnderReview.buttonText);
4525
+ // For voided and declined status, we need to send a new link
4526
+ } else if (['voided', 'declined'].includes(status)) {
4527
+ localStorage.removeItem(envelopeKey);
4528
+ localStorage.removeItem(envelopeLastQueryTimeKey);
4529
+ setDescription(KYCCopiesByState.emailSignatureLink.description);
4530
+ setButtonText(KYCCopiesByState.emailSignatureLink.buttonText);
4531
+ } else {
4532
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4533
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4534
+ }
4535
+ case 26:
4536
+ _context.next = 32;
4537
+ break;
4538
+ case 28:
4539
+ _context.prev = 28;
4540
+ _context.t0 = _context["catch"](1);
4541
+ console.error(_context.t0);
4542
+ dispatch(setError({
4543
+ errorMessage: 'Something went wrong, please try again later.'
4544
+ }));
4545
+ case 32:
4546
+ _context.prev = 32;
4547
+ setLoadingType(undefined);
4548
+ return _context.finish(32);
4549
+ case 35:
3880
4550
  case "end":
3881
4551
  return _context.stop();
3882
4552
  }
3883
- }, _callee, null, [[1,, 8, 11]]);
4553
+ }, _callee, null, [[1, 28, 32, 35]]);
3884
4554
  }));
3885
4555
  return function fetchData() {
3886
4556
  return _ref2.apply(this, arguments);
3887
4557
  };
3888
4558
  }();
3889
4559
  fetchData();
3890
- }, [account, chainId, isDev, isKYC, poolInfo.pool]);
3891
- var approveLenderByEA = /*#__PURE__*/function () {
4560
+ }, [account, chainId, checkGetDocSignatureStatusIsAvailable, dispatch, envelopeKey, envelopeLastQueryTimeKey, isDev, poolInfo.pool]);
4561
+ var approveLender = /*#__PURE__*/function () {
3892
4562
  var _ref3 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2() {
3893
- var payload, error;
4563
+ var _ref4, isNotOnboarded, isVerified, issuerId, baseUrl, originUrl, redirectUrl, providerAuthorizeUrl, providerUrl, envelopeId, _yield$IdentityServic2, _envelopeId;
3894
4564
  return regenerator.wrap(function _callee2$(_context2) {
3895
4565
  while (1) switch (_context2.prev = _context2.next) {
3896
4566
  case 0:
3897
- _context2.prev = 0;
3898
- setLoading(true);
3899
- payload = {
3900
- poolAddress: poolInfo.pool,
3901
- lenderWalletAddress: account
3902
- };
3903
- _context2.next = 5;
3904
- return shared.EAService.approveLender(payload, chainId);
3905
- case 5:
3906
- handleApproveSuccess();
3907
- setLoading(false);
3908
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
3909
- _context2.next = 15;
4567
+ if (!docSignatureCompleted) {
4568
+ _context2.next = 3;
4569
+ break;
4570
+ }
4571
+ handleClose();
4572
+ return _context2.abrupt("return");
4573
+ case 3:
4574
+ _ref4 = KYCVerifyStatus || {}, isNotOnboarded = _ref4.isNotOnboarded, isVerified = _ref4.isVerified;
4575
+ if (isVerified) {
4576
+ _context2.next = 14;
4577
+ break;
4578
+ }
4579
+ issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd';
4580
+ baseUrl = shared.configUtil.getKYCProviderBaseUrl(KYCProvider, isDev);
4581
+ originUrl = window.location.href.split('?')[0];
4582
+ redirectUrl = "".concat(originUrl, "?kycProvider=").concat(KYCProvider, "&kycPool=").concat(poolInfo.pool);
4583
+ providerAuthorizeUrl = "".concat(baseUrl, "/#/authorize?issuerId=").concat(issuerId, "&scope=details&details=verification&redirectUrl=").concat(redirectUrl);
4584
+ providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
4585
+ window.location.href = providerUrl;
4586
+ _context2.next = 41;
3910
4587
  break;
3911
- case 10:
3912
- _context2.prev = 10;
3913
- _context2.t0 = _context2["catch"](0);
3914
- error = _context2.t0;
3915
- setLoading(false);
4588
+ case 14:
4589
+ envelopeId = localStorage.getItem(envelopeKey);
4590
+ _context2.prev = 15;
4591
+ setLoadingType('sendDocSignatureLink');
4592
+ if (envelopeId) {
4593
+ _context2.next = 29;
4594
+ break;
4595
+ }
4596
+ _context2.next = 20;
4597
+ return shared.IdentityService.requestDocSignature(account, chainId, isDev);
4598
+ case 20:
4599
+ _yield$IdentityServic2 = _context2.sent;
4600
+ _envelopeId = _yield$IdentityServic2.envelopeId;
4601
+ localStorage.setItem(envelopeKey, _envelopeId);
4602
+ localStorage.setItem(envelopeLastQueryTimeKey, String(shared.timeUtil.getUnixTimestamp()));
4603
+ setOpenSnackBar(true);
4604
+ setDescription(KYCCopiesByState.resendSignatureLink.description);
4605
+ setButtonText(KYCCopiesByState.resendSignatureLink.buttonText);
4606
+ _context2.next = 32;
4607
+ break;
4608
+ case 29:
4609
+ _context2.next = 31;
4610
+ return shared.IdentityService.resendDocSignatureLink(envelopeId, chainId, isDev);
4611
+ case 31:
4612
+ setOpenSnackBar(true);
4613
+ case 32:
4614
+ _context2.next = 38;
4615
+ break;
4616
+ case 34:
4617
+ _context2.prev = 34;
4618
+ _context2.t0 = _context2["catch"](15);
4619
+ console.error(_context2.t0);
3916
4620
  dispatch(setError({
3917
- errorMessage: error.message
4621
+ errorMessage: 'Something went wrong, please try again later.'
3918
4622
  }));
3919
- case 15:
4623
+ case 38:
4624
+ _context2.prev = 38;
4625
+ setLoadingType(undefined);
4626
+ return _context2.finish(38);
4627
+ case 41:
3920
4628
  case "end":
3921
4629
  return _context2.stop();
3922
4630
  }
3923
- }, _callee2, null, [[0, 10]]);
4631
+ }, _callee2, null, [[15, 34, 38, 41]]);
3924
4632
  }));
3925
- return function approveLenderByEA() {
4633
+ return function approveLender() {
3926
4634
  return _ref3.apply(this, arguments);
3927
4635
  };
3928
4636
  }();
3929
- var approveLenderByKYC = function approveLenderByKYC() {
3930
- switch (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.provider) {
3931
- case 'Securitize':
3932
- {
3933
- var issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd';
3934
- var baseUrl = "https://id".concat(isDev ? '.sandbox' : '', ".securitize.io");
3935
- var originUrl = window.location.href.split('?')[0];
3936
- var redirectUrl = "".concat(originUrl, "?type=KYC&pool=").concat(poolInfo.pool);
3937
- var providerAuthorizeUrl = "".concat(baseUrl, "/#/authorize?issuerId=").concat(issuerId, "&scope=details&details=verification&redirectUrl=").concat(redirectUrl);
3938
- var _ref4 = KYCVerifyStatus || {},
3939
- isNotOnboarded = _ref4.isNotOnboarded;
3940
- var providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl;
3941
- window.location.href = providerUrl;
3942
- }
3943
- break;
3944
- }
3945
- };
3946
- var approveLender = function approveLender() {
3947
- switch (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) {
3948
- case 'EA':
3949
- approveLenderByEA();
3950
- break;
3951
- case 'KYC':
3952
- approveLenderByKYC();
3953
- break;
3954
- default:
3955
- approveLenderByEA();
3956
- break;
3957
- }
4637
+ var getEmailLinkSentSnackbar = function getEmailLinkSentSnackbar() {
4638
+ return jsxRuntime.jsx(HumaSnackBar, {
4639
+ open: openSnackBar,
4640
+ title: "Signature Link Sent",
4641
+ message: "The secure signature session link has been sent to your email.",
4642
+ severity: "success",
4643
+ onClose: function onClose() {
4644
+ return setOpenSnackBar(false);
4645
+ }
4646
+ });
3958
4647
  };
3959
- if (!loading) {
4648
+ if (!loadingType) {
3960
4649
  return jsxRuntime.jsxs(WrapperModal, {
3961
4650
  title: "Lender Approval",
3962
- subTitle: subTitle,
4651
+ subTitle: "This pool requires lender approval",
3963
4652
  children: [jsxRuntime.jsx(material.Box, {
3964
4653
  css: styles.iconWrapper,
3965
4654
  children: jsxRuntime.jsx(ApproveLenderIcon, {})
@@ -3969,14 +4658,32 @@ function Evaluation$1(_ref) {
3969
4658
  }), jsxRuntime.jsx(BottomButton, {
3970
4659
  variant: "contained",
3971
4660
  onClick: approveLender,
3972
- disabled: KYCVerifyStatus === null || KYCVerifyStatus === void 0 ? void 0 : KYCVerifyStatus.isVerified,
3973
4661
  children: buttonText
3974
- })]
4662
+ }), getEmailLinkSentSnackbar()]
3975
4663
  });
3976
4664
  }
3977
4665
  return jsxRuntime.jsx(LoadingModal, {
3978
- title: "Approval Pending",
3979
- description: "Waiting for approval confirmation..."
4666
+ title: "Lender Approval",
4667
+ description: LoadingCopiesByType[loadingType].description
4668
+ });
4669
+ }
4670
+
4671
+ function Evaluation$1(_ref) {
4672
+ var _poolInfo$extra;
4673
+ var poolInfo = _ref.poolInfo,
4674
+ handleClose = _ref.handleClose,
4675
+ handleApproveSuccess = _ref.handleApproveSuccess;
4676
+ var lenderApprovalProvider = (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.lenderApprovalProvider;
4677
+ var isKYC = (lenderApprovalProvider === null || lenderApprovalProvider === void 0 ? void 0 : lenderApprovalProvider.type) === 'KYC';
4678
+ if (isKYC) {
4679
+ return jsxRuntime.jsx(EvaluationKYC, {
4680
+ poolInfo: poolInfo,
4681
+ handleClose: handleClose
4682
+ });
4683
+ }
4684
+ return jsxRuntime.jsx(EvaluationEA, {
4685
+ poolInfo: poolInfo,
4686
+ handleApproveSuccess: handleApproveSuccess
3980
4687
  });
3981
4688
  }
3982
4689
 
@@ -4052,7 +4759,8 @@ function Transfer$2(_ref) {
4052
4759
 
4053
4760
  function Success$2(_ref) {
4054
4761
  var poolInfo = _ref.poolInfo,
4055
- handleAction = _ref.handleAction;
4762
+ handleAction = _ref.handleAction,
4763
+ hasNextStep = _ref.hasNextStep;
4056
4764
  var _useWeb3React = core.useWeb3React(),
4057
4765
  account = _useWeb3React.account;
4058
4766
  var poolUnderlyingToken = poolInfo.poolUnderlyingToken;
@@ -4085,7 +4793,15 @@ function Success$2(_ref) {
4085
4793
  var content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
4086
4794
  return jsxRuntime.jsx(TxDoneModal, {
4087
4795
  handleAction: handleAction,
4088
- content: content
4796
+ content: content,
4797
+ buttonText: hasNextStep ? "WHAT'S NEXT" : undefined
4798
+ });
4799
+ }
4800
+
4801
+ function Notifications(_ref) {
4802
+ var handleAction = _ref.handleAction;
4803
+ return jsxRuntime.jsx(NotifiSubscriptionModal, {
4804
+ handleSuccess: handleAction
4089
4805
  });
4090
4806
  }
4091
4807
 
@@ -4096,7 +4812,8 @@ function LendSupply(_ref) {
4096
4812
  handleSuccess = _ref.handleSuccess;
4097
4813
  var dispatch = reactRedux.useDispatch();
4098
4814
  var _useWeb3React = core.useWeb3React(),
4099
- account = _useWeb3React.account;
4815
+ account = _useWeb3React.account,
4816
+ chainId = _useWeb3React.chainId;
4100
4817
  var poolName = shared.POOL_NAME[poolNameStr];
4101
4818
  var poolType = shared.POOL_TYPE[poolTypeStr];
4102
4819
  var poolInfo = shared.usePoolInfo(poolName, poolType);
@@ -4107,6 +4824,10 @@ function LendSupply(_ref) {
4107
4824
  errorMessage = _useAppSelector.errorMessage;
4108
4825
  var _usePoolAllowance = shared.usePoolAllowance(poolName, poolType, account),
4109
4826
  allowance = _usePoolAllowance.allowance;
4827
+ var _useIsFirstTimeNotifi = useIsFirstTimeNotifiUser(account, chainId),
4828
+ isFirstTimeNotifiUser = _useIsFirstTimeNotifi.isFirstTimeNotifiUser;
4829
+ var _useDoesChainSupportN = useDoesChainSupportNotifi(account, chainId),
4830
+ notifiChainSupported = _useDoesChainSupportN.notifiChainSupported;
4110
4831
  var _useLenderApproved = shared.useLenderApproved(poolName, poolType, account),
4111
4832
  _useLenderApproved2 = _slicedToArray(_useLenderApproved, 2),
4112
4833
  lenderApproved = _useLenderApproved2[0],
@@ -4132,6 +4853,13 @@ function LendSupply(_ref) {
4132
4853
  handleSuccess(blockNumber);
4133
4854
  }
4134
4855
  }, [handleSuccess, refreshLenderPosition]);
4856
+ var setupNotificationsOrClose = React.useCallback(function () {
4857
+ if (isFirstTimeNotifiUser && notifiChainSupported) {
4858
+ dispatch(setStep(WIDGET_STEP.Notifications));
4859
+ } else {
4860
+ handleClose();
4861
+ }
4862
+ }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported]);
4135
4863
  if (!poolInfo) {
4136
4864
  return null;
4137
4865
  }
@@ -4143,6 +4871,7 @@ function LendSupply(_ref) {
4143
4871
  handleSuccess: handleSupplySuccess,
4144
4872
  children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$1, {
4145
4873
  poolInfo: poolInfo,
4874
+ handleClose: handleClose,
4146
4875
  handleApproveSuccess: handleApproveSuccess
4147
4876
  }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$2, {
4148
4877
  poolInfo: poolInfo,
@@ -4155,6 +4884,9 @@ function LendSupply(_ref) {
4155
4884
  poolInfo: poolInfo
4156
4885
  }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$2, {
4157
4886
  poolInfo: poolInfo,
4887
+ handleAction: setupNotificationsOrClose,
4888
+ hasNextStep: isFirstTimeNotifiUser
4889
+ }), step === WIDGET_STEP.Notifications && jsxRuntime.jsx(Notifications, {
4158
4890
  handleAction: handleClose
4159
4891
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4160
4892
  title: "Supply",
@@ -5942,7 +6674,7 @@ function UpcomingList(_ref) {
5942
6674
  children: connectWalletDesc
5943
6675
  }), isActive && !(items !== null && items !== void 0 && items.length) && jsxRuntime.jsx(material.Box, {
5944
6676
  children: noItemDesc
5945
- }), isActive && (items === null || items === void 0 ? void 0 : items.length) && jsxRuntime.jsxs(material.Box, {
6677
+ }), isActive && !!(items !== null && items !== void 0 && items.length) && jsxRuntime.jsxs(material.Box, {
5946
6678
  css: styles.tableWrapper,
5947
6679
  children: [loading && jsxRuntime.jsx(material.Box, {
5948
6680
  css: styles.progress,
@@ -6265,7 +6997,7 @@ function SuperfluidUpcomingList(_ref) {
6265
6997
  }
6266
6998
 
6267
6999
  function SuperfluidFactoring() {
6268
- var _PoolMap$Stream$poolN, _PoolSubgraphMap, _PoolSubgraphMap2;
7000
+ var _PoolMap$Stream$poolN, _poolInfo$extra, _PoolSubgraphMap;
6269
7001
  var poolName = shared.POOL_NAME.Superfluid;
6270
7002
  var _useWeb3React = core.useWeb3React(),
6271
7003
  chainId = _useWeb3React.chainId;
@@ -6297,7 +7029,7 @@ function SuperfluidFactoring() {
6297
7029
  loading: loading && actionType === 'payment',
6298
7030
  accountStats: accountStats
6299
7031
  }), jsxRuntime.jsx(ApolloWrapper, {
6300
- uri: (_PoolSubgraphMap = shared.PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap === void 0 ? void 0 : _PoolSubgraphMap.subgraph,
7032
+ uri: poolInfo === null || poolInfo === void 0 ? void 0 : (_poolInfo$extra = poolInfo.extra) === null || _poolInfo$extra === void 0 ? void 0 : _poolInfo$extra.subgraph,
6301
7033
  children: jsxRuntime.jsx(SuperfluidUpcomingList, {
6302
7034
  poolInfo: poolInfo,
6303
7035
  handleGetPaid: handleGetPaid,
@@ -6305,7 +7037,7 @@ function SuperfluidFactoring() {
6305
7037
  loading: loading && actionType === 'borrow'
6306
7038
  })
6307
7039
  }), jsxRuntime.jsx(ApolloWrapper, {
6308
- uri: (_PoolSubgraphMap2 = shared.PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap2 === void 0 ? void 0 : _PoolSubgraphMap2.subgraph,
7040
+ uri: (_PoolSubgraphMap = shared.PoolSubgraphMap[chainId]) === null || _PoolSubgraphMap === void 0 ? void 0 : _PoolSubgraphMap.subgraph,
6309
7041
  children: poolInfo && jsxRuntime.jsx(Activity, {
6310
7042
  poolInfo: poolInfo,
6311
7043
  targetEvents: [shared.CreditEvent.DrawdownMadeWithReceivable, shared.CreditEvent.PaymentMade, shared.CreditEvent.ReceivedPaymentProcessed]