@huma-finance/widgets 0.0.62-beta.611 → 0.0.62-beta.616

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 (40) hide show
  1. package/API.md +0 -185
  2. package/dist/cjs/index.cjs +481 -1661
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/index.d.ts +8 -116
  5. package/dist/index.js +484 -1661
  6. package/dist/index.js.map +1 -1
  7. package/package.json +9 -12
  8. package/src/components/InputAmountModal.tsx +2 -12
  9. package/src/components/Lend/addRedemptionV2/2-ChooseAmount.tsx +6 -1
  10. package/src/components/Lend/supplyV2/6-Success.tsx +10 -8
  11. package/src/components/Lend/supplyV2/7-Notifications.tsx +6 -1
  12. package/src/components/Notifi/NotifiContextWrapper.tsx +57 -0
  13. package/src/components/Notifi/NotifiSubscriptionModal.tsx +118 -113
  14. package/src/components/WidgetWrapper.tsx +4 -6
  15. package/src/hooks/useNotifi.ts +28 -17
  16. package/src/index.tsx +7 -124
  17. package/src/store/widgets.reducers.ts +0 -5
  18. package/src/store/widgets.store.ts +0 -1
  19. package/src/theme/coreThemeConstants.ts +1 -1
  20. package/src/components/CreditLine/solanaBorrow/1-ChooseAmount.tsx +0 -86
  21. package/src/components/CreditLine/solanaBorrow/2-ApproveAllowance.tsx +0 -87
  22. package/src/components/CreditLine/solanaBorrow/index.tsx +0 -96
  23. package/src/components/Lend/solanaAddRedemption/1-ChooseTranche.tsx +0 -114
  24. package/src/components/Lend/solanaAddRedemption/2-ChooseAmount.tsx +0 -183
  25. package/src/components/Lend/solanaAddRedemption/3-Transfer.tsx +0 -102
  26. package/src/components/Lend/solanaAddRedemption/4-Done.tsx +0 -29
  27. package/src/components/Lend/solanaAddRedemption/index.tsx +0 -140
  28. package/src/components/Lend/solanaCancelRedemption/1-ChooseTranche.tsx +0 -114
  29. package/src/components/Lend/solanaCancelRedemption/2-Transfer.tsx +0 -99
  30. package/src/components/Lend/solanaCancelRedemption/3-Done.tsx +0 -55
  31. package/src/components/Lend/solanaCancelRedemption/index.tsx +0 -152
  32. package/src/components/Lend/solanaSupply/1-ChooseTranche.tsx +0 -116
  33. package/src/components/Lend/solanaSupply/2-Evaluation.tsx +0 -0
  34. package/src/components/Lend/solanaSupply/3-ChooseAmount.tsx +0 -130
  35. package/src/components/Lend/solanaSupply/4-Transfer.tsx +0 -89
  36. package/src/components/Lend/solanaSupply/5-Success.tsx +0 -50
  37. package/src/components/Lend/solanaSupply/index.tsx +0 -143
  38. package/src/components/SolanaTxDoneModal.tsx +0 -115
  39. package/src/components/SolanaTxSendModal.tsx +0 -61
  40. package/src/components/SolanaViewOnExplorer.tsx +0 -29
@@ -21,13 +21,14 @@ var constants = require('@ethersproject/constants');
21
21
  var ethers = require('ethers');
22
22
  var ArrowDropDownIcon = require('@mui/icons-material/ArrowDropDown');
23
23
  var ArrowDropUpIcon = require('@mui/icons-material/ArrowDropUp');
24
- var notifiFrontendClient = require('@notifi-network/notifi-frontend-client');
24
+ var notifiReact = require('@notifi-network/notifi-react');
25
+ require('@notifi-network/notifi-frontend-client');
25
26
  var reactNumberFormat = require('react-number-format');
26
27
  var ArrowForwardIosIcon = require('@mui/icons-material/ArrowForwardIos');
27
28
  var dayjs = require('dayjs');
28
29
  var Persona = require('persona');
29
- var moment = require('moment');
30
30
  var sdk = require('@huma-finance/sdk');
31
+ var moment = require('moment');
31
32
  var client = require('@apollo/client');
32
33
  var Table = require('@mui/material/Table');
33
34
  var TableBody = require('@mui/material/TableBody');
@@ -36,10 +37,7 @@ var TableContainer = require('@mui/material/TableContainer');
36
37
  var TableHead = require('@mui/material/TableHead');
37
38
  var TableRow = require('@mui/material/TableRow');
38
39
  var address = require('@ethersproject/address');
39
- var anchor = require('@coral-xyz/anchor');
40
- var splToken = require('@solana/spl-token');
41
- var walletAdapterReact = require('@solana/wallet-adapter-react');
42
- var web3_js = require('@solana/web3.js');
40
+ var bytes = require('@ethersproject/bytes');
43
41
 
44
42
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
45
43
 
@@ -140,7 +138,6 @@ const widgetSlice = toolkit.createSlice({
140
138
  state.withdrawShares = undefined;
141
139
  state.redeemAmount = undefined;
142
140
  state.redeemShares = undefined;
143
- state.solanaSignature = undefined;
144
141
  },
145
142
  setStep: (state, _ref) => {
146
143
  let {
@@ -231,16 +228,10 @@ const widgetSlice = toolkit.createSlice({
231
228
  } = _ref12;
232
229
  state.multisend = payload;
233
230
  },
234
- setSolanaSignature: (state, _ref13) => {
231
+ setError: (state, _ref13) => {
235
232
  let {
236
233
  payload
237
234
  } = _ref13;
238
- state.solanaSignature = payload;
239
- },
240
- setError: (state, _ref14) => {
241
- let {
242
- payload
243
- } = _ref14;
244
235
  state.errorMessage = payload.errorMessage;
245
236
  state.errorReason = payload.errorReason;
246
237
  state.step = WIDGET_STEP.Error;
@@ -261,8 +252,7 @@ const {
261
252
  setWithdrawAmount,
262
253
  setWithdrawShares,
263
254
  setRedeemAmount,
264
- setRedeemShares,
265
- setSolanaSignature
255
+ setRedeemShares
266
256
  } = widgetSlice.actions;
267
257
  var widgetsReducers = widgetSlice.reducer;
268
258
 
@@ -272,7 +262,7 @@ var SorryImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAAFTCAYAAAC52Y
272
262
 
273
263
  var AutoPaybackImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbcAAAFkCAYAAACjPXVqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAJL6SURBVHgB7Z0JYBNl+sbfaQu9S7hvGu6blhuk2nCoKCpVUVfdXYq7KuquoKviqru064nrCnU90PW/tIsHIkirAgJCUwXkppX7bApyI6SUFgql+c/7zUwySXNOJpmkfX+7sWmSljRfMs+83/d8zwtAEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBeAsHBEEQRL1Bx4NfZBeIjIzUS/dfu3bNJHs4XjcjUM8gcSPUIOO5556bGRcXl7p+/fr8lStXFvC3GUH44BAEoTKigOl50Uq1WCypffr0SW7btm1q+/btdbGxsbqOHTtCkyZN2GM7derk9HccOXIEysvL4cKFC+w6r2/FFRUV5nXr1pXU1taa+IcU4yVchY/EjfALvV4/c968eVkGgwFycnIgKysLxM+Cib8M5C/17oyQIIINr2UoZAYUsJSUlHResFL79esH/fv3Z+IlCZla7NixgwkeL3RQVlZW/N133xVzHFfAV30odiYgiHrOzOLiYgvCi5qF/97xkgUEQSiCFzRDs2bN5tx7772l77//vuXHH3+0aAn++3/9618tt99+eyH/3Kaj4AJBeACnGAziRQ/hgX727NnsTT9nzhxJzM7zFZyFr+ak70uBIAivQUHjK7I506dPP//tt99a+CrJEorw1ZwFBXfkyJEodJkkdIQjug5t9DOfefj1819/tN2Cl1nPzbM8fN9z29u27DCHvz8VQpQnn3yyFN/kpaWlFv6NLQmZfsaMGed5pNvwogOCIFyC62d8hTYzIyPjPFZHoSporvj5558tjz/+uIX/G+aRyBGMLh17Fm/9+rzlwBqL08snbxdafn/nk6X9ew6eB0JVFxLw1dlMFDVErNKYsOF9zzzzTD7e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Pc6+xkYkMiOM3R5ti/RrHPbw8V9fLb0711RFIcmEZ0jcCIJIbR2tN3SPGzi5Z/zg1EFNxjLRYchUS/gvZ/2vfTUnXyATzSicnVPT7qqjSUSen8mEMyLCJpBiL7xtF1bDB0f/NJC/sRgIwgMkbgRByNGDaEjpL3NeMura8+tsJ5D3pZOwbSIHuxtlJhFhWrPWIqme7V/hf1GtOFWZ+8uLxevOLx4IBOEFJG4EQbhCz18M1zW9fWJybJ+MgUljoUUjMdxZfIB9tJdYgbH0kwjZ9gIpF9NB+RymIq2PlPbayTaSowvzr/vGkZGE8BoSN4IgvAGdl4YBiTdkdIjpPrFfYpoODSkIZ9+VQLY/zhl1I76s1Arf2wTONiu6/vwSmHfshc5Ae9sILyFxIwhCCcx52TV2oGFwE2zCOky41SJtCHcyFelYxcldKPKN4Q4Px5tfPXhProm6bRM+QOJGEIS/GLrGp2boY/pO7J0wXI+GFCFdxJX5RI6TSs7hK3YT/+fhyaOBum0TPkDiRhCEmmAciWFs89/w63T9DL3ih0Fz1oTV8zQlYlfRsU5uHHx6/DXTml9pbxvhGyRuBEEECj1/MQxpcvPklMQbWLfx5qLz0rGas24Yt6alCPvosJHq8/tuJCMJ4TMkbgRBBAM9fzH0Sbhu4tAmNxk6x/bTdYrtbbX5u+L7s5+aPj/xGk5JmoAgfIDEjSAILWBNWAckpqfzU5f6XnxV57gut+z0x+bFp2ajsNGmbcJnSNwIgtAa1oS1d/yIlMYRMalXai+bN5qX5Z27emIOUMVGEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEARBEAQRXP4f8kfGser8rBoAAAAASUVORK5CYII=";
274
264
 
275
- var _templateObject$v, _templateObject2$s, _templateObject3$m, _templateObject4$e, _templateObject5$8, _templateObject6$7, _templateObject7$6, _templateObject8$3;
265
+ var _templateObject$r, _templateObject2$o, _templateObject3$i, _templateObject4$d, _templateObject5$7, _templateObject6$6, _templateObject7$5, _templateObject8$3;
276
266
  function ErrorModal(_ref) {
277
267
  let {
278
268
  title,
@@ -289,13 +279,13 @@ function ErrorModal(_ref) {
289
279
  errorReason = 'Oops! Something went wrong';
290
280
  }
291
281
  const styles = {
292
- wrapper: material.css(_templateObject$v || (_templateObject$v = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
293
- header: material.css(_templateObject2$s || (_templateObject2$s = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
294
- sorry: material.css(_templateObject3$m || (_templateObject3$m = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
295
- content: material.css(_templateObject4$e || (_templateObject4$e = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
296
- errorIcon: material.css(_templateObject5$8 || (_templateObject5$8 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
297
- messageWrapper: material.css(_templateObject6$7 || (_templateObject6$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
298
- errorMessage: material.css(_templateObject7$6 || (_templateObject7$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-size: 14px;\n font-weight: 400;\n color: ", ";\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: ", ";\n "])), theme.spacing(0.5), theme.palette.text.primary, theme.spacing(2)),
282
+ wrapper: material.css(_templateObject$r || (_templateObject$r = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
283
+ header: material.css(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
284
+ sorry: material.css(_templateObject3$i || (_templateObject3$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
285
+ content: material.css(_templateObject4$d || (_templateObject4$d = _taggedTemplateLiteral(["\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: ", ";\n position: relative;\n margin-top: ", ";\n height: 79px;\n "])), theme.spacing(2, 0), theme.spacing(9)),
286
+ errorIcon: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n position: absolute;\n font-size: 20px;\n color: ", ";\n margin: ", ";\n "])), theme.palette.error.main, theme.spacing(0, 2)),
287
+ messageWrapper: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n padding-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(6)),
288
+ errorMessage: material.css(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-size: 14px;\n font-weight: 400;\n color: ", ";\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: ", ";\n "])), theme.spacing(0.5), theme.palette.text.primary, theme.spacing(2)),
299
289
  okButton: material.css(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
300
290
  };
301
291
  const handleCloseModal = React.useCallback(() => {
@@ -1684,7 +1674,7 @@ function HumaLoading(_ref2) {
1684
1674
  });
1685
1675
  }
1686
1676
 
1687
- var _templateObject$u, _templateObject2$r, _templateObject3$l, _templateObject4$d;
1677
+ var _templateObject$q, _templateObject2$n, _templateObject3$h, _templateObject4$c;
1688
1678
  function WrapperModal(_ref) {
1689
1679
  let {
1690
1680
  title,
@@ -1693,10 +1683,10 @@ function WrapperModal(_ref) {
1693
1683
  } = _ref;
1694
1684
  const theme = material.useTheme();
1695
1685
  const styles = {
1696
- wrapper: material.css(_templateObject$u || (_templateObject$u = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1697
- header: material.css(_templateObject2$r || (_templateObject2$r = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1698
- content: material.css(_templateObject3$l || (_templateObject3$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1699
- bottom: material.css(_templateObject4$d || (_templateObject4$d = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1686
+ wrapper: material.css(_templateObject$q || (_templateObject$q = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1687
+ header: material.css(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteral(["\n ", ";\n font-weight: 700;\n font-size: 20px;\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1688
+ content: material.css(_templateObject3$h || (_templateObject3$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary),
1689
+ bottom: material.css(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1700
1690
  };
1701
1691
  return jsxRuntime.jsxs(material.Box, {
1702
1692
  css: styles.wrapper,
@@ -1711,7 +1701,7 @@ function WrapperModal(_ref) {
1711
1701
  });
1712
1702
  }
1713
1703
 
1714
- var _templateObject$t, _templateObject2$q;
1704
+ var _templateObject$p, _templateObject2$m;
1715
1705
  function LoadingModal(_ref) {
1716
1706
  let {
1717
1707
  title,
@@ -1721,8 +1711,8 @@ function LoadingModal(_ref) {
1721
1711
  } = _ref;
1722
1712
  const theme = material.useTheme();
1723
1713
  const styles = {
1724
- loader: material.css(_templateObject$t || (_templateObject$t = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1725
- bottom: material.css(_templateObject2$q || (_templateObject2$q = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1714
+ loader: material.css(_templateObject$p || (_templateObject$p = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n "])), theme.cssMixins.rowHCentered),
1715
+ bottom: material.css(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
1726
1716
  };
1727
1717
  return jsxRuntime.jsxs(WrapperModal, {
1728
1718
  title: title,
@@ -1749,8 +1739,7 @@ function WidgetWrapper(_ref) {
1749
1739
  const theme = material.useTheme();
1750
1740
  const dispatch = useAppDispatch();
1751
1741
  const {
1752
- step,
1753
- solanaSignature
1742
+ step
1754
1743
  } = useAppSelector(selectWidgetState);
1755
1744
  const [{
1756
1745
  state,
@@ -1766,14 +1755,12 @@ function WidgetWrapper(_ref) {
1766
1755
  }
1767
1756
  }, [dispatch, failReason, state]);
1768
1757
  React.useEffect(() => {
1769
- if (step === WIDGET_STEP.Done && (txReceipt || solanaSignature)) {
1770
- if (handleSuccess && txReceipt) {
1758
+ if (step === WIDGET_STEP.Done && txReceipt) {
1759
+ if (handleSuccess) {
1771
1760
  handleSuccess(txReceipt.blockNumber);
1772
- } else if (handleSuccess && solanaSignature) {
1773
- handleSuccess(0); // solana tx doesn't have block number
1774
1761
  }
1775
1762
  }
1776
- }, [handleSuccess, solanaSignature, step, txReceipt]);
1763
+ }, [handleSuccess, step, txReceipt]);
1777
1764
  const handleCloseModal = React.useCallback(() => {
1778
1765
  reset();
1779
1766
  dispatch(resetState());
@@ -1800,7 +1787,7 @@ function WidgetWrapper(_ref) {
1800
1787
  });
1801
1788
  }
1802
1789
 
1803
- var _templateObject$s;
1790
+ var _templateObject$o;
1804
1791
  function BottomButton(_ref) {
1805
1792
  let {
1806
1793
  variant,
@@ -1808,7 +1795,7 @@ function BottomButton(_ref) {
1808
1795
  onClick,
1809
1796
  children
1810
1797
  } = _ref;
1811
- const styles = material.css(_templateObject$s || (_templateObject$s = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1798
+ const styles = material.css(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])));
1812
1799
  return jsxRuntime.jsx(material.Box, {
1813
1800
  css: styles,
1814
1801
  children: jsxRuntime.jsx(material.Button, {
@@ -1841,7 +1828,7 @@ function ViewOnExplorer(_ref) {
1841
1828
  });
1842
1829
  }
1843
1830
 
1844
- var _templateObject$r, _templateObject2$p;
1831
+ var _templateObject$n, _templateObject2$l;
1845
1832
  function ApproveAllowanceModal(_ref) {
1846
1833
  let {
1847
1834
  poolInfo,
@@ -1879,8 +1866,8 @@ function ApproveAllowanceModal(_ref) {
1879
1866
  }
1880
1867
  }, [handleSuccess, reset, resetAfterSuccess, state, symbol]);
1881
1868
  const styles = {
1882
- iconWrapper: material.css(_templateObject$r || (_templateObject$r = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1883
- description: material.css(_templateObject2$p || (_templateObject2$p = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1869
+ iconWrapper: material.css(_templateObject$n || (_templateObject$n = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
1870
+ description: material.css(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
1884
1871
  };
1885
1872
  const sendIncreaseAllowance = React.useCallback(async () => {
1886
1873
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -1932,7 +1919,7 @@ function ApproveAllowanceModal(_ref) {
1932
1919
  });
1933
1920
  }
1934
1921
 
1935
- function ApproveAllowance$d(_ref) {
1922
+ function ApproveAllowance$c(_ref) {
1936
1923
  let {
1937
1924
  poolInfo,
1938
1925
  amount
@@ -1950,7 +1937,7 @@ function ApproveAllowance$d(_ref) {
1950
1937
  });
1951
1938
  }
1952
1939
 
1953
- var _templateObject$q, _templateObject2$o, _templateObject3$k, _templateObject4$c, _templateObject5$7, _templateObject6$6;
1940
+ var _templateObject$m, _templateObject2$k, _templateObject3$g, _templateObject4$b, _templateObject5$6, _templateObject6$5;
1954
1941
  function TxDoneModal(_ref) {
1955
1942
  let {
1956
1943
  content,
@@ -1962,12 +1949,12 @@ function TxDoneModal(_ref) {
1962
1949
  const dispatch = useAppDispatch();
1963
1950
  const reset = utils.useResetAtom(webShared.txAtom);
1964
1951
  const styles = {
1965
- wrapper: material.css(_templateObject$q || (_templateObject$q = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1966
- header: material.css(_templateObject2$o || (_templateObject2$o = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1967
- content: material.css(_templateObject3$k || (_templateObject3$k = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1968
- subContent: material.css(_templateObject4$c || (_templateObject4$c = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1969
- check: material.css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1970
- doneButton: material.css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1952
+ wrapper: material.css(_templateObject$m || (_templateObject$m = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
1953
+ header: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
1954
+ content: material.css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
1955
+ subContent: material.css(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
1956
+ check: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
1957
+ doneButton: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "])))
1971
1958
  };
1972
1959
  const handleCloseModal = React.useCallback(() => {
1973
1960
  reset();
@@ -2009,7 +1996,7 @@ function TxDoneModal(_ref) {
2009
1996
  });
2010
1997
  }
2011
1998
 
2012
- function Success$f(_ref) {
1999
+ function Success$e(_ref) {
2013
2000
  let {
2014
2001
  poolInfo,
2015
2002
  handleAction
@@ -2074,10 +2061,10 @@ function CreditLineApprove(_ref) {
2074
2061
  loadingTitle: "Approve Allowance",
2075
2062
  handleClose: handleClose,
2076
2063
  handleSuccess: handleSuccess,
2077
- children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$d, {
2064
+ children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$c, {
2078
2065
  poolInfo: poolInfo,
2079
2066
  amount: amount
2080
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$f, {
2067
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2081
2068
  poolInfo: poolInfo,
2082
2069
  handleAction: handleClose
2083
2070
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -2088,7 +2075,7 @@ function CreditLineApprove(_ref) {
2088
2075
  });
2089
2076
  }
2090
2077
 
2091
- var _templateObject$p, _templateObject2$n;
2078
+ var _templateObject$l, _templateObject2$j;
2092
2079
  function ApproveAllowanceModalV2(_ref) {
2093
2080
  let {
2094
2081
  poolInfo,
@@ -2123,8 +2110,8 @@ function ApproveAllowanceModalV2(_ref) {
2123
2110
  }
2124
2111
  }, [handleSuccess, reset, resetAfterSuccess, state]);
2125
2112
  const styles = {
2126
- iconWrapper: material.css(_templateObject$p || (_templateObject$p = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2127
- description: material.css(_templateObject2$n || (_templateObject2$n = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2113
+ iconWrapper: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 220px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(6)),
2114
+ description: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n "])), theme.spacing(4), theme.palette.text.secondary, theme.spacing(0, 1))
2128
2115
  };
2129
2116
  const sendIncreaseAllowance = React.useCallback(async () => {
2130
2117
  const allowanceSpender = spender !== null && spender !== void 0 ? spender : poolInfo.pool;
@@ -2173,7 +2160,7 @@ function ApproveAllowanceModalV2(_ref) {
2173
2160
  });
2174
2161
  }
2175
2162
 
2176
- function ApproveAllowance$c(_ref) {
2163
+ function ApproveAllowance$b(_ref) {
2177
2164
  let {
2178
2165
  poolInfo,
2179
2166
  poolUnderlyingToken
@@ -2191,7 +2178,7 @@ function ApproveAllowance$c(_ref) {
2191
2178
  });
2192
2179
  }
2193
2180
 
2194
- function Success$e(_ref) {
2181
+ function Success$d(_ref) {
2195
2182
  let {
2196
2183
  handleAction
2197
2184
  } = _ref;
@@ -2243,10 +2230,10 @@ function AutoPaybackV2(_ref) {
2243
2230
  loadingTitle: "Auto Payback",
2244
2231
  handleClose: handleClose,
2245
2232
  handleSuccess: handleSuccess,
2246
- children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$c, {
2233
+ children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$b, {
2247
2234
  poolInfo: poolInfo,
2248
2235
  poolUnderlyingToken: poolUnderlyingToken
2249
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$e, {
2236
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
2250
2237
  handleAction: handleClose
2251
2238
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
2252
2239
  title: "Auto Payback",
@@ -2301,17 +2288,17 @@ const useEA = () => {
2301
2288
 
2302
2289
  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==";
2303
2290
 
2304
- var _templateObject$o, _templateObject2$m, _templateObject3$j, _templateObject4$b;
2291
+ var _templateObject$k, _templateObject2$i, _templateObject3$f, _templateObject4$a;
2305
2292
  function SignIn(_ref) {
2306
2293
  let {
2307
2294
  description
2308
2295
  } = _ref;
2309
2296
  const theme = material.useTheme();
2310
2297
  const styles = {
2311
- wrapper: material.css(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2312
- header: material.css(_templateObject2$m || (_templateObject2$m = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2313
- icon: material.css(_templateObject3$j || (_templateObject3$j = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2314
- content: material.css(_templateObject4$b || (_templateObject4$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2298
+ wrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2299
+ header: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2300
+ icon: material.css(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-right: ", ";\n & > img {\n width: 170px;\n }\n "])), theme.cssMixins.rowHCentered, theme.spacing(12), theme.spacing(4)),
2301
+ content: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8))
2315
2302
  };
2316
2303
  return jsxRuntime.jsxs(material.Box, {
2317
2304
  css: styles.wrapper,
@@ -2332,7 +2319,7 @@ function SignIn(_ref) {
2332
2319
  });
2333
2320
  }
2334
2321
 
2335
- var _templateObject$n, _templateObject2$l, _templateObject3$i, _templateObject4$a, _templateObject5$6, _templateObject6$5, _templateObject7$5;
2322
+ var _templateObject$j, _templateObject2$h, _templateObject3$e, _templateObject4$9, _templateObject5$5, _templateObject6$4, _templateObject7$4;
2336
2323
  function Evaluation$4(_ref) {
2337
2324
  let {
2338
2325
  poolInfo,
@@ -2364,13 +2351,13 @@ function Evaluation$4(_ref) {
2364
2351
  fetchData();
2365
2352
  }, [account, chainId, checkingEA, handleApprove, poolInfo.assetAddress, poolInfo.pool, isWalletOwnershipVerified]);
2366
2353
  const styles = {
2367
- wrapper: material.css(_templateObject$n || (_templateObject$n = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2368
- header: material.css(_templateObject2$l || (_templateObject2$l = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2369
- content: material.css(_templateObject3$i || (_templateObject3$i = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2370
- checkWrapper: material.css(_templateObject4$a || (_templateObject4$a = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2371
- checkIcon: material.css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2372
- congratsWrapper: material.css(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\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.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2373
- bottom: material.css(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2354
+ wrapper: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
2355
+ header: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2356
+ content: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(4), theme.palette.text.secondary, theme.spacing(8)),
2357
+ checkWrapper: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n ", "\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowVCentered, theme.palette.text.secondary),
2358
+ checkIcon: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n ", "\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n "])), theme.cssMixins.rowCentered),
2359
+ congratsWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n padding: ", ";\n ", "\n margin-top: ", ";\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.spacing(0, 2), theme.cssMixins.rowVCentered, theme.spacing(8)),
2360
+ bottom: material.css(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteral(["\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n "])))
2374
2361
  };
2375
2362
  const goToNextStep = () => {
2376
2363
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -2433,7 +2420,7 @@ function Evaluation$4(_ref) {
2433
2420
  });
2434
2421
  }
2435
2422
 
2436
- var _templateObject$m, _templateObject2$k, _templateObject3$h, _templateObject4$9, _templateObject5$5, _templateObject6$4, _templateObject7$4, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2423
+ var _templateObject$i, _templateObject2$g, _templateObject3$d, _templateObject4$8, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$2, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
2437
2424
  function ChooseAmountModal(_ref) {
2438
2425
  let {
2439
2426
  title,
@@ -2460,13 +2447,13 @@ function ChooseAmountModal(_ref) {
2460
2447
  } = webShared.useMQ();
2461
2448
  const [inputTouched, setInputTouched] = React.useState(false);
2462
2449
  const styles = {
2463
- subTitle: material.css(_templateObject$m || (_templateObject$m = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2464
- description2: material.css(_templateObject2$k || (_templateObject2$k = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2465
- chosenAmountWrapper: material.css(_templateObject3$h || (_templateObject3$h = _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: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2466
- chosenAmount: material.css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2467
- chosenAmountSymbol: material.css(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2468
- inputAmountWrapper: material.css(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2469
- inputAmount: material.css(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2450
+ subTitle: material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n font-weight: 400;\n "]))),
2451
+ description2: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(2)),
2452
+ chosenAmountWrapper: material.css(_templateObject3$d || (_templateObject3$d = _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: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(1), theme.spacing(4)),
2453
+ chosenAmount: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n font-weight: 700;\n font-size: 32px;\n "]))),
2454
+ chosenAmountSymbol: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n font-size: 75%;\n margin-left: ", ";\n letter-spacing: 0.1px;\n "])), theme.spacing(0.5)),
2455
+ inputAmountWrapper: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(4)),
2456
+ inputAmount: material.css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
2470
2457
  inputField: material.css(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2471
2458
  maxButton: material.css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteral(["\n width: 80px;\n "]))),
2472
2459
  amountAvailable: material.css(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n font-size: 16px;\n & > svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(0.5), theme.spacing(12), theme.spacing(0.5)),
@@ -2616,7 +2603,7 @@ function ChooseAmountModal(_ref) {
2616
2603
  });
2617
2604
  }
2618
2605
 
2619
- function ChooseAmount$f(_ref) {
2606
+ function ChooseAmount$c(_ref) {
2620
2607
  let {
2621
2608
  poolInfo,
2622
2609
  accountStats
@@ -2676,7 +2663,7 @@ function ChooseAmount$f(_ref) {
2676
2663
  });
2677
2664
  }
2678
2665
 
2679
- function ApproveAllowance$b(_ref) {
2666
+ function ApproveAllowance$a(_ref) {
2680
2667
  let {
2681
2668
  poolInfo
2682
2669
  } = _ref;
@@ -2735,7 +2722,7 @@ function TxSendModal(_ref) {
2735
2722
  });
2736
2723
  }
2737
2724
 
2738
- function Transfer$i(_ref) {
2725
+ function Transfer$f(_ref) {
2739
2726
  let {
2740
2727
  poolInfo
2741
2728
  } = _ref;
@@ -2758,7 +2745,7 @@ function Transfer$i(_ref) {
2758
2745
  });
2759
2746
  }
2760
2747
 
2761
- function Success$d(_ref) {
2748
+ function Success$c(_ref) {
2762
2749
  let {
2763
2750
  poolInfo,
2764
2751
  creditRecord,
@@ -2783,182 +2770,114 @@ function Success$d(_ref) {
2783
2770
  });
2784
2771
  }
2785
2772
 
2786
- const useDoesChainSupportNotifi = chainId => {
2787
- const [notifiChainSupported, setNotifiChainSupported] = React.useState(false);
2788
- React.useEffect(() => {
2789
- const checkNotifiChainSupported = async () => {
2790
- if (chainId != null) {
2791
- setNotifiChainSupported(shared.doesChainSupportNotifi(chainId, shared.checkIsDev()));
2792
- }
2793
- };
2794
- checkNotifiChainSupported();
2795
- }, [chainId]);
2796
- return {
2797
- notifiChainSupported
2798
- };
2799
- };
2800
- const useNotifiClient = (account, chainId) => {
2801
- const [notifiClient, setNotifiClient] = React.useState(null);
2802
- const {
2803
- notifiChainSupported
2804
- } = useDoesChainSupportNotifi(chainId);
2805
- React.useEffect(() => {
2806
- const createNotifiClient = async () => {
2807
- if (account != null && chainId != null && notifiChainSupported) {
2808
- const client = notifiFrontendClient.newFrontendClient({
2809
- account: {
2810
- publicKey: account
2811
- },
2812
- tenantId: 'humafinanceprod',
2813
- env: 'Production',
2814
- walletBlockchain: shared.getBlockchainConfigFromChain(chainId)
2815
- });
2816
- await client.initialize();
2817
- setNotifiClient(client);
2818
- }
2819
- };
2820
- createNotifiClient();
2821
- }, [account, chainId, notifiChainSupported]);
2822
- return {
2823
- notifiClient
2824
- };
2825
- };
2826
- const useIsFirstTimeNotifiUser = (account, chainId) => {
2827
- const [isFirstTimeNotifiUser, setIsFirstTimeNotifiUser] = React.useState(false);
2828
- const {
2829
- notifiClient
2830
- } = useNotifiClient(account, chainId);
2831
- const {
2832
- notifiChainSupported
2833
- } = useDoesChainSupportNotifi(chainId);
2834
- React.useEffect(() => {
2835
- const checkIsFirstTimeNotifiUser = async () => {
2836
- if (notifiClient != null && notifiChainSupported) {
2837
- const {
2838
- userState
2839
- } = notifiClient;
2840
- // If the user is not authenticated or expired, they are a first time user
2841
- if (userState == null || userState.status !== 'authenticated' && userState.status !== 'expired') {
2842
- setIsFirstTimeNotifiUser(true);
2843
- } else if (userState.status === 'authenticated') {
2844
- var _targetGroups$;
2845
- // If a user is authenticated, check if they have a target group (AKA email)
2846
- // associated with their wallet. If they do not, show them the notifi onboarding flow.
2847
- const targetGroups = await notifiClient.getTargetGroups();
2848
- const emailTargets = (_targetGroups$ = targetGroups[0]) === null || _targetGroups$ === void 0 || (_targetGroups$ = _targetGroups$.emailTargets) === null || _targetGroups$ === void 0 ? void 0 : _targetGroups$[0];
2849
- if (emailTargets == null || emailTargets.emailAddress == null) {
2850
- setIsFirstTimeNotifiUser(true);
2851
- }
2852
- }
2853
- }
2854
- };
2855
- checkIsFirstTimeNotifiUser();
2856
- }, [notifiChainSupported, notifiClient]);
2857
- return {
2858
- isFirstTimeNotifiUser
2859
- };
2773
+ var _templateObject$h, _templateObject2$f, _templateObject3$c, _templateObject4$7, _templateObject5$3;
2774
+ const validateDefaultTargetGroup = async frontendClient => {
2775
+ var _await$frontendClient;
2776
+ // NOTE: this extra request is necessary as the targetGroupId state in NotifiTargetContext will not be updated constantly right after login
2777
+ const targetGroup = (_await$frontendClient = await (frontendClient === null || frontendClient === void 0 ? void 0 : frontendClient.fetchFusionData())) === null || _await$frontendClient === void 0 || (_await$frontendClient = _await$frontendClient.targetGroup) === null || _await$frontendClient === void 0 ? void 0 : _await$frontendClient.find(group => (group === null || group === void 0 ? void 0 : group.name) === 'Default');
2778
+ return !!targetGroup;
2860
2779
  };
2861
-
2862
- var _templateObject$l, _templateObject2$j, _templateObject3$g, _templateObject4$8, _templateObject5$4;
2863
- function getIdFromEventType(eventType) {
2864
- if (eventType.type === 'directPush') {
2865
- const directPushEventType = eventType;
2866
- return directPushEventType.directPushId.value;
2867
- }
2868
- if (eventType.type === 'broadcast') {
2869
- const broadcastEventType = eventType;
2870
- return broadcastEventType.broadcastId.value;
2871
- }
2872
- return '';
2873
- }
2874
- async function fetchEventTypes(notifiClient) {
2875
- var _process$env$REACT_AP, _subscriptionConfig$e;
2876
- const subscribedAlerts = await notifiClient.getAlerts();
2877
- const subscriptionConfig = await notifiClient.fetchSubscriptionCard({
2878
- id: (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '',
2879
- type: 'SUBSCRIPTION_CARD'
2880
- });
2881
- const eventTypes = subscriptionConfig === null || subscriptionConfig === void 0 || (_subscriptionConfig$e = subscriptionConfig.eventTypes) === null || _subscriptionConfig$e === void 0 ? void 0 : _subscriptionConfig$e.map(eventType => {
2882
- const eventTypeId = getIdFromEventType(eventType);
2883
- let enabled = false;
2884
- // Check whether the user is subscribed to the event
2885
- const subscribedAlert = subscribedAlerts === null || subscribedAlerts === void 0 ? void 0 : subscribedAlerts.find(alert => alert.filterOptions.indexOf(eventTypeId) >= 0);
2886
- if (subscribedAlert) {
2887
- enabled = true;
2888
- }
2889
- return {
2890
- ...eventType,
2891
- enabled
2892
- };
2893
- });
2894
- return eventTypes;
2895
- }
2896
2780
  function NotifiSubscriptionModal(_ref) {
2897
2781
  let {
2782
+ successText,
2898
2783
  handleSuccess
2899
2784
  } = _ref;
2900
2785
  const theme = material.useTheme();
2901
2786
  const reset = utils.useResetAtom(webShared.txAtom);
2902
2787
  const dispatch = useAppDispatch();
2903
- const {
2904
- account,
2905
- chainId,
2906
- provider
2907
- } = core.useWeb3React();
2908
2788
  const [showSuccessScreen, setShowSuccessScreen] = React.useState(false);
2909
2789
  const [isLoading, setIsLoading] = React.useState(false);
2910
2790
  const [emailAddress, setEmailAddress] = React.useState('');
2911
2791
  const [emailValid, setEmailValid] = React.useState();
2912
2792
  const {
2913
- notifiClient
2914
- } = useNotifiClient(account, chainId);
2915
- const signMessage = async message => {
2916
- const signer = provider.getSigner();
2917
- const signature = await signer.signMessage(Buffer.from(message));
2918
- return ethers.ethers.utils.arrayify(signature);
2919
- };
2793
+ frontendClientStatus: {
2794
+ isInitialized,
2795
+ isAuthenticated,
2796
+ isExpired
2797
+ },
2798
+ frontendClient,
2799
+ login
2800
+ } = notifiReact.useNotifiFrontendClientContext();
2801
+ const {
2802
+ fusionEventTopics
2803
+ } = notifiReact.useNotifiTenantConfigContext();
2804
+ const {
2805
+ subscribeAlertsDefault
2806
+ } = notifiReact.useNotifiTopicContext();
2807
+ const {
2808
+ targetDocument: {
2809
+ targetGroupId
2810
+ },
2811
+ updateTargetInputs,
2812
+ renewTargetGroup
2813
+ } = notifiReact.useNotifiTargetContext();
2814
+ const {
2815
+ ftuStage,
2816
+ isLoading: isLoadingFtuStage,
2817
+ updateFtuStage
2818
+ } = notifiReact.useNotifiUserSettingContext();
2920
2819
  const handleEmailAddressChange = event => {
2921
2820
  var _event$target$value;
2922
2821
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
2923
2822
  setEmailValid(emailRegex.test((_event$target$value = event.target.value) !== null && _event$target$value !== void 0 ? _event$target$value : ''));
2924
2823
  setEmailAddress(event.target.value);
2925
2824
  };
2825
+ React.useEffect(() => {
2826
+ async function subscribe() {
2827
+ if (!isInitialized || !isAuthenticated || !targetGroupId || isLoadingFtuStage) {
2828
+ return;
2829
+ }
2830
+
2831
+ // If a user is authenticated but already finished with the FTU (First Time User) setup
2832
+ // (AKA their login expired and they logged back in), then we can skip the subscription step.
2833
+ if (ftuStage !== notifiReact.FtuStage.Done) {
2834
+ var _await$frontendClient2, _targetGroup$emailTar;
2835
+ await updateTargetInputs('email', {
2836
+ value: emailAddress
2837
+ });
2838
+ // Authorize this email address for this wallet
2839
+
2840
+ if (!targetGroupId) {
2841
+ setIsLoading(false);
2842
+ return;
2843
+ }
2844
+ await subscribeAlertsDefault(fusionEventTopics, targetGroupId);
2845
+ await updateFtuStage(notifiReact.FtuStage.Done);
2846
+ const targetGroup = (_await$frontendClient2 = await (frontendClient === null || frontendClient === void 0 ? void 0 : frontendClient.fetchFusionData())) === null || _await$frontendClient2 === void 0 || (_await$frontendClient2 = _await$frontendClient2.targetGroup) === null || _await$frontendClient2 === void 0 ? void 0 : _await$frontendClient2.find(group => (group === null || group === void 0 ? void 0 : group.name) === 'Default');
2847
+ const emailTarget = targetGroup === null || targetGroup === void 0 || (_targetGroup$emailTar = targetGroup.emailTargets) === null || _targetGroup$emailTar === void 0 ? void 0 : _targetGroup$emailTar[0];
2848
+ if (emailTarget && !emailTarget.isConfirmed) {
2849
+ await frontendClient.sendEmailTargetVerification({
2850
+ targetId: emailTarget.id
2851
+ });
2852
+ }
2853
+ }
2854
+ setShowSuccessScreen(true);
2855
+ setIsLoading(false);
2856
+ }
2857
+ subscribe();
2858
+ }, [isInitialized, isAuthenticated, targetGroupId, updateTargetInputs, emailAddress, subscribeAlertsDefault, fusionEventTopics, updateFtuStage, isLoadingFtuStage, ftuStage, frontendClient]);
2859
+ React.useEffect(() => {
2860
+ const loginIfExpired = async () => {
2861
+ if (isExpired) {
2862
+ await login();
2863
+ }
2864
+ };
2865
+ loginIfExpired();
2866
+ }, [isExpired, login]);
2926
2867
  const logInAndSubscribe = async () => {
2927
- if (notifiClient != null && chainId != null) {
2868
+ if (!isAuthenticated) {
2928
2869
  setIsLoading(true);
2929
2870
 
2930
2871
  // Ask user to sign a message to authenticate
2931
2872
  try {
2932
- await notifiClient.logIn({
2933
- walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
2934
- signMessage
2935
- });
2873
+ await login();
2874
+ const isDefaultTargetExist = await validateDefaultTargetGroup(frontendClient);
2875
+ if (!isDefaultTargetExist) {
2876
+ await renewTargetGroup();
2877
+ }
2936
2878
  } catch (e) {
2937
2879
  setIsLoading(false);
2938
- return;
2939
- }
2940
-
2941
- // Fetch all event types
2942
- const fetchedEventTypes = await fetchEventTypes(notifiClient);
2943
-
2944
- // Authorize this email address for this wallet
2945
- await notifiClient.ensureTargetGroup({
2946
- name: 'Default',
2947
- emailAddress: emailAddress
2948
- });
2949
-
2950
- // Intentionally running this in serial because the Notifi ensureAlert can't handle
2951
- // multiple calls. Notified their team to fix this.
2952
- // eslint-disable-next-line no-restricted-syntax
2953
- for (const eventType of fetchedEventTypes) {
2954
- // eslint-disable-next-line no-await-in-loop
2955
- await notifiClient.ensureAlert({
2956
- eventType,
2957
- inputs: {}
2958
- });
2959
2880
  }
2960
- setShowSuccessScreen(true);
2961
- setIsLoading(false);
2962
2881
  }
2963
2882
  };
2964
2883
  const handleCloseModal = React.useCallback(() => {
@@ -2967,11 +2886,11 @@ function NotifiSubscriptionModal(_ref) {
2967
2886
  handleSuccess();
2968
2887
  }, [dispatch, handleSuccess, reset]);
2969
2888
  const styles = {
2970
- disclaimer: material.css(_templateObject$l || (_templateObject$l = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2971
- inputField: material.css(_templateObject2$j || (_templateObject2$j = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2972
- inputWrapper: material.css(_templateObject3$g || (_templateObject3$g = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2973
- header: material.css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2974
- check: material.css(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2889
+ disclaimer: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowCentered, theme.palette.text.secondary, theme.spacing(6)),
2890
+ inputField: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n width: 100%;\n font-size: 16px;\n "]))),
2891
+ inputWrapper: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
2892
+ header: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
2893
+ check: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10))
2975
2894
  };
2976
2895
  if (isLoading) {
2977
2896
  return jsxRuntime.jsx(LoadingModal, {
@@ -2988,7 +2907,7 @@ function NotifiSubscriptionModal(_ref) {
2988
2907
  }), jsxRuntime.jsx(BottomButton, {
2989
2908
  variant: "contained",
2990
2909
  onClick: handleCloseModal,
2991
- children: "DONE"
2910
+ children: successText !== null && successText !== void 0 ? successText : 'DONE'
2992
2911
  })]
2993
2912
  });
2994
2913
  }
@@ -2996,7 +2915,6 @@ function NotifiSubscriptionModal(_ref) {
2996
2915
  title: "Connect Your Email",
2997
2916
  children: [jsxRuntime.jsx(material.Typography, {
2998
2917
  variant: "body2",
2999
- textAlign: "justify",
3000
2918
  margin: theme.spacing(6, 0, 4, 0),
3001
2919
  children: "Connect your emails to receive important update about your account."
3002
2920
  }), jsxRuntime.jsx(material.Box, {
@@ -3007,7 +2925,9 @@ function NotifiSubscriptionModal(_ref) {
3007
2925
  type: "email",
3008
2926
  value: emailAddress,
3009
2927
  onChange: handleEmailAddressChange,
3010
- variant: "standard"
2928
+ variant: "outlined",
2929
+ color: "primary",
2930
+ focused: true
3011
2931
  })
3012
2932
  }), jsxRuntime.jsx(material.Box, {
3013
2933
  css: styles.disclaimer,
@@ -3015,7 +2935,7 @@ function NotifiSubscriptionModal(_ref) {
3015
2935
  }), jsxRuntime.jsx(BottomButton, {
3016
2936
  variant: "contained",
3017
2937
  onClick: logInAndSubscribe,
3018
- disabled: !emailValid || isLoading,
2938
+ disabled: !emailValid || isLoading || !isInitialized,
3019
2939
  children: "CONNECT EMAIL"
3020
2940
  })]
3021
2941
  });
@@ -3030,6 +2950,63 @@ function Notifications$4(_ref) {
3030
2950
  });
3031
2951
  }
3032
2952
 
2953
+ const useDoesChainSupportNotifi = chainId => {
2954
+ const [notifiChainSupported, setNotifiChainSupported] = React.useState(false);
2955
+ React.useEffect(() => {
2956
+ const checkNotifiChainSupported = async () => {
2957
+ if (chainId != null) {
2958
+ setNotifiChainSupported(shared.doesChainSupportNotifi(chainId, shared.checkIsDev()));
2959
+ }
2960
+ };
2961
+ checkNotifiChainSupported();
2962
+ }, [chainId]);
2963
+ return {
2964
+ notifiChainSupported
2965
+ };
2966
+ };
2967
+
2968
+ // Check if user is authenticated
2969
+ // If not authenticated or expired, have user login
2970
+ // After login, check FTU stage
2971
+ // If FTU stage is not Done, go to signup flow. Otherwise, skip to next step
2972
+
2973
+ const useIsFirstTimeNotifiUser = (account, chainId) => {
2974
+ const [isFirstTimeNotifiUser, setIsFirstTimeNotifiUser] = React.useState(false);
2975
+ const {
2976
+ frontendClientStatus: {
2977
+ isInitialized,
2978
+ isAuthenticated,
2979
+ isExpired
2980
+ }
2981
+ } = notifiReact.useNotifiFrontendClientContext();
2982
+ const {
2983
+ ftuStage,
2984
+ isLoading: isLoadingFtu
2985
+ } = notifiReact.useNotifiUserSettingContext();
2986
+ const {
2987
+ notifiChainSupported
2988
+ } = useDoesChainSupportNotifi(chainId);
2989
+ React.useEffect(() => {
2990
+ const checkIsFirstTimeNotifiUser = async () => {
2991
+ if (isInitialized && notifiChainSupported) {
2992
+ // If the user is not authenticated or expired, they are possibly a first time user.
2993
+ if (!isAuthenticated || isExpired) {
2994
+ setIsFirstTimeNotifiUser(true);
2995
+ } else if (isAuthenticated) {
2996
+ // If a user is authenticated, check if they've completed all the FTU (First Time User) stages.
2997
+ if (ftuStage !== notifiReact.FtuStage.Done) {
2998
+ setIsFirstTimeNotifiUser(true);
2999
+ }
3000
+ }
3001
+ }
3002
+ };
3003
+ checkIsFirstTimeNotifiUser();
3004
+ }, [ftuStage, isAuthenticated, isExpired, isInitialized, isLoadingFtu, notifiChainSupported]);
3005
+ return {
3006
+ isFirstTimeNotifiUser
3007
+ };
3008
+ };
3009
+
3033
3010
  function CreditLineBorrow(_ref) {
3034
3011
  let {
3035
3012
  poolName: poolNameStr,
@@ -3093,14 +3070,14 @@ function CreditLineBorrow(_ref) {
3093
3070
  children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$4, {
3094
3071
  poolInfo: poolInfo,
3095
3072
  handleApprove: approveCallback
3096
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$f, {
3073
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
3097
3074
  poolInfo: poolInfo,
3098
3075
  accountStats: accountStats
3099
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$b, {
3076
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$a, {
3100
3077
  poolInfo: poolInfo
3101
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$i, {
3078
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
3102
3079
  poolInfo: poolInfo
3103
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$d, {
3080
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3104
3081
  poolInfo: poolInfo,
3105
3082
  handleAction: setupNotificationsOrClose,
3106
3083
  creditRecord: creditRecord,
@@ -3115,7 +3092,7 @@ function CreditLineBorrow(_ref) {
3115
3092
  });
3116
3093
  }
3117
3094
 
3118
- var _templateObject$k, _templateObject2$i, _templateObject3$f, _templateObject4$7, _templateObject5$3, _templateObject6$3, _templateObject7$3, _templateObject8$1;
3095
+ var _templateObject$g, _templateObject2$e, _templateObject3$b, _templateObject4$6, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8$1;
3119
3096
  function InputAmountModal(_ref) {
3120
3097
  let {
3121
3098
  title,
@@ -3124,7 +3101,6 @@ function InputAmountModal(_ref) {
3124
3101
  tokenSymbol,
3125
3102
  suffix: defaultSuffix,
3126
3103
  currentAmount,
3127
- minimumAmount,
3128
3104
  maxAmount,
3129
3105
  maxAmountText = 'MAX',
3130
3106
  maxAmountTitle,
@@ -3136,13 +3112,13 @@ function InputAmountModal(_ref) {
3136
3112
  const [inputTouched, setInputTouched] = React.useState(false);
3137
3113
  const suffix = " ".concat(defaultSuffix !== null && defaultSuffix !== void 0 ? defaultSuffix : tokenSymbol);
3138
3114
  const styles = {
3139
- inputAmountWrapper: material.css(_templateObject$k || (_templateObject$k = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3140
- inputAmount: material.css(_templateObject2$i || (_templateObject2$i = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3141
- inputField: material.css(_templateObject3$f || (_templateObject3$f = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3142
- maxWrapper: material.css(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3143
- maxTitle: material.css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3144
- max: material.css(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n "]))),
3145
- info: material.css(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.palette.text.secondary),
3115
+ inputAmountWrapper: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n margin-top: ", ";\n "])), theme.spacing(1), theme.spacing(16)),
3116
+ inputAmount: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n "])), theme.cssMixins.rowSpaceBetweened),
3117
+ inputField: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n input {\n width: 100%;\n color: ", ";\n font-weight: 800;\n font-size: 40px;\n line-height: 133.4%;\n }\n "])), theme.palette.text.primary),
3118
+ maxWrapper: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n justify-content: flex-end;\n "]))),
3119
+ maxTitle: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n position: absolute;\n color: ", ";\n font-weight: 400;\n font-size: 12px;\n line-height: 166%;\n letter-spacing: 0.4px;\n top: ", ";\n width: 200px;\n text-align: right;\n "])), theme.palette.text.primary, theme.spacing(-3)),
3120
+ max: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n display: flex;\n min-width: fit-content;\n justify-content: center;\n align-items: center;\n border-radius: 32px;\n padding: 4px 10px;\n gap: 8px;\n font-weight: 700;\n font-size: 13px;\n line-height: 22px;\n letter-spacing: 0.46px;\n "]))),
3121
+ info: material.css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.palette.text.secondary),
3146
3122
  subInfo: material.css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteral(["\n position: absolute;\n bottom: ", ";\n "])), theme.spacing(6))
3147
3123
  };
3148
3124
  const onChange = event => {
@@ -3159,9 +3135,6 @@ function InputAmountModal(_ref) {
3159
3135
  if (!shared.isEmpty(maxAmount) && Number(currentAmount) > Number(maxAmount)) {
3160
3136
  return true;
3161
3137
  }
3162
- if (!shared.isEmpty(minimumAmount) && Number(currentAmount) < minimumAmount) {
3163
- return true;
3164
- }
3165
3138
  return false;
3166
3139
  };
3167
3140
  const getEndAdornment = () => jsxRuntime.jsxs(material.Box, {
@@ -3203,11 +3176,6 @@ function InputAmountModal(_ref) {
3203
3176
  css: styles.info,
3204
3177
  children: info
3205
3178
  }, info))
3206
- }), !!minimumAmount && minimumAmount > 0 && jsxRuntime.jsx(material.Box, {
3207
- children: jsxRuntime.jsxs(material.Typography, {
3208
- css: styles.info,
3209
- children: ["Minimum deposit: ", minimumAmount, " ", tokenSymbol]
3210
- }, 'minDeposit')
3211
3179
  }), jsxRuntime.jsx(BottomButton, {
3212
3180
  variant: "contained",
3213
3181
  onClick: handleAction,
@@ -3217,7 +3185,7 @@ function InputAmountModal(_ref) {
3217
3185
  });
3218
3186
  }
3219
3187
 
3220
- function ChooseAmount$e(_ref) {
3188
+ function ChooseAmount$b(_ref) {
3221
3189
  let {
3222
3190
  poolInfo,
3223
3191
  poolUnderlyingToken,
@@ -3270,7 +3238,7 @@ function ChooseAmount$e(_ref) {
3270
3238
  });
3271
3239
  }
3272
3240
 
3273
- function ApproveAllowance$a(_ref) {
3241
+ function ApproveAllowance$9(_ref) {
3274
3242
  let {
3275
3243
  poolInfo,
3276
3244
  poolUnderlyingToken
@@ -3328,7 +3296,7 @@ function TxSendModalV2(_ref) {
3328
3296
  });
3329
3297
  }
3330
3298
 
3331
- function Transfer$h(_ref) {
3299
+ function Transfer$e(_ref) {
3332
3300
  let {
3333
3301
  poolInfo
3334
3302
  } = _ref;
@@ -3362,7 +3330,7 @@ function Transfer$h(_ref) {
3362
3330
  });
3363
3331
  }
3364
3332
 
3365
- function Success$c(_ref) {
3333
+ function Success$b(_ref) {
3366
3334
  let {
3367
3335
  poolUnderlyingToken,
3368
3336
  creditRecord,
@@ -3459,16 +3427,16 @@ function CreditLineBorrowV2(_ref) {
3459
3427
  handleSuccess: handleSuccessCallback,
3460
3428
  children: [!step && jsxRuntime.jsx(LoadingModal, {
3461
3429
  title: "Borrow"
3462
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$e, {
3430
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
3463
3431
  poolInfo: poolInfo,
3464
3432
  poolUnderlyingToken: poolUnderlyingToken,
3465
3433
  accountStats: accountStats
3466
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$a, {
3434
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$9, {
3467
3435
  poolInfo: poolInfo,
3468
3436
  poolUnderlyingToken: poolUnderlyingToken
3469
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$h, {
3437
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
3470
3438
  poolInfo: poolInfo
3471
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$c, {
3439
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3472
3440
  poolUnderlyingToken: poolUnderlyingToken,
3473
3441
  handleAction: setupNotificationsOrClose,
3474
3442
  creditRecord: accountStats.creditRecord,
@@ -3483,7 +3451,7 @@ function CreditLineBorrowV2(_ref) {
3483
3451
  });
3484
3452
  }
3485
3453
 
3486
- function ChooseAmount$d(_ref) {
3454
+ function ChooseAmount$a(_ref) {
3487
3455
  let {
3488
3456
  payoffAmount,
3489
3457
  totalDueAmount,
@@ -3534,7 +3502,7 @@ function ChooseAmount$d(_ref) {
3534
3502
  });
3535
3503
  }
3536
3504
 
3537
- function ApproveAllowance$9(_ref) {
3505
+ function ApproveAllowance$8(_ref) {
3538
3506
  let {
3539
3507
  poolInfo
3540
3508
  } = _ref;
@@ -3548,7 +3516,7 @@ function ApproveAllowance$9(_ref) {
3548
3516
  });
3549
3517
  }
3550
3518
 
3551
- function Transfer$g(_ref) {
3519
+ function Transfer$d(_ref) {
3552
3520
  let {
3553
3521
  poolInfo
3554
3522
  } = _ref;
@@ -3574,7 +3542,7 @@ function Transfer$g(_ref) {
3574
3542
  });
3575
3543
  }
3576
3544
 
3577
- function Success$b(_ref) {
3545
+ function Success$a(_ref) {
3578
3546
  let {
3579
3547
  poolInfo,
3580
3548
  handleAction
@@ -3640,15 +3608,15 @@ function CreditLinePayment(_ref) {
3640
3608
  loadingTitle: "Make Payment",
3641
3609
  handleClose: handleClose,
3642
3610
  handleSuccess: handleSuccess,
3643
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$d, {
3611
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$a, {
3644
3612
  poolInfo: poolInfo,
3645
3613
  payoffAmount: payoffAmount,
3646
3614
  totalDueAmount: totalDueAmount
3647
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$9, {
3615
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$8, {
3648
3616
  poolInfo: poolInfo
3649
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$g, {
3617
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$d, {
3650
3618
  poolInfo: poolInfo
3651
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$b, {
3619
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3652
3620
  poolInfo: poolInfo,
3653
3621
  handleAction: handleClose
3654
3622
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3659,7 +3627,7 @@ function CreditLinePayment(_ref) {
3659
3627
  });
3660
3628
  }
3661
3629
 
3662
- function ChooseAmount$c(_ref) {
3630
+ function ChooseAmount$9(_ref) {
3663
3631
  let {
3664
3632
  payoffAmount: payoffAmountBN,
3665
3633
  totalDueAmount: totalDueAmountBN,
@@ -3720,7 +3688,7 @@ function ChooseAmount$c(_ref) {
3720
3688
  });
3721
3689
  }
3722
3690
 
3723
- function ApproveAllowance$8(_ref) {
3691
+ function ApproveAllowance$7(_ref) {
3724
3692
  let {
3725
3693
  poolInfo,
3726
3694
  poolUnderlyingToken
@@ -3738,7 +3706,7 @@ function ApproveAllowance$8(_ref) {
3738
3706
  });
3739
3707
  }
3740
3708
 
3741
- function Transfer$f(_ref) {
3709
+ function Transfer$c(_ref) {
3742
3710
  let {
3743
3711
  poolInfo,
3744
3712
  poolUnderlyingToken
@@ -3773,7 +3741,7 @@ function Transfer$f(_ref) {
3773
3741
  });
3774
3742
  }
3775
3743
 
3776
- function Success$a(_ref) {
3744
+ function Success$9(_ref) {
3777
3745
  let {
3778
3746
  poolUnderlyingToken,
3779
3747
  handleAction
@@ -3844,18 +3812,18 @@ function CreditLinePaymentV2(_ref) {
3844
3812
  loadingTitle: "Pay",
3845
3813
  handleClose: handleClose,
3846
3814
  handleSuccess: handleSuccess,
3847
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$c, {
3815
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$9, {
3848
3816
  poolInfo: poolInfo,
3849
3817
  poolUnderlyingToken: poolUnderlyingToken,
3850
3818
  payoffAmount: payoffAmount,
3851
3819
  totalDueAmount: totalDueAmount
3852
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$8, {
3820
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$7, {
3853
3821
  poolInfo: poolInfo,
3854
3822
  poolUnderlyingToken: poolUnderlyingToken
3855
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$f, {
3823
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
3856
3824
  poolInfo: poolInfo,
3857
3825
  poolUnderlyingToken: poolUnderlyingToken
3858
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$a, {
3826
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3859
3827
  poolUnderlyingToken: poolUnderlyingToken,
3860
3828
  handleAction: handleClose
3861
3829
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -3866,7 +3834,7 @@ function CreditLinePaymentV2(_ref) {
3866
3834
  });
3867
3835
  }
3868
3836
 
3869
- function ApproveAllowance$7(_ref) {
3837
+ function ApproveAllowance$6(_ref) {
3870
3838
  let {
3871
3839
  poolInfo,
3872
3840
  poolUnderlyingToken,
@@ -3885,7 +3853,7 @@ function ApproveAllowance$7(_ref) {
3885
3853
  });
3886
3854
  }
3887
3855
 
3888
- function Success$9(_ref) {
3856
+ function Success$8(_ref) {
3889
3857
  let {
3890
3858
  amountToDeposit,
3891
3859
  poolUnderlyingToken,
@@ -3903,7 +3871,7 @@ function Success$9(_ref) {
3903
3871
  });
3904
3872
  }
3905
3873
 
3906
- function Transfer$e(_ref) {
3874
+ function Transfer$b(_ref) {
3907
3875
  let {
3908
3876
  poolInfo,
3909
3877
  amountToDeposit,
@@ -3980,15 +3948,15 @@ function SupplyFirstLossCover(_ref) {
3980
3948
  loadingTitle: title,
3981
3949
  handleClose: handleClose,
3982
3950
  handleSuccess: handleSuccess,
3983
- children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$7, {
3951
+ children: [step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$6, {
3984
3952
  poolInfo: poolInfo,
3985
3953
  poolUnderlyingToken: poolUnderlyingToken,
3986
3954
  amountToDeposit: minAmountToDeposit
3987
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$e, {
3955
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$b, {
3988
3956
  poolInfo: poolInfo,
3989
3957
  amountToDeposit: minAmountToDeposit,
3990
3958
  title: title
3991
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$9, {
3959
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
3992
3960
  poolUnderlyingToken: poolUnderlyingToken,
3993
3961
  handleAction: handleClose,
3994
3962
  amountToDeposit: minAmountToDeposit
@@ -4037,7 +4005,7 @@ function Evaluation$3(_ref) {
4037
4005
  });
4038
4006
  }
4039
4007
 
4040
- function ChooseAmount$b(_ref) {
4008
+ function ChooseAmount$8(_ref) {
4041
4009
  var _receivable;
4042
4010
  let {
4043
4011
  poolInfo,
@@ -4102,7 +4070,7 @@ function ChooseAmount$b(_ref) {
4102
4070
  });
4103
4071
  }
4104
4072
 
4105
- var _templateObject$j, _templateObject2$h, _templateObject3$e, _templateObject4$6, _templateObject5$2, _templateObject6$2, _templateObject7$2, _templateObject8, _templateObject9, _templateObject10;
4073
+ var _templateObject$f, _templateObject2$d, _templateObject3$a, _templateObject4$5, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8, _templateObject9, _templateObject10;
4106
4074
  function ConfirmTransferModal(_ref) {
4107
4075
  let {
4108
4076
  title,
@@ -4113,13 +4081,13 @@ function ConfirmTransferModal(_ref) {
4113
4081
  } = _ref;
4114
4082
  const theme = material.useTheme();
4115
4083
  const styles = {
4116
- wrapper: material.css(_templateObject$j || (_templateObject$j = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4117
- header: material.css(_templateObject2$h || (_templateObject2$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4118
- description: material.css(_templateObject3$e || (_templateObject3$e = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4119
- transferWrapper: material.css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4120
- transfer: material.css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4121
- transferItem: material.css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4122
- arrow: material.css(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteral(["\n @keyframes bounceAlpha {\n 0% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n 25% {\n opacity: 0;\n transform: translateX(10px) scale(0.9);\n }\n 26% {\n opacity: 0;\n transform: translateX(-10px) scale(0.9);\n }\n 55% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n }\n animation-name: bounceAlpha;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n color: ", ";\n position: absolute;\n margin: auto;\n top: 0;\n left: calc(15% + 36px);\n bottom: 0;\n right: 0;\n width: 16px;\n height: 16px;\n "])), theme.palette.primary.main),
4084
+ wrapper: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n ", ";\n "])), theme.cssMixins.colStretch),
4085
+ header: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
4086
+ description: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.palette.text.secondary, theme.spacing(4)),
4087
+ transferWrapper: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
4088
+ transfer: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n ", "\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-size: 16px;\n color: ", ";\n padding: ", ";\n margin-bottom: ", ";\n position: relative;\n box-sizing: border-box;\n "])), theme.cssMixins.rowSpaceBetweened, theme.cssMixins.rowVCentered, theme.palette.text.primary, theme.spacing(3, 2), theme.spacing(1)),
4089
+ transferItem: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n ", "\n "])), theme.cssMixins.rowVCentered),
4090
+ arrow: material.css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n @keyframes bounceAlpha {\n 0% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n 25% {\n opacity: 0;\n transform: translateX(10px) scale(0.9);\n }\n 26% {\n opacity: 0;\n transform: translateX(-10px) scale(0.9);\n }\n 55% {\n opacity: 1;\n transform: translateX(0px) scale(1);\n }\n }\n animation-name: bounceAlpha;\n animation-duration: 1.4s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n\n color: ", ";\n position: absolute;\n margin: auto;\n top: 0;\n left: calc(15% + 36px);\n bottom: 0;\n right: 0;\n width: 16px;\n height: 16px;\n "])), theme.palette.primary.main),
4123
4091
  arrowFirst: material.css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n left: calc(15% + 20px);\n animation-delay: 0.2s;\n "]))),
4124
4092
  okButton: material.css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
4125
4093
  usdcIcon: material.css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n width: 22px;\n margin-right: ", ";\n & > path:first-of-type {\n fill: #76707e;\n }\n "])), theme.spacing(2))
@@ -4242,7 +4210,7 @@ function ApproveNFT(_ref) {
4242
4210
  });
4243
4211
  }
4244
4212
 
4245
- function Transfer$d(_ref) {
4213
+ function Transfer$a(_ref) {
4246
4214
  let {
4247
4215
  poolInfo,
4248
4216
  tokenId
@@ -4267,7 +4235,7 @@ function Transfer$d(_ref) {
4267
4235
  });
4268
4236
  }
4269
4237
 
4270
- function Success$8(_ref) {
4238
+ function Success$7(_ref) {
4271
4239
  let {
4272
4240
  handleAction
4273
4241
  } = _ref;
@@ -4318,16 +4286,16 @@ function InvoiceFactoringBorrow(_ref) {
4318
4286
  children: [step === WIDGET_STEP.Evaluation && jsxRuntime.jsx(Evaluation$3, {
4319
4287
  poolInfo: poolInfo,
4320
4288
  tokenId: tokenId.toString()
4321
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$b, {
4289
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
4322
4290
  poolInfo: poolInfo,
4323
4291
  accountStats: accountStats
4324
4292
  }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer$2, {}), step === WIDGET_STEP.ApproveNFT && jsxRuntime.jsx(ApproveNFT, {
4325
4293
  poolInfo: poolInfo,
4326
4294
  tokenId: tokenId.toString()
4327
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$d, {
4295
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$a, {
4328
4296
  poolInfo: poolInfo,
4329
4297
  tokenId: tokenId.toString()
4330
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$8, {
4298
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4331
4299
  handleAction: handleClose
4332
4300
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4333
4301
  title: "Invoice Factoring",
@@ -4337,7 +4305,7 @@ function InvoiceFactoringBorrow(_ref) {
4337
4305
  });
4338
4306
  }
4339
4307
 
4340
- function ChooseAmount$a(_ref) {
4308
+ function ChooseAmount$7(_ref) {
4341
4309
  let {
4342
4310
  creditRecord,
4343
4311
  poolInfo
@@ -4388,7 +4356,7 @@ function ChooseAmount$a(_ref) {
4388
4356
  });
4389
4357
  }
4390
4358
 
4391
- function ApproveAllowance$6(_ref) {
4359
+ function ApproveAllowance$5(_ref) {
4392
4360
  let {
4393
4361
  poolInfo
4394
4362
  } = _ref;
@@ -4402,7 +4370,7 @@ function ApproveAllowance$6(_ref) {
4402
4370
  });
4403
4371
  }
4404
4372
 
4405
- function Transfer$c(_ref) {
4373
+ function Transfer$9(_ref) {
4406
4374
  let {
4407
4375
  poolInfo
4408
4376
  } = _ref;
@@ -4428,7 +4396,7 @@ function Transfer$c(_ref) {
4428
4396
  });
4429
4397
  }
4430
4398
 
4431
- function Success$7(_ref) {
4399
+ function Success$6(_ref) {
4432
4400
  let {
4433
4401
  poolInfo,
4434
4402
  handleAction
@@ -4482,14 +4450,14 @@ function InvoiceFactoringPayment(_ref) {
4482
4450
  loadingTitle: "Make Payment",
4483
4451
  handleClose: handleClose,
4484
4452
  handleSuccess: handleSuccess,
4485
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$a, {
4453
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$7, {
4486
4454
  creditRecord: creditRecord,
4487
4455
  poolInfo: poolInfo
4488
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$6, {
4456
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$5, {
4489
4457
  poolInfo: poolInfo
4490
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$c, {
4458
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
4491
4459
  poolInfo: poolInfo
4492
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$7, {
4460
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
4493
4461
  poolInfo: poolInfo,
4494
4462
  handleAction: handleClose
4495
4463
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -4500,8 +4468,8 @@ function InvoiceFactoringPayment(_ref) {
4500
4468
  });
4501
4469
  }
4502
4470
 
4503
- var _templateObject$i, _templateObject2$g, _templateObject3$d;
4504
- function ChooseTranche$4(_ref) {
4471
+ var _templateObject$e, _templateObject2$c, _templateObject3$9;
4472
+ function ChooseTranche$1(_ref) {
4505
4473
  let {
4506
4474
  selectedTranche,
4507
4475
  changeTranche
@@ -4509,9 +4477,9 @@ function ChooseTranche$4(_ref) {
4509
4477
  const theme = material.useTheme();
4510
4478
  const dispatch = useAppDispatch();
4511
4479
  const styles = {
4512
- subTitle: material.css(_templateObject$i || (_templateObject$i = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4513
- radioGroup: material.css(_templateObject2$g || (_templateObject2$g = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4514
- formControl: material.css(_templateObject3$d || (_templateObject3$d = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4480
+ subTitle: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
4481
+ radioGroup: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
4482
+ formControl: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
4515
4483
  };
4516
4484
  const handleNext = () => {
4517
4485
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -4556,7 +4524,7 @@ function ChooseTranche$4(_ref) {
4556
4524
  });
4557
4525
  }
4558
4526
 
4559
- function ChooseAmount$9(_ref) {
4527
+ function ChooseAmount$6(_ref) {
4560
4528
  let {
4561
4529
  poolInfo,
4562
4530
  poolUnderlyingToken,
@@ -4583,10 +4551,11 @@ function ChooseAmount$9(_ref) {
4583
4551
  const lockupEndTime = depositRecord.lastDepositTime.toNumber() + lpConfig.withdrawalLockoutPeriodInDays * SECONDS_IN_A_DAY;
4584
4552
  if (nextEpochStartTime < lockupEndTime) {
4585
4553
  const lockupEndTimeDayjs = dayjs__default["default"].unix(lockupEndTime).date(1);
4554
+ const withdrawTime = lockupEndTimeDayjs.add(1, 'month');
4586
4555
  dispatch(setStep(WIDGET_STEP.Error));
4587
4556
  dispatch(setError({
4588
4557
  errorReason: 'Redemption too soon',
4589
- errorMessage: "Your last deposit was on ".concat(shared.timestampToLL(depositRecord.lastDepositTime.toNumber()), ". You can redeem on ").concat(shared.timestampToLL(lockupEndTimeDayjs.unix()), ".")
4558
+ errorMessage: "Your last deposit was on ".concat(shared.timestampToLL(depositRecord.lastDepositTime.toNumber()), ". You can begin submitting redemption requests on ").concat(shared.timestampToLL(lockupEndTimeDayjs.unix()), ", which can be redeemed starting ").concat(shared.timestampToLL(withdrawTime.unix()), ".")
4590
4559
  }));
4591
4560
  }
4592
4561
  }
@@ -4621,7 +4590,7 @@ function ChooseAmount$9(_ref) {
4621
4590
  });
4622
4591
  }
4623
4592
 
4624
- function Transfer$b(_ref) {
4593
+ function Transfer$8(_ref) {
4625
4594
  let {
4626
4595
  poolInfo,
4627
4596
  poolUnderlyingToken,
@@ -4654,7 +4623,7 @@ function Transfer$b(_ref) {
4654
4623
  });
4655
4624
  }
4656
4625
 
4657
- function Done$4(_ref) {
4626
+ function Done$2(_ref) {
4658
4627
  let {
4659
4628
  handleAction
4660
4629
  } = _ref;
@@ -4764,18 +4733,18 @@ function AddRedemptionV2(_ref) {
4764
4733
  loadingTitle: title,
4765
4734
  handleClose: handleClose,
4766
4735
  handleSuccess: handleRedeemSuccess,
4767
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$4, {
4736
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
4768
4737
  selectedTranche: trancheInfo === null || trancheInfo === void 0 ? void 0 : trancheInfo.tranche,
4769
4738
  changeTranche: handleChangeTranche
4770
- }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$9, {
4739
+ }), step === WIDGET_STEP.ChooseAmount && trancheInfo && jsxRuntime.jsx(ChooseAmount$6, {
4771
4740
  poolInfo: poolInfo,
4772
4741
  poolUnderlyingToken: poolUnderlyingToken,
4773
4742
  trancheInfo: trancheInfo
4774
- }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$b, {
4743
+ }), step === WIDGET_STEP.Transfer && trancheInfo && jsxRuntime.jsx(Transfer$8, {
4775
4744
  poolInfo: poolInfo,
4776
4745
  poolUnderlyingToken: poolUnderlyingToken,
4777
4746
  trancheInfo: trancheInfo
4778
- }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$4, {
4747
+ }), step === WIDGET_STEP.Done && trancheInfo && jsxRuntime.jsx(Done$2, {
4779
4748
  handleAction: handleClose
4780
4749
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
4781
4750
  title: title,
@@ -4786,7 +4755,7 @@ function AddRedemptionV2(_ref) {
4786
4755
  });
4787
4756
  }
4788
4757
 
4789
- function Transfer$a(_ref) {
4758
+ function Transfer$7(_ref) {
4790
4759
  let {
4791
4760
  poolInfo,
4792
4761
  trancheType,
@@ -4812,7 +4781,7 @@ function Transfer$a(_ref) {
4812
4781
  });
4813
4782
  }
4814
4783
 
4815
- function Done$3(_ref) {
4784
+ function Done$1(_ref) {
4816
4785
  let {
4817
4786
  poolUnderlyingToken,
4818
4787
  redemptionInfo,
@@ -4873,11 +4842,11 @@ function CancelRedemptionV2(_ref) {
4873
4842
  loadingTitle: title,
4874
4843
  handleClose: handleClose,
4875
4844
  handleSuccess: handleRedeemSuccess,
4876
- children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$a, {
4845
+ children: [step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$7, {
4877
4846
  poolInfo: poolInfo,
4878
4847
  trancheType: trancheType,
4879
4848
  redemptionInfo: redemptionInfo
4880
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$3, {
4849
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
4881
4850
  poolUnderlyingToken: poolUnderlyingToken,
4882
4851
  handleAction: handleClose,
4883
4852
  redemptionInfo: redemptionInfo
@@ -4890,7 +4859,7 @@ function CancelRedemptionV2(_ref) {
4890
4859
  });
4891
4860
  }
4892
4861
 
4893
- var _templateObject$h, _templateObject2$f;
4862
+ var _templateObject$d, _templateObject2$b;
4894
4863
  function EvaluationEA(_ref) {
4895
4864
  let {
4896
4865
  poolInfo,
@@ -4904,8 +4873,8 @@ function EvaluationEA(_ref) {
4904
4873
  } = core.useWeb3React();
4905
4874
  const [loading, setLoading] = React.useState(false);
4906
4875
  const styles = {
4907
- iconWrapper: material.css(_templateObject$h || (_templateObject$h = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4908
- description: material.css(_templateObject2$f || (_templateObject2$f = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4876
+ iconWrapper: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
4877
+ description: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
4909
4878
  };
4910
4879
  const approveLender = async () => {
4911
4880
  if (account) {
@@ -5000,7 +4969,7 @@ function HumaSnackBar(_ref2) {
5000
4969
  });
5001
4970
  }
5002
4971
 
5003
- var _templateObject$g, _templateObject2$e;
4972
+ var _templateObject$c, _templateObject2$a;
5004
4973
  const KYCProvider = 'Securitize';
5005
4974
  // TODO: Add copies for the other pools. Currently only the Jia pool is using the KYC process.
5006
4975
  const JiaPoolCopies = {
@@ -5066,8 +5035,8 @@ function EvaluationKYC(_ref) {
5066
5035
  const docSignatureCompleted = docSignatureStatus === 'completed';
5067
5036
  const [openSnackBar, setOpenSnackBar] = React.useState(false);
5068
5037
  const styles = {
5069
- iconWrapper: material.css(_templateObject$g || (_templateObject$g = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5070
- description: material.css(_templateObject2$e || (_templateObject2$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
5038
+ iconWrapper: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5039
+ description: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.secondary)
5071
5040
  };
5072
5041
  const {
5073
5042
  envelopeKey,
@@ -5279,7 +5248,7 @@ function Evaluation$2(_ref) {
5279
5248
  });
5280
5249
  }
5281
5250
 
5282
- function ChooseAmount$8(_ref) {
5251
+ function ChooseAmount$5(_ref) {
5283
5252
  let {
5284
5253
  allowance,
5285
5254
  withdrawlLockoutSeconds,
@@ -5322,7 +5291,7 @@ function ChooseAmount$8(_ref) {
5322
5291
  });
5323
5292
  }
5324
5293
 
5325
- function ApproveAllowance$5(_ref) {
5294
+ function ApproveAllowance$4(_ref) {
5326
5295
  let {
5327
5296
  poolInfo
5328
5297
  } = _ref;
@@ -5336,7 +5305,7 @@ function ApproveAllowance$5(_ref) {
5336
5305
  });
5337
5306
  }
5338
5307
 
5339
- function Transfer$9(_ref) {
5308
+ function Transfer$6(_ref) {
5340
5309
  let {
5341
5310
  poolInfo
5342
5311
  } = _ref;
@@ -5359,7 +5328,7 @@ function Transfer$9(_ref) {
5359
5328
  });
5360
5329
  }
5361
5330
 
5362
- function Success$6(_ref) {
5331
+ function Success$5(_ref) {
5363
5332
  let {
5364
5333
  poolInfo,
5365
5334
  handleAction,
@@ -5486,16 +5455,16 @@ function LendSupply(_ref) {
5486
5455
  poolInfo: poolInfo,
5487
5456
  handleClose: handleClose,
5488
5457
  handleApproveSuccess: handleApproveSuccess
5489
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$8, {
5458
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$5, {
5490
5459
  poolInfo: poolInfo,
5491
5460
  allowance: allowance,
5492
5461
  underlyingTokenBalance: balanceWithoutDecimals,
5493
5462
  withdrawlLockoutSeconds: withdrawlLockoutSeconds
5494
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$5, {
5463
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$4, {
5495
5464
  poolInfo: poolInfo
5496
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$9, {
5465
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$6, {
5497
5466
  poolInfo: poolInfo
5498
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$6, {
5467
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
5499
5468
  poolInfo: poolInfo,
5500
5469
  handleAction: setupNotificationsOrClose,
5501
5470
  hasNextStep: isFirstTimeNotifiUser
@@ -5510,8 +5479,8 @@ function LendSupply(_ref) {
5510
5479
  });
5511
5480
  }
5512
5481
 
5513
- var _templateObject$f, _templateObject2$d, _templateObject3$c;
5514
- function ChooseTranche$3(_ref) {
5482
+ var _templateObject$b, _templateObject2$9, _templateObject3$8;
5483
+ function ChooseTranche(_ref) {
5515
5484
  let {
5516
5485
  poolUnderlyingToken,
5517
5486
  selectedTranche,
@@ -5520,9 +5489,9 @@ function ChooseTranche$3(_ref) {
5520
5489
  const theme = material.useTheme();
5521
5490
  const dispatch = useAppDispatch();
5522
5491
  const styles = {
5523
- subTitle: material.css(_templateObject$f || (_templateObject$f = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5524
- radioGroup: material.css(_templateObject2$d || (_templateObject2$d = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5525
- formControl: material.css(_templateObject3$c || (_templateObject3$c = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5492
+ subTitle: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
5493
+ radioGroup: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
5494
+ formControl: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
5526
5495
  };
5527
5496
  const handleNext = () => {
5528
5497
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -5572,7 +5541,7 @@ function ChooseTranche$3(_ref) {
5572
5541
  });
5573
5542
  }
5574
5543
 
5575
- var _templateObject$e, _templateObject2$c, _templateObject3$b;
5544
+ var _templateObject$a, _templateObject2$8, _templateObject3$7;
5576
5545
  function PersonaEvaluation(_ref) {
5577
5546
  let {
5578
5547
  poolInfo,
@@ -5838,9 +5807,9 @@ function PersonaEvaluation(_ref) {
5838
5807
  }
5839
5808
  };
5840
5809
  const styles = {
5841
- iconWrapper: material.css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5842
- description: material.css(_templateObject2$c || (_templateObject2$c = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5843
- points: material.css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5810
+ iconWrapper: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
5811
+ description: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary),
5812
+ points: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n color: ", ";\n font-weight: 700;\n "])), theme.palette.primary.main)
5844
5813
  };
5845
5814
  if (!loadingType) {
5846
5815
  return jsxRuntime.jsxs(WrapperModal, {
@@ -5872,7 +5841,7 @@ function PersonaEvaluation(_ref) {
5872
5841
  });
5873
5842
  }
5874
5843
 
5875
- var _templateObject$d, _templateObject2$b;
5844
+ var _templateObject$9, _templateObject2$7;
5876
5845
  const LoadingCopiesByType = {
5877
5846
  verificationStatus: {
5878
5847
  description: "Checking your verification status..."
@@ -6077,8 +6046,8 @@ function SecuritizeEvaluation(_ref) {
6077
6046
  onClose: () => setOpenSnackBar(false)
6078
6047
  });
6079
6048
  const styles = {
6080
- iconWrapper: material.css(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6081
- description: material.css(_templateObject2$b || (_templateObject2$b = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6049
+ iconWrapper: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n & > img {\n width: 144px;\n }\n "])), theme.cssMixins.rowCentered, theme.spacing(8)),
6050
+ description: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n padding: ", ";\n font-weight: 400;\n font-size: 16px;\n color: ", ";\n "])), theme.cssMixins.rowCentered, theme.spacing(10), theme.spacing(0, 2), theme.palette.text.primary)
6082
6051
  };
6083
6052
  if (!loadingType) {
6084
6053
  return jsxRuntime.jsxs(WrapperModal, {
@@ -6134,7 +6103,7 @@ function Evaluation$1(_ref) {
6134
6103
  return null;
6135
6104
  }
6136
6105
 
6137
- function ChooseAmount$7(_ref) {
6106
+ function ChooseAmount$4(_ref) {
6138
6107
  let {
6139
6108
  poolInfo,
6140
6109
  lpConfig,
@@ -6217,7 +6186,7 @@ function ChooseAmount$7(_ref) {
6217
6186
  });
6218
6187
  }
6219
6188
 
6220
- function ApproveAllowance$4(_ref) {
6189
+ function ApproveAllowance$3(_ref) {
6221
6190
  let {
6222
6191
  poolInfo
6223
6192
  } = _ref;
@@ -6234,7 +6203,7 @@ function ApproveAllowance$4(_ref) {
6234
6203
  });
6235
6204
  }
6236
6205
 
6237
- function Transfer$8(_ref) {
6206
+ function Transfer$5(_ref) {
6238
6207
  let {
6239
6208
  poolInfo,
6240
6209
  trancheType
@@ -6266,7 +6235,7 @@ function Transfer$8(_ref) {
6266
6235
  });
6267
6236
  }
6268
6237
 
6269
- function Success$5(_ref) {
6238
+ function Success$4(_ref) {
6270
6239
  let {
6271
6240
  poolInfo,
6272
6241
  lpConfig,
@@ -6329,8 +6298,9 @@ function Success$5(_ref) {
6329
6298
  }, [campaign, dispatch, handleAction, isFirstTimeNotifiUser, notifiChainSupported]);
6330
6299
  const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
6331
6300
  const getSubContent = () => {
6332
- const currentTime = moment__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'days');
6333
- return ["First redemption date: ".concat(shared.timeUtil.timestampToLL(currentTime.unix()), ". You can redeem end of each month after.")];
6301
+ const redemptionTime = dayjs__default["default"]().add(lpConfig.withdrawalLockoutPeriodInDays, 'day').date(1);
6302
+ const withdrawTime = redemptionTime.add(1, 'month');
6303
+ return ["You can begin submitting redemption requests on ".concat(shared.timeUtil.timestampToLL(redemptionTime.unix()), ", which can be redeemed starting ").concat(shared.timeUtil.timestampToLL(withdrawTime.unix()), ".")];
6334
6304
  };
6335
6305
  const getButtonText = () => {
6336
6306
  if (hasNextStep) {
@@ -6360,11 +6330,12 @@ function Notifications$1(_ref) {
6360
6330
  }
6361
6331
  }, [campaign, dispatch, handleAction]);
6362
6332
  return jsxRuntime.jsx(NotifiSubscriptionModal, {
6333
+ successText: campaign ? 'VIEW POINTS' : undefined,
6363
6334
  handleSuccess: handleUserAction
6364
6335
  });
6365
6336
  }
6366
6337
 
6367
- var _templateObject$c, _templateObject2$a, _templateObject3$a, _templateObject4$5, _templateObject5$1, _templateObject6$1, _templateObject7$1;
6338
+ var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$4, _templateObject5, _templateObject6, _templateObject7;
6368
6339
  var STATE = /*#__PURE__*/function (STATE) {
6369
6340
  STATE["Loading"] = "Loading";
6370
6341
  STATE["SignIn"] = "SignIn";
@@ -6452,13 +6423,13 @@ function PointsEarned(_ref) {
6452
6423
  handleAction();
6453
6424
  }, [dispatch, handleAction, reset]);
6454
6425
  const styles = {
6455
- wrapper: material.css(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6456
- congrats: material.css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6457
- ribbon: material.css(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6458
- ribbonContent: material.css(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6459
- entirePoints: material.css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6460
- entirePointsDetails: material.css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6461
- everyday: material.css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
6426
+ wrapper: material.css(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
6427
+ congrats: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), theme.spacing(-4, -4.5, 0, -4.5)),
6428
+ ribbon: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n position: relative;\n ", ";\n font-weight: 700;\n margin-top: ", ";\n color: ", ";\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n "])), theme.cssMixins.rowHCentered, theme.spacing(-8), theme.palette.text.primary),
6429
+ ribbonContent: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n ", ";\n position: absolute;\n top: ", ";\n\n svg {\n margin-right: ", ";\n }\n "])), theme.cssMixins.rowVCentered, theme.spacing(1), theme.spacing(1)),
6430
+ entirePoints: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 700;\n font-size: 20px;\n line-height: 160%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(7)),
6431
+ entirePointsDetails: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n text-align: center;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n "])), theme.palette.text.tertiary, theme.spacing(4)),
6432
+ everyday: material.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-weight: 700;\n "])))
6462
6433
  };
6463
6434
  if (state === STATE.SignIn) {
6464
6435
  return jsxRuntime.jsx(SignIn, {
@@ -6589,7 +6560,7 @@ function LendSupplyV2(_ref) {
6589
6560
  loadingTitle: "Supply ".concat(poolUnderlyingToken.symbol),
6590
6561
  handleClose: handleClose,
6591
6562
  handleSuccess: handleSuccess,
6592
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$3, {
6563
+ children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
6593
6564
  poolUnderlyingToken: poolUnderlyingToken,
6594
6565
  selectedTranche: selectedTranche,
6595
6566
  changeTranche: setSelectedTranche
@@ -6600,19 +6571,19 @@ function LendSupplyV2(_ref) {
6600
6571
  changeTranche: setSelectedTranche,
6601
6572
  pointsTestnetExperience: pointsTestnetExperience,
6602
6573
  campaign: campaign
6603
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$7, {
6574
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$4, {
6604
6575
  poolInfo: poolInfo,
6605
6576
  lpConfig: lpConfig,
6606
6577
  juniorAssets: juniorAssets,
6607
6578
  seniorAssets: seniorAssets,
6608
6579
  selectedTranche: selectedTranche,
6609
6580
  isUniTranche: isUniTranche
6610
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$4, {
6581
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$3, {
6611
6582
  poolInfo: poolInfo
6612
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$8, {
6583
+ }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$5, {
6613
6584
  poolInfo: poolInfo,
6614
6585
  trancheType: selectedTranche
6615
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$5, {
6586
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6616
6587
  poolInfo: poolInfo,
6617
6588
  lpConfig: lpConfig,
6618
6589
  campaign: campaign,
@@ -6677,7 +6648,7 @@ function CheckWithdrawable(_ref) {
6677
6648
  });
6678
6649
  }
6679
6650
 
6680
- function ChooseAmount$6(_ref) {
6651
+ function ChooseAmount$3(_ref) {
6681
6652
  let {
6682
6653
  lenderPosition,
6683
6654
  poolBalance,
@@ -6715,7 +6686,7 @@ function ChooseAmount$6(_ref) {
6715
6686
  });
6716
6687
  }
6717
6688
 
6718
- function Transfer$7(_ref) {
6689
+ function Transfer$4(_ref) {
6719
6690
  let {
6720
6691
  poolInfo
6721
6692
  } = _ref;
@@ -6738,7 +6709,7 @@ function Transfer$7(_ref) {
6738
6709
  });
6739
6710
  }
6740
6711
 
6741
- function Success$4(_ref) {
6712
+ function Success$3(_ref) {
6742
6713
  let {
6743
6714
  poolInfo,
6744
6715
  handleAction
@@ -6828,13 +6799,13 @@ function LendWithdraw(_ref) {
6828
6799
  children: [step === WIDGET_STEP.CheckWithdrawable && jsxRuntime.jsx(CheckWithdrawable, {
6829
6800
  poolInfo: poolInfo,
6830
6801
  handleClose: handleClose
6831
- }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$6, {
6802
+ }), step === WIDGET_STEP.ChooseAmount && lenderPosition && poolBalance && jsxRuntime.jsx(ChooseAmount$3, {
6832
6803
  poolInfo: poolInfo,
6833
6804
  lenderPosition: lenderPosition,
6834
6805
  poolBalance: poolBalance
6835
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$7, {
6806
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$4, {
6836
6807
  poolInfo: poolInfo
6837
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$4, {
6808
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
6838
6809
  poolInfo: poolInfo,
6839
6810
  handleAction: handleClose
6840
6811
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
@@ -6846,7 +6817,7 @@ function LendWithdraw(_ref) {
6846
6817
  });
6847
6818
  }
6848
6819
 
6849
- var _templateObject$b, _templateObject2$9, _templateObject3$9, _templateObject4$4;
6820
+ var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$3;
6850
6821
  function ConfirmTransfer$1(_ref) {
6851
6822
  let {
6852
6823
  poolInfo,
@@ -6888,10 +6859,10 @@ function ConfirmTransfer$1(_ref) {
6888
6859
  dispatch(setStep(WIDGET_STEP.Transfer));
6889
6860
  };
6890
6861
  const styles = {
6891
- itemWrapper: material.css(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6892
- item: material.css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6893
- itemValue: material.css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6894
- divider: material.css(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6862
+ itemWrapper: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n margin-top: ", ";\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 175%;\n letter-spacing: 0.15px;\n "])), theme.spacing(9), theme.palette.text.primary),
6863
+ item: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: ", ";\n "])), theme.spacing(3)),
6864
+ itemValue: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n font-size: 20px;\n font-weight: 700;\n "]))),
6865
+ divider: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n border-color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.divider, theme.spacing(3))
6895
6866
  };
6896
6867
  return jsxRuntime.jsxs(WrapperModal, {
6897
6868
  title: "Withdraw ".concat(symbol),
@@ -6935,7 +6906,7 @@ function ConfirmTransfer$1(_ref) {
6935
6906
  });
6936
6907
  }
6937
6908
 
6938
- function Transfer$6(_ref) {
6909
+ function Transfer$3(_ref) {
6939
6910
  let {
6940
6911
  poolInfo,
6941
6912
  tranche,
@@ -6961,7 +6932,7 @@ function Transfer$6(_ref) {
6961
6932
  });
6962
6933
  }
6963
6934
 
6964
- function Done$2(_ref) {
6935
+ function Done(_ref) {
6965
6936
  let {
6966
6937
  poolUnderlyingToken,
6967
6938
  withdrawAmount,
@@ -7061,11 +7032,11 @@ function LendWithdrawV2(_ref) {
7061
7032
  redemptionStatus: redemptionStatus,
7062
7033
  poolUnderlyingToken: poolUnderlyingToken,
7063
7034
  poolIsClosed: poolIsClosed
7064
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$6, {
7035
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$3, {
7065
7036
  poolInfo: poolInfo,
7066
7037
  tranche: trancheType,
7067
7038
  poolIsClosed: poolIsClosed
7068
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$2, {
7039
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done, {
7069
7040
  poolUnderlyingToken: poolUnderlyingToken,
7070
7041
  withdrawAmount: redemptionStatus.withdrawableAssets,
7071
7042
  handleAction: handleClose
@@ -7078,7 +7049,7 @@ function LendWithdrawV2(_ref) {
7078
7049
  });
7079
7050
  }
7080
7051
 
7081
- function ChooseAmount$5(_ref) {
7052
+ function ChooseAmount$2(_ref) {
7082
7053
  let {
7083
7054
  poolInfo,
7084
7055
  poolUnderlyingToken,
@@ -7142,7 +7113,7 @@ function ChooseAmount$5(_ref) {
7142
7113
  });
7143
7114
  }
7144
7115
 
7145
- function ApproveAllowance$3(_ref) {
7116
+ function ApproveAllowance$2(_ref) {
7146
7117
  let {
7147
7118
  poolInfo,
7148
7119
  poolUnderlyingToken
@@ -7201,7 +7172,7 @@ function ApproveReceivable$1(_ref) {
7201
7172
  });
7202
7173
  }
7203
7174
 
7204
- function Transfer$5(_ref) {
7175
+ function Transfer$2(_ref) {
7205
7176
  let {
7206
7177
  poolInfo,
7207
7178
  tokenId
@@ -7246,7 +7217,7 @@ function Transfer$5(_ref) {
7246
7217
  });
7247
7218
  }
7248
7219
 
7249
- function Success$3(_ref) {
7220
+ function Success$2(_ref) {
7250
7221
  let {
7251
7222
  poolUnderlyingToken,
7252
7223
  creditRecord,
@@ -7342,21 +7313,21 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7342
7313
  loadingTitle: "Borrow",
7343
7314
  handleClose: handleClose,
7344
7315
  handleSuccess: handleSuccessCallback,
7345
- children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$5, {
7316
+ children: [step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$2, {
7346
7317
  poolInfo: poolInfo,
7347
7318
  poolUnderlyingToken: poolUnderlyingToken,
7348
7319
  accountStats: accountStats,
7349
7320
  tokenId: tokenId
7350
- }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$3, {
7321
+ }), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$2, {
7351
7322
  poolInfo: poolInfo,
7352
7323
  poolUnderlyingToken: poolUnderlyingToken
7353
7324
  }), step === WIDGET_STEP.ApproveNFT && tokenId && jsxRuntime.jsx(ApproveReceivable$1, {
7354
7325
  poolInfo: poolInfo,
7355
7326
  tokenId: tokenId
7356
- }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$5, {
7327
+ }), step === WIDGET_STEP.Transfer && tokenId && jsxRuntime.jsx(Transfer$2, {
7357
7328
  poolInfo: poolInfo,
7358
7329
  tokenId: tokenId
7359
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$3, {
7330
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$2, {
7360
7331
  poolUnderlyingToken: poolUnderlyingToken,
7361
7332
  handleAction: setupNotificationsOrClose,
7362
7333
  creditRecord: accountStats.creditRecord,
@@ -7371,7 +7342,7 @@ function ReceivableBackedCreditLineBorrowV2(_ref) {
7371
7342
  });
7372
7343
  }
7373
7344
 
7374
- var _templateObject$a, _templateObject2$8, _templateObject3$8;
7345
+ var _templateObject$6, _templateObject2$4, _templateObject3$4;
7375
7346
  function ChoosePaymentType(_ref) {
7376
7347
  let {
7377
7348
  paymentType,
@@ -7380,9 +7351,9 @@ function ChoosePaymentType(_ref) {
7380
7351
  const theme = material.useTheme();
7381
7352
  const dispatch = useAppDispatch();
7382
7353
  const styles = {
7383
- subTitle: material.css(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7384
- radioGroup: material.css(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7385
- formControl: material.css(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7354
+ subTitle: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
7355
+ radioGroup: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
7356
+ formControl: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
7386
7357
  };
7387
7358
  const handleNext = () => {
7388
7359
  dispatch(setStep(WIDGET_STEP.ChooseAmount));
@@ -7427,7 +7398,7 @@ function ChoosePaymentType(_ref) {
7427
7398
  });
7428
7399
  }
7429
7400
 
7430
- function ChooseAmount$4(_ref) {
7401
+ function ChooseAmount$1(_ref) {
7431
7402
  let {
7432
7403
  payoffAmount: payoffAmountBN,
7433
7404
  poolInfo,
@@ -7481,7 +7452,7 @@ function ChooseAmount$4(_ref) {
7481
7452
  });
7482
7453
  }
7483
7454
 
7484
- function ApproveAllowance$2(_ref) {
7455
+ function ApproveAllowance$1(_ref) {
7485
7456
  let {
7486
7457
  poolInfo,
7487
7458
  poolUnderlyingToken,
@@ -7609,7 +7580,7 @@ function ApproveReceivable(_ref) {
7609
7580
  });
7610
7581
  }
7611
7582
 
7612
- function Transfer$4(_ref) {
7583
+ function Transfer$1(_ref) {
7613
7584
  let {
7614
7585
  poolInfo,
7615
7586
  poolUnderlyingToken,
@@ -7667,7 +7638,7 @@ function Transfer$4(_ref) {
7667
7638
  });
7668
7639
  }
7669
7640
 
7670
- function Success$2(_ref) {
7641
+ function Success$1(_ref) {
7671
7642
  let {
7672
7643
  poolUnderlyingToken,
7673
7644
  paymentType,
@@ -7760,12 +7731,12 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7760
7731
  children: [step === WIDGET_STEP.ChoosePaymentType && jsxRuntime.jsx(ChoosePaymentType, {
7761
7732
  paymentType: paymentType,
7762
7733
  changePaymentType: setPaymentType
7763
- }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$4, {
7734
+ }), step === WIDGET_STEP.ChooseAmount && paymentType && jsxRuntime.jsx(ChooseAmount$1, {
7764
7735
  poolInfo: poolInfo,
7765
7736
  poolUnderlyingToken: poolUnderlyingToken,
7766
7737
  payoffAmount: payoffAmount,
7767
7738
  paymentType: paymentType
7768
- }), step === WIDGET_STEP.ApproveAllowance && paymentType && jsxRuntime.jsx(ApproveAllowance$2, {
7739
+ }), step === WIDGET_STEP.ApproveAllowance && paymentType && jsxRuntime.jsx(ApproveAllowance$1, {
7769
7740
  poolInfo: poolInfo,
7770
7741
  poolUnderlyingToken: poolUnderlyingToken,
7771
7742
  paymentType: paymentType
@@ -7776,14 +7747,14 @@ function ReceivableBackedCreditLinePaymentV2(_ref) {
7776
7747
  }), step === WIDGET_STEP.ApproveNFT && borrowTokenId && jsxRuntime.jsx(ApproveReceivable, {
7777
7748
  poolInfo: poolInfo,
7778
7749
  tokenId: borrowTokenId
7779
- }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$4, {
7750
+ }), step === WIDGET_STEP.Transfer && paymentType && jsxRuntime.jsx(Transfer$1, {
7780
7751
  poolInfo: poolInfo,
7781
7752
  poolUnderlyingToken: poolUnderlyingToken,
7782
7753
  paymentType: paymentType,
7783
7754
  paymentTokenId: tokenId,
7784
7755
  borrowTokenId: borrowTokenId,
7785
7756
  setSuccessTxReceipt: setSuccessTxReceipt
7786
- }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$2, {
7757
+ }), step === WIDGET_STEP.Done && paymentType && successTxReceipt && jsxRuntime.jsx(Success$1, {
7787
7758
  poolUnderlyingToken: poolUnderlyingToken,
7788
7759
  paymentType: paymentType,
7789
7760
  handleAction: handleClose,
@@ -7823,7 +7794,7 @@ const useElementDimensions = ref => {
7823
7794
  return dimensions;
7824
7795
  };
7825
7796
 
7826
- var _templateObject$9, _templateObject2$7, _templateObject3$7;
7797
+ var _templateObject$5, _templateObject2$3, _templateObject3$3;
7827
7798
  // @TODO: Move HumaTable along with Superfluid widget to Dapp package
7828
7799
  function HumaTable(_ref) {
7829
7800
  let {
@@ -7842,9 +7813,9 @@ function HumaTable(_ref) {
7842
7813
  } = useElementDimensions(ref);
7843
7814
  const isLoading = !columns || !rows;
7844
7815
  const styles = {
7845
- tableHeader: material.css(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "])), theme.cssMixins.rowVCentered),
7846
- tableBody: material.css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "]))),
7847
- empty: material.css(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: ", ";\n font-weight: 400;\n font-size: 14px;\n "])), theme.spacing(2))
7816
+ tableHeader: material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n ", "\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "])), theme.cssMixins.rowVCentered),
7817
+ tableBody: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n font-weight: 400;\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n "]))),
7818
+ empty: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: ", ";\n font-weight: 400;\n font-size: 14px;\n "])), theme.spacing(2))
7848
7819
  };
7849
7820
  const handleChangePage = (event, newPage) => {
7850
7821
  setPage(newPage);
@@ -7971,8 +7942,8 @@ function HumaTable(_ref) {
7971
7942
  });
7972
7943
  }
7973
7944
 
7974
- var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$3;
7975
- const GET_ACTIVITY = client.gql(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n query GetCreditLineActivity($pool: String!, $owner: String!, $event: [Int]!) {\n creditEvents(\n where: { pool: $pool, owner: $owner, event_in: $event }\n orderBy: timestamp\n orderDirection: desc\n ) {\n id\n amount\n timestamp\n owner\n pool\n event\n }\n }\n"])));
7945
+ var _templateObject$4, _templateObject2$2, _templateObject3$2, _templateObject4$2;
7946
+ const GET_ACTIVITY = client.gql(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n query GetCreditLineActivity($pool: String!, $owner: String!, $event: [Int]!) {\n creditEvents(\n where: { pool: $pool, owner: $owner, event_in: $event }\n orderBy: timestamp\n orderDirection: desc\n ) {\n id\n amount\n timestamp\n owner\n pool\n event\n }\n }\n"])));
7976
7947
  const columns = [{
7977
7948
  title: 'Action',
7978
7949
  dataIndex: 'eventText'
@@ -8033,9 +8004,9 @@ function Activity(_ref) {
8033
8004
  setEvents(result);
8034
8005
  }, [data === null || data === void 0 ? void 0 : data.creditEvents, decimals]);
8035
8006
  const styles = {
8036
- wrapper: material.css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
8037
- title: material.css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n font-weight: 800;\n font-size: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8038
- tableWrapper: material.css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);\n border-radius: 24px;\n padding: ", ";\n "])), getPadding())
8007
+ wrapper: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(9)),
8008
+ title: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n font-weight: 800;\n font-size: 24px;\n color: ", ";\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8009
+ tableWrapper: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);\n border-radius: 24px;\n padding: ", ";\n "])), getPadding())
8039
8010
  };
8040
8011
  return jsxRuntime.jsxs(material.Box, {
8041
8012
  css: styles.wrapper,
@@ -8106,7 +8077,7 @@ function Evaluation(_ref) {
8106
8077
  });
8107
8078
  }
8108
8079
 
8109
- function ChooseAmount$3(_ref) {
8080
+ function ChooseAmount(_ref) {
8110
8081
  var _poolInfo$extra;
8111
8082
  let {
8112
8083
  poolInfo,
@@ -8220,7 +8191,7 @@ function ConfirmTransfer() {
8220
8191
  });
8221
8192
  }
8222
8193
 
8223
- function ApproveAllowance$1(_ref) {
8194
+ function ApproveAllowance(_ref) {
8224
8195
  let {
8225
8196
  poolInfo
8226
8197
  } = _ref;
@@ -8292,7 +8263,7 @@ function Permit(_ref) {
8292
8263
  });
8293
8264
  }
8294
8265
 
8295
- function Transfer$3(_ref) {
8266
+ function Transfer(_ref) {
8296
8267
  let {
8297
8268
  poolInfo
8298
8269
  } = _ref;
@@ -8321,7 +8292,7 @@ function Transfer$3(_ref) {
8321
8292
  });
8322
8293
  }
8323
8294
 
8324
- function Success$1(_ref) {
8295
+ function Success(_ref) {
8325
8296
  let {
8326
8297
  handleAction
8327
8298
  } = _ref;
@@ -8371,19 +8342,19 @@ function StreamFactoringBorrow(_ref) {
8371
8342
  poolInfo: poolInfo,
8372
8343
  payerAddress: payerAddress,
8373
8344
  superToken: superToken
8374
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$3, {
8345
+ }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount, {
8375
8346
  poolInfo: poolInfo,
8376
8347
  currentFlowRate: currentFlowRate
8377
- }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance$1, {
8348
+ }), step === WIDGET_STEP.ConfirmTransfer && jsxRuntime.jsx(ConfirmTransfer, {}), step === WIDGET_STEP.ApproveAllowance && jsxRuntime.jsx(ApproveAllowance, {
8378
8349
  poolInfo: poolInfo
8379
8350
  }), step === WIDGET_STEP.Permit && account && jsxRuntime.jsx(Permit, {
8380
8351
  poolInfo: poolInfo,
8381
8352
  payerAddress: payerAddress,
8382
8353
  borrower: account,
8383
8354
  superToken: superToken
8384
- }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer$3, {
8355
+ }), step === WIDGET_STEP.Transfer && jsxRuntime.jsx(Transfer, {
8385
8356
  poolInfo: poolInfo
8386
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success$1, {
8357
+ }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
8387
8358
  handleAction: handleClose
8388
8359
  }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
8389
8360
  title: "Stream Borrowing",
@@ -8393,7 +8364,7 @@ function StreamFactoringBorrow(_ref) {
8393
8364
  });
8394
8365
  }
8395
8366
 
8396
- var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$2;
8367
+ var _templateObject$3, _templateObject2$1, _templateObject3$1, _templateObject4$1;
8397
8368
  function UpcomingList(_ref) {
8398
8369
  let {
8399
8370
  items,
@@ -8419,10 +8390,10 @@ function UpcomingList(_ref) {
8419
8390
  return theme.spacing(0, 2, 2, 2);
8420
8391
  };
8421
8392
  const styles = {
8422
- title: material.css(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8423
- description: material.css(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
8424
- tableWrapper: material.css(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
8425
- progress: material.css(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
8393
+ title: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8394
+ description: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
8395
+ tableWrapper: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
8396
+ progress: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
8426
8397
  };
8427
8398
  return jsxRuntime.jsxs(material.Box, {
8428
8399
  children: [jsxRuntime.jsx(material.Box, {
@@ -8451,7 +8422,7 @@ function UpcomingList(_ref) {
8451
8422
  });
8452
8423
  }
8453
8424
 
8454
- var _templateObject$6, _templateObject2$4, _templateObject3$4, _templateObject4$1;
8425
+ var _templateObject$2, _templateObject2, _templateObject3, _templateObject4;
8455
8426
  function _EMOTION_STRINGIFIED_CSS_ERROR__$2() { 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)."; }
8456
8427
  var _ref2$1 = process.env.NODE_ENV === "production" ? {
8457
8428
  name: "1llo5fb",
@@ -8529,10 +8500,10 @@ function FactoredList(_ref) {
8529
8500
  return theme.spacing(0, 2, 2, 2);
8530
8501
  };
8531
8502
  const styles = {
8532
- title: material.css(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8533
- description: material.css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
8534
- tableWrapper: material.css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
8535
- progress: material.css(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
8503
+ title: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n font-weight: 800;\n color: ", ";\n font-size: 24px;\n margin-bottom: ", ";\n "])), theme.palette.text.primary, theme.spacing(2)),
8504
+ description: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n font-weight: 400;\n color: ", ";\n font-size: 1rem;\n "])), theme.palette.text.primary),
8505
+ tableWrapper: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-top: ", ";\n padding: ", ";\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n "])), theme.spacing(3), getPadding()),
8506
+ progress: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: ", ";\n "])), theme.spacing(2))
8536
8507
  };
8537
8508
  return jsxRuntime.jsxs(material.Box, {
8538
8509
  children: [jsxRuntime.jsxs(material.Box, {
@@ -8609,7 +8580,7 @@ function SuperfluidFactoredList(_ref) {
8609
8580
  });
8610
8581
  }
8611
8582
 
8612
- var _templateObject$5;
8583
+ var _templateObject$1;
8613
8584
  function TableActionButton(_ref) {
8614
8585
  let {
8615
8586
  title,
@@ -8617,7 +8588,7 @@ function TableActionButton(_ref) {
8617
8588
  handleClick,
8618
8589
  disabled = false
8619
8590
  } = _ref;
8620
- const styles = material.css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n border: none;\n padding: 0;\n background: ", ";\n &:hover {\n border: none;\n }\n "])), disabled ? 'unset !important' : 'inherit');
8591
+ const styles = material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n border: none;\n padding: 0;\n background: ", ";\n &:hover {\n border: none;\n }\n "])), disabled ? 'unset !important' : 'inherit');
8621
8592
  return jsxRuntime.jsx(material.Button, {
8622
8593
  className: className,
8623
8594
  variant: disabled ? undefined : 'outlined',
@@ -8630,9 +8601,9 @@ function TableActionButton(_ref) {
8630
8601
  });
8631
8602
  }
8632
8603
 
8633
- var _templateObject$4;
8604
+ var _templateObject;
8634
8605
  function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { 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)."; }
8635
- const GET_RECEIVED_STREAMS = client.gql(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteral(["\n query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {\n streams(\n where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }\n orderBy: updatedAtTimestamp\n orderDirection: desc\n ) {\n id\n currentFlowRate\n sender {\n id\n }\n token {\n id\n symbol\n decimals\n }\n }\n }\n"])));
8606
+ const GET_RECEIVED_STREAMS = client.gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {\n streams(\n where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }\n orderBy: updatedAtTimestamp\n orderDirection: desc\n ) {\n id\n currentFlowRate\n sender {\n id\n }\n token {\n id\n symbol\n decimals\n }\n }\n }\n"])));
8636
8607
  const getUpcomingColumns = (userHasActiveLoan, handleGetPaid) => [{
8637
8608
  title: '',
8638
8609
  dataIndex: 'icon',
@@ -8886,7 +8857,7 @@ const coreThemeConstants = {
8886
8857
  borderRadius: {
8887
8858
  md: 4
8888
8859
  },
8889
- fontFamily: ['Roboto', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', '"Helvetica Neue"', 'Arial', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"'].join(','),
8860
+ fontFamily: ['Red-Hat-Display', '-apple-system', 'BlinkMacSystemFont', '"Segoe UI"', '"Helvetica Neue"', 'Arial', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', '"Segoe UI Symbol"'].join(','),
8890
8861
  letterSpacing: {
8891
8862
  lg: '2px',
8892
8863
  md: '1px',
@@ -9279,1126 +9250,80 @@ const themeHuma = material.createTheme(themeBase, {
9279
9250
  components: components(themeBase)
9280
9251
  });
9281
9252
 
9282
- var _templateObject$3, _templateObject2$3, _templateObject3$3;
9283
- function ChooseTranche$2(_ref) {
9284
- let {
9285
- poolUnderlyingToken,
9286
- selectedTranche,
9287
- changeTranche
9288
- } = _ref;
9289
- const theme = material.useTheme();
9290
- const dispatch = useAppDispatch();
9291
- const styles = {
9292
- subTitle: material.css(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9293
- radioGroup: material.css(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9294
- formControl: material.css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9295
- };
9296
- const handleNext = () => {
9297
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9298
- };
9299
- const items = [{
9300
- label: 'Senior',
9301
- value: 'senior'
9302
- }, {
9303
- label: 'Junior',
9304
- value: 'junior'
9305
- }];
9306
- return jsxRuntime.jsxs(WrapperModal, {
9307
- title: "Supply ".concat(poolUnderlyingToken.symbol),
9308
- children: [jsxRuntime.jsxs(material.FormControl, {
9309
- children: [jsxRuntime.jsx(material.FormLabel, {
9310
- css: styles.subTitle,
9311
- children: "Select Tranche Type"
9312
- }), jsxRuntime.jsx(material.RadioGroup, {
9313
- "aria-labelledby": "buttons-group-label",
9314
- name: "radio-buttons-group",
9315
- css: styles.radioGroup,
9316
- onChange: e => changeTranche(e.target.value),
9317
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9318
- value: item.value,
9319
- control: jsxRuntime.jsx(material.Radio, {
9320
- sx: {
9321
- '& .MuiSvgIcon-root': {
9322
- fontSize: 24
9323
- }
9324
- }
9325
- }),
9326
- label: item.label,
9327
- css: styles.formControl
9328
- }, item.label))
9329
- })]
9330
- }), jsxRuntime.jsx(BottomButton, {
9331
- variant: "contained",
9332
- disabled: !selectedTranche,
9333
- onClick: handleNext,
9334
- children: "NEXT"
9335
- })]
9336
- });
9337
- }
9338
-
9339
- function ChooseAmount$2(_ref) {
9253
+ function NotifiContextWrapper(_ref) {
9340
9254
  let {
9341
- poolInfo,
9342
- poolState,
9343
- tokenAccount,
9344
- selectedTranche,
9345
- isUniTranche
9255
+ chainId,
9256
+ children
9346
9257
  } = _ref;
9347
- const dispatch = useAppDispatch();
9348
- const {
9349
- symbol,
9350
- decimals
9351
- } = poolInfo.underlyingMint;
9352
- const [currentAmount, setCurrentAmount] = React.useState(0);
9353
- const balance = React.useMemo(() => new anchor.BN(tokenAccount.amount), [tokenAccount.amount]);
9354
9258
  const {
9355
- juniorAvailableCapBN,
9356
- seniorAvailableCapBN
9357
- } = React.useMemo(() => {
9358
- const {
9359
- maxSeniorJuniorRatio,
9360
- liquidityCap,
9361
- seniorTrancheAssets,
9362
- juniorTrancheAssets
9363
- } = poolState;
9364
- const juniorTrancheAssetsBN = new anchor.BN(juniorTrancheAssets);
9365
- const seniorTrancheAssetsBN = new anchor.BN(seniorTrancheAssets);
9366
- const totalDeployedBN = seniorTrancheAssetsBN.add(juniorTrancheAssetsBN);
9367
- const totalAvailableCapBN = new anchor.BN(liquidityCap).sub(totalDeployedBN);
9368
- const maxSeniorAssetsBN = juniorTrancheAssetsBN.muln(maxSeniorJuniorRatio);
9369
- let seniorAvailableCapBN = maxSeniorAssetsBN.sub(seniorTrancheAssetsBN);
9370
- seniorAvailableCapBN = seniorAvailableCapBN.gt(totalAvailableCapBN) ? totalAvailableCapBN : seniorAvailableCapBN;
9371
- return {
9372
- juniorAvailableCapBN: totalAvailableCapBN.sub(seniorAvailableCapBN),
9373
- seniorAvailableCapBN
9374
- };
9375
- }, [poolState]);
9376
- const handleChangeAmount = newAmount => {
9377
- setCurrentAmount(newAmount);
9378
- dispatch(setSupplyAmount(Number(newAmount)));
9379
- };
9380
- const handleAction = () => {
9381
- dispatch(setStep(WIDGET_STEP.Transfer));
9382
- };
9383
- const getTrancheCap = () => {
9384
- if (selectedTranche === 'junior') {
9385
- return juniorAvailableCapBN;
9386
- }
9387
- return seniorAvailableCapBN;
9388
- };
9389
- const getMinAmount = () => {
9390
- const minAmount = poolState.minDepositAmount ? shared.SolanaTokenUtils.formatUnits(new anchor.BN(poolState.minDepositAmount), decimals) : 0;
9391
- return Math.max(0, Math.ceil(Number(minAmount)));
9392
- };
9393
- const getMaxAmount = () => {
9394
- const trancheCap = getTrancheCap();
9395
- return balance.gt(trancheCap) ? trancheCap : balance;
9396
- };
9397
- const getInfos = () => {
9398
- const trancheCap = getTrancheCap();
9399
- const currentAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
9400
- const remainingCap = trancheCap.sub(currentAmountBN);
9401
- if (remainingCap.ltn(0)) {
9402
- return ['0 remaining capacity'];
9259
+ account,
9260
+ provider
9261
+ } = core.useWeb3React();
9262
+ const signer = React.useMemo(() => {
9263
+ if (provider instanceof ethers.providers.JsonRpcProvider) {
9264
+ return provider.getSigner();
9403
9265
  }
9404
- return ["".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(remainingCap, decimals)), " remaining capacity")];
9405
- };
9406
- return jsxRuntime.jsx(InputAmountModal, {
9407
- title: "Enter Amount",
9408
- subTitle: "Depositing to ".concat(isUniTranche ? 'uni tranche' : selectedTranche, " tranche"),
9409
- tokenSymbol: symbol,
9410
- currentAmount: currentAmount,
9411
- handleChangeAmount: handleChangeAmount,
9412
- minimumAmount: getMinAmount(),
9413
- maxAmount: Number(shared.SolanaTokenUtils.formatUnits(getMaxAmount(), decimals)),
9414
- maxAmountTitle: "".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(balance, decimals)), " balance"),
9415
- infos: getInfos(),
9416
- handleAction: handleAction,
9417
- actionText: "SUPPLY"
9418
- });
9419
- }
9420
-
9421
- function SolanaViewOnExplorer(_ref) {
9422
- let {
9423
- chainId,
9424
- signature
9425
- } = _ref;
9426
- const link = shared.getSolanaExplorerUrl(chainId, signature, 'tx');
9427
- if (!link) {
9266
+ return undefined;
9267
+ }, [provider]);
9268
+ if (account == null || signer == null || chainId == null) {
9428
9269
  return null;
9429
9270
  }
9430
- return jsxRuntime.jsx(material.Button, {
9431
- fullWidth: true,
9432
- variant: "outlined",
9433
- onClick: () => shared.openInNewTab(link),
9434
- children: jsxRuntime.jsx(material.Box, {
9435
- component: "span",
9436
- children: "VIEW ON EXPLORER"
9437
- })
9271
+ let cardId = '';
9272
+ if (chainId === shared.ChainEnum.Celo || chainId === shared.ChainEnum.Alfajores) {
9273
+ var _process$env$REACT_AP;
9274
+ cardId = (_process$env$REACT_AP = process.env.REACT_APP_NOTIFI_CONFIG_ID_CELO) !== null && _process$env$REACT_AP !== void 0 ? _process$env$REACT_AP : '';
9275
+ } else if (chainId === shared.ChainEnum.Polygon || chainId === shared.ChainEnum.Amoy) {
9276
+ var _process$env$REACT_AP2;
9277
+ cardId = (_process$env$REACT_AP2 = process.env.REACT_APP_NOTIFI_CONFIG_ID_POLYGON) !== null && _process$env$REACT_AP2 !== void 0 ? _process$env$REACT_AP2 : '';
9278
+ } else if (chainId === shared.ChainEnum.Scroll || chainId === shared.ChainEnum.ScrollSepolia) {
9279
+ var _process$env$REACT_AP3;
9280
+ cardId = (_process$env$REACT_AP3 = process.env.REACT_APP_NOTIFI_CONFIG_ID_SCROLL) !== null && _process$env$REACT_AP3 !== void 0 ? _process$env$REACT_AP3 : '';
9281
+ }
9282
+ return jsxRuntime.jsx(notifiReact.NotifiContextProvider, {
9283
+ tenantId: "humafinanceprod",
9284
+ env: "Production",
9285
+ signMessage: async message => {
9286
+ const result = await signer.signMessage(message);
9287
+ return bytes.arrayify(result);
9288
+ },
9289
+ walletPublicKey: account,
9290
+ walletBlockchain: shared.getBlockchainConfigFromChain(chainId),
9291
+ cardId: cardId,
9292
+ children: children
9438
9293
  });
9439
9294
  }
9440
9295
 
9441
- function SolanaTxSendModal(_ref) {
9442
- let {
9443
- chainId,
9444
- tx,
9445
- handleSuccess
9446
- } = _ref;
9447
- const dispatch = useAppDispatch();
9448
- const {
9449
- sendTransaction
9450
- } = walletAdapterReact.useWallet();
9296
+ function Widget(props) {
9451
9297
  const {
9452
- connection
9453
- } = walletAdapterReact.useConnection();
9454
- const [signature, setSignature] = React.useState('');
9298
+ children,
9299
+ provider
9300
+ } = props;
9301
+ const [chainId, setChainId] = React.useState(undefined);
9455
9302
  React.useEffect(() => {
9456
- async function sendTx() {
9457
- if (!connection || !tx) {
9458
- return;
9459
- }
9460
- try {
9461
- const latestBlockHash = await connection.getLatestBlockhash();
9462
- const signature = await sendTransaction(tx, connection);
9463
- setSignature(signature);
9464
- dispatch(setSolanaSignature(signature));
9465
- await connection.confirmTransaction({
9466
- blockhash: latestBlockHash.blockhash,
9467
- lastValidBlockHeight: latestBlockHash.lastValidBlockHeight,
9468
- signature
9469
- });
9470
- handleSuccess();
9471
- } catch (error) {
9472
- const err = error;
9473
- dispatch(setError({
9474
- errorMessage: (err === null || err === void 0 ? void 0 : err.message) || ''
9475
- }));
9303
+ const getChainId = async () => {
9304
+ if (provider instanceof providers.JsonRpcProvider) {
9305
+ const network = await provider.getNetwork();
9306
+ setChainId(network === null || network === void 0 ? void 0 : network.chainId);
9476
9307
  }
9477
- }
9478
- sendTx();
9479
- }, [connection, dispatch, handleSuccess, sendTransaction, tx]);
9480
- return jsxRuntime.jsx(LoadingModal, {
9481
- title: "Transaction Pending",
9482
- description: "Waiting for confirmation...",
9483
- children: jsxRuntime.jsx(SolanaViewOnExplorer, {
9484
- chainId: chainId,
9485
- signature: signature
9486
- })
9487
- });
9488
- }
9489
-
9490
- function Transfer$2(_ref) {
9491
- let {
9492
- poolInfo,
9493
- selectedTranche
9494
- } = _ref;
9495
- const dispatch = useAppDispatch();
9496
- const {
9497
- publicKey
9498
- } = walletAdapterReact.useWallet();
9499
- const {
9500
- supplyAmount
9501
- } = useAppSelector(selectWidgetState);
9502
- const {
9503
- decimals
9504
- } = poolInfo.underlyingMint;
9505
- const supplyBigNumber = shared.SolanaTokenUtils.parseUnits(String(supplyAmount), decimals);
9506
- const [transaction, setTransaction] = React.useState();
9507
- const program = webShared.useHumaProgram(poolInfo.chainId);
9508
- const handleSuccess = React.useCallback(() => {
9509
- dispatch(setStep(WIDGET_STEP.Done));
9510
- }, [dispatch]);
9511
- React.useEffect(() => {
9512
- async function getTx() {
9513
- if (!publicKey || transaction) {
9514
- return;
9515
- }
9516
- const {
9517
- underlyingTokenATA,
9518
- seniorTrancheATA,
9519
- juniorTrancheATA
9520
- } = shared.getTokenAccounts(poolInfo, publicKey);
9521
- const tx = await program.methods.deposit(supplyBigNumber).accountsPartial({
9522
- depositor: publicKey,
9523
- poolConfig: poolInfo.poolConfig,
9524
- underlyingMint: poolInfo.underlyingMint.address,
9525
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9526
- poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
9527
- depositorUnderlyingToken: underlyingTokenATA,
9528
- depositorTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9529
- humaConfig: poolInfo.humaConfig,
9530
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9531
- }).transaction();
9532
- setTransaction(tx);
9533
- }
9534
- getTx();
9535
- }, [poolInfo, program.methods, publicKey, selectedTranche, supplyBigNumber, transaction]);
9536
- return jsxRuntime.jsx(SolanaTxSendModal, {
9537
- tx: transaction,
9538
- chainId: poolInfo.chainId,
9539
- handleSuccess: handleSuccess
9540
- });
9541
- }
9542
-
9543
- var _templateObject$2, _templateObject2$2, _templateObject3$2, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
9544
- function SolanaTxDoneModal(_ref) {
9545
- let {
9546
- content,
9547
- subContent,
9548
- handleAction,
9549
- solanaSignature,
9550
- chainId,
9551
- buttonText
9552
- } = _ref;
9553
- const theme = material.useTheme();
9554
- const dispatch = useAppDispatch();
9555
- const styles = {
9556
- wrapper: material.css(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n height: 518px;\n position: relative;\n "]))),
9557
- header: material.css(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteral(["\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(-0.5)),
9558
- content: material.css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteral(["\n ", ";\n font-weight: ", ";\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, subContent ? 700 : 400, theme.palette.text.secondary, theme.spacing(8)),
9559
- subContent: material.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n ", ";\n font-weight: 400;\n font-size: 18px;\n color: ", ";\n margin-top: ", ";\n text-align: center;\n "])), theme.cssMixins.colVCentered, theme.palette.text.primary, theme.spacing(2)),
9560
- check: material.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 100%;\n ", ";\n margin-top: ", ";\n "])), theme.cssMixins.rowHCentered, theme.spacing(10)),
9561
- bottomButtonGroup: material.css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 100%;\n position: absolute;\n bottom: 0;\n "]))),
9562
- bottomButton: material.css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n margin-top: ", ";\n "])), theme.spacing(1))
9563
- };
9564
- const handleCloseModal = React.useCallback(() => {
9565
- dispatch(resetState());
9566
- handleAction();
9567
- }, [dispatch, handleAction]);
9568
- return jsxRuntime.jsxs(material.Box, {
9569
- css: styles.wrapper,
9570
- children: [jsxRuntime.jsx(material.Typography, {
9571
- variant: "h6",
9572
- css: styles.header,
9573
- children: "Transaction Completed"
9574
- }), jsxRuntime.jsx(material.Box, {
9575
- css: styles.check,
9576
- children: jsxRuntime.jsx(CheckIcon, {})
9577
- }), jsxRuntime.jsx(material.Box, {
9578
- css: styles.content,
9579
- children: content.map(item => jsxRuntime.jsx(material.Box, {
9580
- sx: {
9581
- marginTop: theme.spacing(1)
9582
- },
9583
- children: item
9584
- }, item))
9585
- }), subContent && jsxRuntime.jsx(material.Box, {
9586
- css: styles.subContent,
9587
- children: subContent.map(item => jsxRuntime.jsx(material.Box, {
9588
- sx: {
9589
- marginTop: theme.spacing(1)
9590
- },
9591
- children: item
9592
- }, item))
9593
- }), jsxRuntime.jsxs(material.Box, {
9594
- css: styles.bottomButtonGroup,
9595
- children: [solanaSignature && chainId && jsxRuntime.jsx(SolanaViewOnExplorer, {
9596
- signature: solanaSignature,
9597
- chainId: chainId
9598
- }), jsxRuntime.jsx(material.Button, {
9599
- className: "transaction-done-modal-close-btn",
9600
- variant: "contained",
9601
- fullWidth: true,
9602
- css: styles.bottomButton,
9603
- onClick: handleCloseModal,
9604
- children: !buttonText ? 'DONE' : buttonText
9605
- })]
9606
- })]
9607
- });
9608
- }
9609
-
9610
- function Success(_ref) {
9611
- let {
9612
- poolInfo,
9613
- poolState,
9614
- handleAction
9615
- } = _ref;
9616
- const {
9617
- supplyAmount,
9618
- solanaSignature
9619
- } = useAppSelector(selectWidgetState);
9620
- const {
9621
- symbol
9622
- } = poolInfo.underlyingMint;
9623
- const content = ["You successfully supplied ".concat(shared.formatMoney(supplyAmount), " ").concat(symbol, ".")];
9624
- const getSubContent = () => {
9625
- const currentTime = moment__default["default"]().add(poolState.withdrawalLockupPeriodDays, 'days');
9626
- return ["First redemption date: ".concat(shared.timeUtil.timestampToLL(currentTime.unix()), ". You can redeem end of each month after.")];
9627
- };
9628
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9629
- handleAction: handleAction,
9630
- content: content,
9631
- subContent: getSubContent(),
9632
- chainId: poolInfo.chainId,
9633
- solanaSignature: solanaSignature,
9634
- buttonText: "DONE"
9635
- });
9636
- }
9637
-
9638
- function SolanaLendSupply(_ref) {
9639
- let {
9640
- poolInfo,
9641
- poolState,
9642
- handleClose,
9643
- handleSuccess
9644
- } = _ref;
9645
- const dispatch = reactRedux.useDispatch();
9646
- const {
9647
- seniorLenderApproved,
9648
- juniorLenderApproved,
9649
- loading: isLoadingLenderAccounts
9650
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9651
- const [tokenAccount, isLoadingTokenAccount] = webShared.useTokenAccount(poolInfo);
9652
- const {
9653
- step,
9654
- errorMessage
9655
- } = useAppSelector(selectWidgetState);
9656
- const isUniTranche = poolState.maxSeniorJuniorRatio === 0;
9657
- const [selectedTranche, setSelectedTranche] = React.useState();
9658
- React.useEffect(() => {
9659
- if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccount) {
9660
- if (juniorLenderApproved && !seniorLenderApproved) {
9661
- setSelectedTranche('junior');
9662
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9663
- return;
9664
- }
9665
- if (seniorLenderApproved && !juniorLenderApproved) {
9666
- setSelectedTranche('senior');
9667
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9668
- return;
9669
- }
9670
- if (juniorLenderApproved && seniorLenderApproved) {
9671
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
9672
- // return
9673
- }
9674
-
9675
- // if (poolInfo.supplyLink) {
9676
- // openInNewTab(poolInfo.supplyLink)
9677
- // handleClose()
9678
- // }
9679
- }
9680
- }, [dispatch, handleClose, poolInfo, step, isLoadingLenderAccounts, juniorLenderApproved, seniorLenderApproved, isLoadingTokenAccount]);
9681
- if (isLoadingLenderAccounts || isLoadingTokenAccount) {
9682
- return jsxRuntime.jsx(WidgetWrapper, {
9683
- isOpen: true,
9684
- isLoading: true,
9685
- loadingTitle: "Supply",
9686
- handleClose: handleClose,
9687
- handleSuccess: handleSuccess
9688
- });
9689
- }
9690
- return jsxRuntime.jsxs(WidgetWrapper, {
9691
- isOpen: true,
9692
- loadingTitle: "Supply ".concat(poolInfo.underlyingMint.symbol),
9693
- handleClose: handleClose,
9694
- handleSuccess: handleSuccess,
9695
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$2, {
9696
- poolUnderlyingToken: poolInfo.underlyingMint,
9697
- selectedTranche: selectedTranche,
9698
- changeTranche: setSelectedTranche
9699
- }), step === WIDGET_STEP.ChooseAmount && jsxRuntime.jsx(ChooseAmount$2, {
9700
- poolInfo: poolInfo,
9701
- poolState: poolState,
9702
- tokenAccount: tokenAccount,
9703
- selectedTranche: selectedTranche,
9704
- isUniTranche: isUniTranche
9705
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$2, {
9706
- poolInfo: poolInfo,
9707
- selectedTranche: selectedTranche
9708
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Success, {
9709
- poolInfo: poolInfo,
9710
- poolState: poolState,
9711
- handleAction: handleClose
9712
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
9713
- title: "Supply",
9714
- errorReason: "Sorry there was an error",
9715
- errorMessage: errorMessage,
9716
- handleOk: handleClose
9717
- })]
9718
- });
9719
- }
9720
-
9721
- function ChooseAmount$1(_ref) {
9722
- let {
9723
- poolInfo,
9724
- poolState,
9725
- selectedTranche,
9726
- lenderState
9727
- } = _ref;
9728
- const dispatch = useAppDispatch();
9729
- const {
9730
- symbol
9731
- } = poolInfo.underlyingMint;
9732
- const [currentAmount, setCurrentAmount] = React.useState(0);
9733
- const [currentShares, setCurrentShares] = React.useState(0);
9734
- const {
9735
- mintAccount,
9736
- loading: isLoadingTrancheMintAccounts
9737
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9738
- const {
9739
- seniorTokenAccount,
9740
- juniorTokenAccount,
9741
- loading: isLoadingTokenAccounts
9742
- } = webShared.useTrancheTokenAccounts(poolInfo);
9743
- const maxSharesFormatted = React.useMemo(() => {
9744
- if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals)) {
9745
- return 0;
9746
- }
9747
- return shared.SolanaTokenUtils.formatUnits(selectedTranche === 'senior' ? new anchor.BN(seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount) : new anchor.BN(juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount), mintAccount.decimals);
9748
- }, [mintAccount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount, selectedTranche, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount]);
9749
- const sharePrice = React.useMemo(() => {
9750
- if (!(mintAccount !== null && mintAccount !== void 0 && mintAccount.decimals) || !(mintAccount !== null && mintAccount !== void 0 && mintAccount.supply)) {
9751
- return 0;
9752
- }
9753
- const mintSupplyFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN(mintAccount.supply), mintAccount.decimals));
9754
- if (mintSupplyFormatted === 0) {
9755
- return 0;
9756
- }
9757
- const seniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN(poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets), mintAccount.decimals));
9758
- if (selectedTranche === 'senior') {
9759
- return seniorTrancheAssetsFormatted / mintSupplyFormatted;
9760
- }
9761
- const juniorTrancheAssetsFormatted = Number(shared.SolanaTokenUtils.formatUnits(new anchor.BN(poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets), mintAccount.decimals));
9762
- return juniorTrancheAssetsFormatted / mintSupplyFormatted;
9763
- }, [mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals, mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.supply, poolState === null || poolState === void 0 ? void 0 : poolState.juniorTrancheAssets, poolState === null || poolState === void 0 ? void 0 : poolState.seniorTrancheAssets, selectedTranche]);
9764
- React.useEffect(() => {
9765
- if (poolState !== null && poolState !== void 0 && poolState.withdrawalLockupPeriodDays && poolState !== null && poolState !== void 0 && poolState.epochEndTime && lenderState) {
9766
- const SECONDS_IN_A_DAY = 24 * 60 * 60;
9767
- const lastDepositTime = Number(lenderState.depositRecord.lastDepositTime);
9768
- const lockupEndTime = lastDepositTime + poolState.withdrawalLockupPeriodDays * SECONDS_IN_A_DAY;
9769
- if (poolState.epochEndTime < lockupEndTime) {
9770
- const lockupEndTimeDayjs = dayjs__default["default"].unix(lockupEndTime).date(1);
9771
- dispatch(setStep(WIDGET_STEP.Error));
9772
- dispatch(setError({
9773
- errorReason: 'Redemption too soon',
9774
- errorMessage: "Your last deposit was on ".concat(shared.timestampToLL(lastDepositTime), ". You can redeem on ").concat(shared.timestampToLL(lockupEndTimeDayjs.unix()), ".")
9775
- }));
9776
- }
9777
- }
9778
- }, [dispatch, lenderState, poolState.epochEndTime, poolState.withdrawalLockupPeriodDays]);
9779
- const handleChangeShares = newShares => {
9780
- const amount = Number(newShares) * sharePrice;
9781
- setCurrentShares(Number(newShares));
9782
- setCurrentAmount(amount);
9783
- dispatch(setRedeemShares(Number(newShares)));
9784
- dispatch(setRedeemAmount(amount));
9785
- };
9786
- const handleAction = () => {
9787
- dispatch(setStep(WIDGET_STEP.Transfer));
9788
- };
9789
- if (isLoadingTokenAccounts || isLoadingTrancheMintAccounts || !lenderState || (poolState === null || poolState === void 0 ? void 0 : poolState.withdrawalLockupPeriodDays) === undefined ||
9790
- // withdrawalLockupPeriodDays can be 0
9791
- !(poolState !== null && poolState !== void 0 && poolState.epochEndTime)) {
9792
- return jsxRuntime.jsx(LoadingModal, {
9793
- title: "Redemption"
9794
- });
9795
- }
9796
- return jsxRuntime.jsx(InputAmountModal, {
9797
- title: "Redemption",
9798
- subTitle: "Enter number of shares to redeem from the ".concat(selectedTranche, " tranche"),
9799
- tokenSymbol: symbol,
9800
- currentAmount: currentShares,
9801
- handleChangeAmount: handleChangeShares,
9802
- maxAmount: maxSharesFormatted,
9803
- infos: ["".concat(String(shared.formatNumber(currentAmount)), " ").concat(symbol)],
9804
- maxAmountTitle: "".concat(shared.formatNumber(maxSharesFormatted), " Shares"),
9805
- suffix: "Shares",
9806
- handleAction: handleAction,
9807
- actionText: "REQUEST"
9808
- });
9809
- }
9810
-
9811
- var _templateObject$1, _templateObject2$1, _templateObject3$1;
9812
- function ChooseTranche$1(_ref) {
9813
- let {
9814
- selectedTranche,
9815
- changeTranche
9816
- } = _ref;
9817
- const theme = material.useTheme();
9818
- const dispatch = useAppDispatch();
9819
- const styles = {
9820
- subTitle: material.css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
9821
- radioGroup: material.css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
9822
- formControl: material.css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
9823
- };
9824
- const handleNext = () => {
9825
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9826
- };
9827
- const items = [{
9828
- label: 'Senior',
9829
- value: 'senior'
9830
- }, {
9831
- label: 'Junior',
9832
- value: 'junior'
9833
- }];
9834
- return jsxRuntime.jsxs(WrapperModal, {
9835
- title: "Redemption",
9836
- children: [jsxRuntime.jsxs(material.FormControl, {
9837
- children: [jsxRuntime.jsx(material.FormLabel, {
9838
- css: styles.subTitle,
9839
- children: "Select Tranche Type"
9840
- }), jsxRuntime.jsx(material.RadioGroup, {
9841
- "aria-labelledby": "buttons-group-label",
9842
- name: "radio-buttons-group",
9843
- css: styles.radioGroup,
9844
- onChange: e => changeTranche(e.target.value),
9845
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
9846
- value: item.value,
9847
- control: jsxRuntime.jsx(material.Radio, {
9848
- sx: {
9849
- '& .MuiSvgIcon-root': {
9850
- fontSize: 24
9851
- }
9852
- }
9853
- }),
9854
- label: item.label,
9855
- css: styles.formControl
9856
- }, item.label))
9857
- })]
9858
- }), jsxRuntime.jsx(BottomButton, {
9859
- variant: "contained",
9860
- disabled: !selectedTranche,
9861
- onClick: handleNext,
9862
- children: "NEXT"
9863
- })]
9864
- });
9865
- }
9866
-
9867
- function Done$1(_ref) {
9868
- let {
9869
- poolInfo,
9870
- handleAction
9871
- } = _ref;
9872
- const {
9873
- redeemShares,
9874
- solanaSignature
9875
- } = useAppSelector(selectWidgetState);
9876
- const content = ["".concat(shared.formatNumber(redeemShares), " shares requested for redemption")];
9877
- return jsxRuntime.jsx(SolanaTxDoneModal, {
9878
- handleAction: handleAction,
9879
- content: content,
9880
- chainId: poolInfo.chainId,
9881
- solanaSignature: solanaSignature,
9882
- buttonText: "DONE"
9883
- });
9884
- }
9885
-
9886
- function Transfer$1(_ref) {
9887
- let {
9888
- poolInfo,
9889
- selectedTranche
9890
- } = _ref;
9891
- const dispatch = useAppDispatch();
9892
- const {
9893
- publicKey
9894
- } = walletAdapterReact.useWallet();
9895
- const {
9896
- redeemShares
9897
- } = useAppSelector(selectWidgetState);
9898
- const {
9899
- mintAccount
9900
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
9901
- const [transaction, setTransaction] = React.useState();
9902
- const program = webShared.useHumaProgram(poolInfo.chainId);
9903
- const redeemBN = React.useMemo(() => {
9904
- if (!mintAccount) {
9905
- return null;
9906
- }
9907
- return shared.SolanaTokenUtils.parseUnits(String(redeemShares), mintAccount === null || mintAccount === void 0 ? void 0 : mintAccount.decimals);
9908
- }, [mintAccount, redeemShares]);
9909
- const handleSuccess = React.useCallback(() => {
9910
- dispatch(setStep(WIDGET_STEP.Done));
9911
- }, [dispatch]);
9912
- React.useEffect(() => {
9913
- async function getTx() {
9914
- if (!publicKey || !redeemBN || transaction) {
9915
- return;
9916
- }
9917
- const {
9918
- seniorTrancheATA,
9919
- juniorTrancheATA,
9920
- poolSeniorTrancheATA,
9921
- poolJuniorTrancheATA
9922
- } = shared.getTokenAccounts(poolInfo, publicKey);
9923
- const tx = await program.methods.addRedemptionRequest(redeemBN).accountsPartial({
9924
- lender: publicKey,
9925
- humaConfig: poolInfo.humaConfig,
9926
- poolConfig: poolInfo.poolConfig,
9927
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
9928
- poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
9929
- lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
9930
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
9931
- }).transaction();
9932
- setTransaction(tx);
9933
- }
9934
- getTx();
9935
- }, [poolInfo, program.methods, publicKey, redeemBN, selectedTranche, transaction]);
9936
- return jsxRuntime.jsx(SolanaTxSendModal, {
9937
- tx: transaction,
9938
- chainId: poolInfo.chainId,
9939
- handleSuccess: handleSuccess
9940
- });
9941
- }
9942
-
9943
- function SolanaLendAddRedemption(_ref) {
9944
- let {
9945
- poolInfo,
9946
- poolState,
9947
- handleClose,
9948
- handleSuccess
9949
- } = _ref;
9950
- const dispatch = reactRedux.useDispatch();
9951
- const {
9952
- seniorLenderStateAccount,
9953
- juniorLenderStateAccount,
9954
- loading: isLoadingLenderAccounts
9955
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
9956
- const {
9957
- seniorTokenAccount,
9958
- juniorTokenAccount,
9959
- loading: isLoadingTokenAccounts
9960
- } = webShared.useTrancheTokenAccounts(poolInfo);
9961
- const {
9962
- step,
9963
- errorMessage
9964
- } = useAppSelector(selectWidgetState);
9965
- const [selectedTranche, setSelectedTranche] = React.useState();
9966
- React.useEffect(() => {
9967
- if (!step && !isLoadingLenderAccounts && !isLoadingTokenAccounts) {
9968
- const seniorTrancheShares = new anchor.BN(seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount);
9969
- const juniorTrancheShares = new anchor.BN(juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount);
9970
- if (juniorTrancheShares.gtn(0) && seniorTrancheShares.lten(0)) {
9971
- setSelectedTranche('junior');
9972
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9973
- return;
9974
- }
9975
- if (seniorTrancheShares.gtn(0) && juniorTrancheShares.lten(0)) {
9976
- setSelectedTranche('senior');
9977
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
9978
- return;
9979
- }
9980
- if (seniorTrancheShares.gtn(0) && juniorTrancheShares.gtn(0)) {
9981
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
9982
- }
9983
- }
9984
- }, [dispatch, step, isLoadingLenderAccounts, isLoadingTokenAccounts, seniorTokenAccount === null || seniorTokenAccount === void 0 ? void 0 : seniorTokenAccount.amount, juniorTokenAccount === null || juniorTokenAccount === void 0 ? void 0 : juniorTokenAccount.amount]);
9985
- const title = 'Redemption';
9986
- if (isLoadingLenderAccounts || isLoadingTokenAccounts) {
9987
- return jsxRuntime.jsx(WidgetWrapper, {
9988
- isOpen: true,
9989
- isLoading: true,
9990
- loadingTitle: title,
9991
- handleClose: handleClose,
9992
- handleSuccess: handleSuccess
9993
- });
9994
- }
9995
- return jsxRuntime.jsxs(WidgetWrapper, {
9996
- isOpen: true,
9997
- loadingTitle: title,
9998
- handleClose: handleClose,
9999
- handleSuccess: handleSuccess,
10000
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche$1, {
10001
- selectedTranche: selectedTranche,
10002
- changeTranche: setSelectedTranche
10003
- }), step === WIDGET_STEP.ChooseAmount && selectedTranche && jsxRuntime.jsx(ChooseAmount$1, {
10004
- poolInfo: poolInfo,
10005
- poolState: poolState,
10006
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
10007
- selectedTranche: selectedTranche
10008
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer$1, {
10009
- poolInfo: poolInfo,
10010
- selectedTranche: selectedTranche
10011
- }), step === WIDGET_STEP.Done && jsxRuntime.jsx(Done$1, {
10012
- poolInfo: poolInfo,
10013
- handleAction: handleClose
10014
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
10015
- title: title,
10016
- errorReason: "Sorry there was an error",
10017
- errorMessage: errorMessage,
10018
- handleOk: handleClose
10019
- })]
10020
- });
10021
- }
10022
-
10023
- function Transfer(_ref) {
10024
- let {
10025
- poolInfo,
10026
- lenderState,
10027
- lenderStatePDA,
10028
- selectedTranche
10029
- } = _ref;
10030
- const dispatch = useAppDispatch();
10031
- const {
10032
- publicKey
10033
- } = walletAdapterReact.useWallet();
10034
- const [transaction, setTransaction] = React.useState();
10035
- const program = webShared.useHumaProgram(poolInfo.chainId);
10036
- const handleSuccess = React.useCallback(() => {
10037
- dispatch(setStep(WIDGET_STEP.Done));
10038
- }, [dispatch]);
10039
- React.useEffect(() => {
10040
- async function getTx() {
10041
- if (!publicKey || !lenderState || !lenderStatePDA || transaction) {
10042
- return;
10043
- }
10044
- const {
10045
- seniorTrancheATA,
10046
- juniorTrancheATA,
10047
- poolSeniorTrancheATA,
10048
- poolJuniorTrancheATA
10049
- } = shared.getTokenAccounts(poolInfo, publicKey);
10050
- const tx = await program.methods.cancelRedemptionRequest(lenderState.redemptionRecord.numSharesRequested).accountsPartial({
10051
- lender: publicKey,
10052
- humaConfig: poolInfo.humaConfig,
10053
- poolConfig: poolInfo.poolConfig,
10054
- trancheMint: selectedTranche === 'senior' ? poolInfo.seniorTrancheMint : poolInfo.juniorTrancheMint,
10055
- trancheState: selectedTranche === 'senior' ? poolInfo.seniorTrancheState : poolInfo.juniorTrancheState,
10056
- lenderState: lenderStatePDA,
10057
- poolAuthority: poolInfo.poolAuthority,
10058
- poolTrancheToken: selectedTranche === 'senior' ? poolSeniorTrancheATA : poolJuniorTrancheATA,
10059
- lenderTrancheToken: selectedTranche === 'senior' ? seniorTrancheATA : juniorTrancheATA,
10060
- tokenProgram: splToken.TOKEN_2022_PROGRAM_ID
10061
- }).transaction();
10062
- setTransaction(tx);
10063
- }
10064
- getTx();
10065
- }, [lenderState, lenderStatePDA, poolInfo, program.methods, publicKey, selectedTranche, transaction]);
10066
- return jsxRuntime.jsx(SolanaTxSendModal, {
10067
- tx: transaction,
10068
- chainId: poolInfo.chainId,
10069
- handleSuccess: handleSuccess
10070
- });
10071
- }
10072
-
10073
- var _templateObject, _templateObject2, _templateObject3;
10074
- function ChooseTranche(_ref) {
10075
- let {
10076
- selectedTranche,
10077
- changeTranche
10078
- } = _ref;
10079
- const theme = material.useTheme();
10080
- const dispatch = useAppDispatch();
10081
- const styles = {
10082
- subTitle: material.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", " !important;\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n margin-top: ", ";\n margin-left: ", ";\n "])), theme.palette.text.primary, theme.spacing(5), theme.spacing(2)),
10083
- radioGroup: material.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-left: ", ";\n margin-top: ", ";\n "])), theme.spacing(3), theme.spacing(3)),
10084
- formControl: material.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n\n .MuiFormControlLabel-label {\n color: ", ";\n font-weight: 400;\n font-size: 16px;\n line-height: 150%;\n letter-spacing: 0.15px;\n }\n "])), theme.spacing(1), theme.palette.text.primary)
10085
- };
10086
- const handleNext = () => {
10087
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
10088
- };
10089
- const items = [{
10090
- label: 'Senior',
10091
- value: 'senior'
10092
- }, {
10093
- label: 'Junior',
10094
- value: 'junior'
10095
- }];
10096
- return jsxRuntime.jsxs(WrapperModal, {
10097
- title: "Cancel Redemption",
10098
- children: [jsxRuntime.jsxs(material.FormControl, {
10099
- children: [jsxRuntime.jsx(material.FormLabel, {
10100
- css: styles.subTitle,
10101
- children: "Select Tranche Type"
10102
- }), jsxRuntime.jsx(material.RadioGroup, {
10103
- "aria-labelledby": "buttons-group-label",
10104
- name: "radio-buttons-group",
10105
- css: styles.radioGroup,
10106
- onChange: e => changeTranche(e.target.value),
10107
- children: items.map(item => jsxRuntime.jsx(material.FormControlLabel, {
10108
- value: item.value,
10109
- control: jsxRuntime.jsx(material.Radio, {
10110
- sx: {
10111
- '& .MuiSvgIcon-root': {
10112
- fontSize: 24
10113
- }
10114
- }
10115
- }),
10116
- label: item.label,
10117
- css: styles.formControl
10118
- }, item.label))
10119
- })]
10120
- }), jsxRuntime.jsx(BottomButton, {
10121
- variant: "contained",
10122
- disabled: !selectedTranche,
10123
- onClick: handleNext,
10124
- children: "NEXT"
10125
- })]
10126
- });
10127
- }
10128
-
10129
- function Done(_ref) {
10130
- let {
10131
- poolInfo,
10132
- lenderState,
10133
- selectedTranche,
10134
- handleAction
10135
- } = _ref;
10136
- const {
10137
- mintAccount,
10138
- loading: isLoadingTrancheMintAccounts
10139
- } = webShared.useTrancheMintAccounts(poolInfo, selectedTranche);
10140
- const {
10141
- solanaSignature
10142
- } = useAppSelector(selectWidgetState);
10143
- const content = !lenderState || isLoadingTrancheMintAccounts || !mintAccount ? [''] : ["Your request to cancel the redemption of ".concat(shared.formatNumber(shared.SolanaTokenUtils.formatUnits(lenderState.redemptionRecord.numSharesRequested, mintAccount.decimals)), " shares has been successfully processed.")];
10144
- return jsxRuntime.jsx(SolanaTxDoneModal, {
10145
- handleAction: handleAction,
10146
- content: content,
10147
- chainId: poolInfo.chainId,
10148
- solanaSignature: solanaSignature,
10149
- buttonText: "DONE"
10150
- });
10151
- }
10152
-
10153
- function SolanaLendCancelRedemption(_ref) {
10154
- let {
10155
- poolInfo,
10156
- handleClose,
10157
- handleSuccess
10158
- } = _ref;
10159
- const dispatch = reactRedux.useDispatch();
10160
- const {
10161
- seniorLenderStateAccount,
10162
- juniorLenderStateAccount,
10163
- juniorLenderStateAccountPDA,
10164
- seniorLenderStateAccountPDA,
10165
- loading: isLoadingLenderAccounts
10166
- } = webShared.useLenderAccounts(poolInfo.chainId, poolInfo.poolName);
10167
- const {
10168
- step,
10169
- errorMessage
10170
- } = useAppSelector(selectWidgetState);
10171
- const [selectedTranche, setSelectedTranche] = React.useState();
10172
- React.useEffect(() => {
10173
- if (!step && !isLoadingLenderAccounts) {
10174
- const seniorTrancheSharesRequested = new anchor.BN(seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested);
10175
- const juniorTrancheSharesRequested = new anchor.BN(juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested);
10176
- if (juniorTrancheSharesRequested.gtn(0) && seniorTrancheSharesRequested.lten(0)) {
10177
- setSelectedTranche('junior');
10178
- dispatch(setStep(WIDGET_STEP.Transfer));
10179
- return;
10180
- }
10181
- if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.lten(0)) {
10182
- setSelectedTranche('senior');
10183
- dispatch(setStep(WIDGET_STEP.Transfer));
10184
- return;
10185
- }
10186
- if (seniorTrancheSharesRequested.gtn(0) && juniorTrancheSharesRequested.gtn(0)) {
10187
- dispatch(setStep(WIDGET_STEP.ChooseTranche));
10188
- }
10189
- }
10190
- }, [dispatch, step, isLoadingLenderAccounts, seniorLenderStateAccount === null || seniorLenderStateAccount === void 0 ? void 0 : seniorLenderStateAccount.redemptionRecord.numSharesRequested, juniorLenderStateAccount === null || juniorLenderStateAccount === void 0 ? void 0 : juniorLenderStateAccount.redemptionRecord.numSharesRequested]);
10191
- const title = 'Cancel Redemption';
10192
- if (isLoadingLenderAccounts) {
10193
- return jsxRuntime.jsx(WidgetWrapper, {
10194
- isOpen: true,
10195
- isLoading: true,
10196
- loadingTitle: title,
10197
- handleClose: handleClose,
10198
- handleSuccess: handleSuccess
10199
- });
10200
- }
10201
- return jsxRuntime.jsxs(WidgetWrapper, {
10202
- isOpen: true,
10203
- loadingTitle: title,
10204
- handleClose: handleClose,
10205
- handleSuccess: handleSuccess,
10206
- children: [step === WIDGET_STEP.ChooseTranche && jsxRuntime.jsx(ChooseTranche, {
10207
- selectedTranche: selectedTranche,
10208
- changeTranche: setSelectedTranche
10209
- }), step === WIDGET_STEP.Transfer && selectedTranche && jsxRuntime.jsx(Transfer, {
10210
- poolInfo: poolInfo,
10211
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
10212
- lenderStatePDA: selectedTranche === 'senior' ? seniorLenderStateAccountPDA : juniorLenderStateAccountPDA,
10213
- selectedTranche: selectedTranche
10214
- }), step === WIDGET_STEP.Done && selectedTranche && jsxRuntime.jsx(Done, {
10215
- poolInfo: poolInfo,
10216
- lenderState: selectedTranche === 'senior' ? seniorLenderStateAccount : juniorLenderStateAccount,
10217
- selectedTranche: selectedTranche,
10218
- handleAction: handleClose
10219
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
10220
- title: title,
10221
- errorReason: "Sorry there was an error",
10222
- errorMessage: errorMessage,
10223
- handleOk: handleClose
10224
- })]
10225
- });
10226
- }
10227
-
10228
- function ChooseAmount(_ref) {
10229
- let {
10230
- poolInfo,
10231
- creditConfigAccount,
10232
- tokenAccount
10233
- } = _ref;
10234
- const dispatch = useAppDispatch();
10235
- const {
10236
- symbol,
10237
- decimals
10238
- } = poolInfo.underlyingMint;
10239
- const sentinel = React.useMemo(() => shared.getSentinelAddress(poolInfo.chainId), [poolInfo.chainId]);
10240
- const [currentAmount, setCurrentAmount] = React.useState(0);
10241
- const creditAvailable = React.useMemo(() => shared.SolanaTokenUtils.formatUnits(creditConfigAccount.creditAvailable, decimals), [creditConfigAccount.creditAvailable, decimals]);
10242
- const handleChangeAmount = newAmount => {
10243
- setCurrentAmount(newAmount);
10244
- };
10245
- const handleAction = React.useCallback(() => {
10246
- var _tokenAccount$delegat;
10247
- if (!tokenAccount) {
10248
- return;
10249
- }
10250
- const borrowAmountBN = shared.SolanaTokenUtils.parseUnits(String(currentAmount), decimals);
10251
- const nextStep = borrowAmountBN.gt(new anchor.BN(tokenAccount.delegatedAmount)) || ((_tokenAccount$delegat = tokenAccount.delegate) === null || _tokenAccount$delegat === void 0 ? void 0 : _tokenAccount$delegat.toString()) !== sentinel ? WIDGET_STEP.ApproveAllowance : WIDGET_STEP.Transfer;
10252
- dispatch(setBorrowInfo({
10253
- borrowAmount: currentAmount,
10254
- borrowAmountBN,
10255
- chargedFees: 0,
10256
- nextStep
10257
- }));
10258
- }, [currentAmount, decimals, dispatch, sentinel, tokenAccount]);
10259
- return jsxRuntime.jsx(InputAmountModal, {
10260
- title: "Borrow",
10261
- subTitle: "Choose Amount",
10262
- tokenSymbol: symbol,
10263
- currentAmount: currentAmount,
10264
- handleChangeAmount: handleChangeAmount,
10265
- maxAmount: creditAvailable,
10266
- infos: ["".concat(String(shared.formatNumber(creditAvailable)), " ").concat(symbol, " Available")],
10267
- handleAction: handleAction,
10268
- actionText: "BORROW"
10269
- });
10270
- }
10271
-
10272
- function ApproveAllowance(_ref) {
10273
- let {
10274
- poolInfo,
10275
- tokenAccount
10276
- } = _ref;
10277
- const dispatch = useAppDispatch();
10278
- const {
10279
- wallet,
10280
- publicKey,
10281
- sendTransaction,
10282
- signTransaction
10283
- } = walletAdapterReact.useWallet();
10284
- const sentinel = React.useMemo(() => shared.getSentinelAddress(poolInfo.chainId), [poolInfo.chainId]);
10285
- const {
10286
- connection
10287
- } = walletAdapterReact.useConnection();
10288
- const [transaction, setTransaction] = React.useState();
10289
- const handleSuccess = React.useCallback(() => {
10290
- dispatch(setStep(WIDGET_STEP.Transfer));
10291
- }, [dispatch]);
10292
- React.useEffect(() => {
10293
- async function getTx() {
10294
- if (!wallet || !publicKey || !connection || !signTransaction) {
10295
- return;
10296
- }
10297
- const tx = new web3_js.Transaction().add(splToken.createApproveCheckedInstruction(tokenAccount.address, new web3_js.PublicKey(poolInfo.underlyingMint.address), new web3_js.PublicKey(sentinel),
10298
- // delegate
10299
- publicKey,
10300
- // owner of the wallet
10301
- shared.SolanaTokenUtils.parseUnits('100000000000',
10302
- // 100 billion
10303
- poolInfo.underlyingMint.decimals),
10304
- // amount
10305
- poolInfo.underlyingMint.decimals, undefined,
10306
- // multiSigners
10307
- splToken.TOKEN_2022_PROGRAM_ID));
10308
- setTransaction(tx);
10309
- }
10310
- getTx();
10311
- }, [connection, dispatch, poolInfo.underlyingMint.address, poolInfo.underlyingMint.decimals, publicKey, sendTransaction, sentinel, signTransaction, tokenAccount.address, wallet]);
10312
- return jsxRuntime.jsx(SolanaTxSendModal, {
10313
- tx: transaction,
10314
- chainId: poolInfo.chainId,
10315
- handleSuccess: handleSuccess
10316
- });
10317
- }
10318
-
10319
- function SolanaBorrow(_ref) {
10320
- let {
10321
- poolInfo,
10322
- handleClose,
10323
- handleSuccess
10324
- } = _ref;
10325
- const dispatch = reactRedux.useDispatch();
10326
- const {
10327
- creditConfigAccount,
10328
- loading: isLoadingBorrowerAccounts
10329
- } = webShared.useBorrowerAccounts(poolInfo.chainId, poolInfo.poolName);
10330
- const {
10331
- account: tokenAccount,
10332
- loading: isLoadingTokenAccounts
10333
- } = webShared.usePoolUnderlyingTokenAccount(poolInfo);
10334
- const {
10335
- step,
10336
- errorMessage
10337
- } = useAppSelector(selectWidgetState);
10338
- React.useEffect(() => {
10339
- if (!step) {
10340
- dispatch(setStep(WIDGET_STEP.ChooseAmount));
10341
- }
10342
- }, [dispatch, step]);
10343
- const title = 'Redemption';
10344
- if (isLoadingBorrowerAccounts || isLoadingTokenAccounts) {
10345
- return jsxRuntime.jsx(WidgetWrapper, {
10346
- isOpen: true,
10347
- isLoading: true,
10348
- loadingTitle: title,
10349
- handleClose: handleClose,
10350
- handleSuccess: handleSuccess
10351
- });
10352
- }
10353
- return jsxRuntime.jsxs(WidgetWrapper, {
10354
- isOpen: true,
10355
- loadingTitle: title,
10356
- handleClose: handleClose,
10357
- handleSuccess: handleSuccess,
10358
- children: [step === WIDGET_STEP.ChooseAmount && creditConfigAccount && tokenAccount && jsxRuntime.jsx(ChooseAmount, {
10359
- poolInfo: poolInfo,
10360
- creditConfigAccount: creditConfigAccount,
10361
- tokenAccount: tokenAccount
10362
- }), step === WIDGET_STEP.ApproveAllowance && tokenAccount && jsxRuntime.jsx(ApproveAllowance, {
10363
- poolInfo: poolInfo,
10364
- tokenAccount: tokenAccount
10365
- }), step === WIDGET_STEP.Error && jsxRuntime.jsx(ErrorModal, {
10366
- title: title,
10367
- errorReason: "Sorry there was an error",
10368
- errorMessage: errorMessage,
10369
- handleOk: handleClose
10370
- })]
10371
- });
10372
- }
10373
-
10374
- function Widget(props) {
10375
- const {
10376
- children,
10377
- provider
10378
- } = props;
10379
- const [chainId, setChainId] = React.useState(undefined);
10380
- React.useEffect(() => {
10381
- const getChainId = async () => {
10382
- if (provider instanceof providers.JsonRpcProvider) {
10383
- const network = await provider.getNetwork();
10384
- setChainId(network === null || network === void 0 ? void 0 : network.chainId);
10385
- }
10386
- };
10387
- getChainId();
10388
- }, [provider]);
10389
- return jsxRuntime.jsx(material.ThemeProvider, {
10390
- theme: themeHuma,
10391
- children: jsxRuntime.jsx(reactRedux.Provider, {
10392
- store: store,
10393
- children: jsxRuntime.jsx(webShared.Provider, {
10394
- ...props,
10395
- defaultChainId: chainId,
10396
- children: jsxRuntime.jsx(jotai.Provider, {
10397
- children: jsxRuntime.jsx(ChainSupportProvider, {
10398
- children: children
10399
- })
10400
- })
10401
- })
9308
+ };
9309
+ getChainId();
9310
+ }, [provider]);
9311
+ return jsxRuntime.jsx(material.ThemeProvider, {
9312
+ theme: themeHuma,
9313
+ children: jsxRuntime.jsx(reactRedux.Provider, {
9314
+ store: store,
9315
+ children: jsxRuntime.jsx(webShared.Provider, {
9316
+ ...props,
9317
+ defaultChainId: chainId,
9318
+ children: jsxRuntime.jsx(jotai.Provider, {
9319
+ children: jsxRuntime.jsx(ChainSupportProvider, {
9320
+ children: jsxRuntime.jsx(NotifiContextWrapper, {
9321
+ chainId: chainId,
9322
+ children: children
9323
+ })
9324
+ })
9325
+ })
9326
+ })
10402
9327
  })
10403
9328
  });
10404
9329
  }
@@ -10791,108 +9716,6 @@ function ReceivableBackedCreditLinePaymentWidgetV2(props) {
10791
9716
  });
10792
9717
  }
10793
9718
 
10794
- /**
10795
- * Object representing the props passed to Solana widgets
10796
- * @typedef {Object} SolanaWidgetProps
10797
- */
10798
-
10799
- function SolanaWidget(props) {
10800
- const {
10801
- children
10802
- } = props;
10803
- return jsxRuntime.jsx(material.ThemeProvider, {
10804
- theme: themeHuma,
10805
- children: jsxRuntime.jsx(reactRedux.Provider, {
10806
- store: store,
10807
- children: children
10808
- })
10809
- });
10810
- }
10811
-
10812
- /**
10813
- * Lend pool supply widget props for Solana pools
10814
- * @typedef {Object} SolanaLendSupplyWidgetProps
10815
- * @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
10816
- * @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
10817
- */
10818
-
10819
- /**
10820
- * Lend pool supply widget for Solana pools
10821
- *
10822
- * @param {SolanaLendSupplyWidgetProps} props - Widget props
10823
- */
10824
- function SolanaLendSupplyWidget(props) {
10825
- return jsxRuntime.jsx(SolanaWidget, {
10826
- ...props,
10827
- children: jsxRuntime.jsx(SolanaLendSupply, {
10828
- ...props
10829
- })
10830
- });
10831
- }
10832
-
10833
- /**
10834
- * Lend pool supply widget props for Solana pools
10835
- * @typedef {Object} SolanaLendAddRedemptionWidgetProps
10836
- * @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
10837
- * @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
10838
- */
10839
-
10840
- /**
10841
- * Lend pool supply widget for Solana pools
10842
- *
10843
- * @param {SolanaLendAddRedemptionWidgetProps} props - Widget props
10844
- */
10845
- function SolanaLendAddRedemptionWidget(props) {
10846
- return jsxRuntime.jsx(SolanaWidget, {
10847
- ...props,
10848
- children: jsxRuntime.jsx(SolanaLendAddRedemption, {
10849
- ...props
10850
- })
10851
- });
10852
- }
10853
-
10854
- /**
10855
- * Lend pool supply widget props for Solana pools
10856
- * @typedef {Object} SolanaLendCancelRedemptionWidgetProps
10857
- * @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
10858
- * @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
10859
- */
10860
-
10861
- /**
10862
- * Lend pool supply widget for Solana pools
10863
- *
10864
- * @param {SolanaLendCancelRedemptionWidgetProps} props - Widget props
10865
- */
10866
- function SolanaLendCancelRedemptionWidget(props) {
10867
- return jsxRuntime.jsx(SolanaWidget, {
10868
- ...props,
10869
- children: jsxRuntime.jsx(SolanaLendCancelRedemption, {
10870
- ...props
10871
- })
10872
- });
10873
- }
10874
-
10875
- /**
10876
- * Lend pool supply widget props for Solana pools
10877
- * @typedef {Object} SolanaBorrowWidgetProps
10878
- * @property {SolanaLendSupplyProps} SolanaLendSupplyProps - Specific widget props
10879
- * @property {SolanaWidgetProps} SolanaWidgetProps - Widget general props.
10880
- */
10881
-
10882
- /**
10883
- * Lend pool supply widget for Solana pools
10884
- *
10885
- * @param {SolanaBorrowWidgetProps} props - Widget props
10886
- */
10887
- function SolanaBorrowWidget(props) {
10888
- return jsxRuntime.jsx(SolanaWidget, {
10889
- ...props,
10890
- children: jsxRuntime.jsx(SolanaBorrow, {
10891
- ...props
10892
- })
10893
- });
10894
- }
10895
-
10896
9719
  exports.AddRedemptionWidgetV2 = AddRedemptionWidgetV2;
10897
9720
  exports.AutoPaybackWidgetV2 = AutoPaybackWidgetV2;
10898
9721
  exports.CancelRedemptionWidgetV2 = CancelRedemptionWidgetV2;
@@ -10907,12 +9730,9 @@ exports.LendSupplyWidget = LendSupplyWidget;
10907
9730
  exports.LendSupplyWidgetV2 = LendSupplyWidgetV2;
10908
9731
  exports.LendWithdrawWidget = LendWithdrawWidget;
10909
9732
  exports.LendWithdrawWidgetV2 = LendWithdrawWidgetV2;
9733
+ exports.NotifiContextWrapper = NotifiContextWrapper;
10910
9734
  exports.ReceivableBackedCreditLineBorrowWidgetV2 = ReceivableBackedCreditLineBorrowWidgetV2;
10911
9735
  exports.ReceivableBackedCreditLinePaymentWidgetV2 = ReceivableBackedCreditLinePaymentWidgetV2;
10912
- exports.SolanaBorrowWidget = SolanaBorrowWidget;
10913
- exports.SolanaLendAddRedemptionWidget = SolanaLendAddRedemptionWidget;
10914
- exports.SolanaLendCancelRedemptionWidget = SolanaLendCancelRedemptionWidget;
10915
- exports.SolanaLendSupplyWidget = SolanaLendSupplyWidget;
10916
9736
  exports.SuperfluidFactoringWidget = SuperfluidFactoringWidget;
10917
9737
  exports.SupplyFirstLossCoverWidget = SupplyFirstLossCoverWidget;
10918
9738
  //# sourceMappingURL=index.cjs.map