@huma-finance/widgets 0.0.31 → 0.0.33

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 (176) hide show
  1. package/.env.example +2 -2
  2. package/.eslintignore +2 -2
  3. package/.eslintrc.js +64 -64
  4. package/.prettierignore +4 -4
  5. package/.prettierrc.js +16 -16
  6. package/API.md +332 -332
  7. package/LICENSE +660 -660
  8. package/README.md +48 -48
  9. package/babel.config.js +15 -15
  10. package/config-overrides.js +9 -9
  11. package/cosmos.config.json +7 -7
  12. package/cypress/e2e/01-invoice-factoring-borrow.test.ts +62 -62
  13. package/cypress/support/e2e.ts +76 -76
  14. package/cypress/support/ethereum.ts +142 -142
  15. package/cypress/tsconfig.json +9 -9
  16. package/cypress/utils/index.ts +54 -54
  17. package/cypress.config.ts +20 -20
  18. package/dist/cjs/index.cjs +1026 -296
  19. package/dist/cjs/index.cjs.map +1 -1
  20. package/dist/index.d.ts +193 -193
  21. package/dist/index.js +1028 -299
  22. package/dist/index.js.map +1 -1
  23. package/jsdoc2md.json +20 -20
  24. package/package.json +4 -4
  25. package/public/index.html +40 -40
  26. package/public/manifest.json +25 -25
  27. package/public/robots.txt +3 -3
  28. package/rollup.config.js +81 -81
  29. package/src/components/Activity.tsx +132 -132
  30. package/src/components/ApolloWrapper.tsx +15 -15
  31. package/src/components/ApproveAllowanceModal.tsx +121 -121
  32. package/src/components/BottomButton.tsx +33 -33
  33. package/src/components/ChainNotSupportedModal.tsx +33 -33
  34. package/src/components/ChooseAmountModal.tsx +322 -322
  35. package/src/components/ConfirmTransferModal.tsx +153 -153
  36. package/src/components/CreditLine/borrow/1-Evaluation.tsx +157 -157
  37. package/src/components/CreditLine/borrow/2-ChooseAmount.tsx +68 -68
  38. package/src/components/CreditLine/borrow/3-Transfer.tsx +44 -44
  39. package/src/components/CreditLine/borrow/4-ApproveAllowance.tsx +29 -29
  40. package/src/components/CreditLine/borrow/5-Success.tsx +38 -30
  41. package/src/components/CreditLine/borrow/6-Notifications.tsx +10 -0
  42. package/src/components/CreditLine/borrow/index.tsx +136 -117
  43. package/src/components/CreditLine/payment/1-ChooseAmount.tsx +67 -67
  44. package/src/components/CreditLine/payment/2-ApproveAllowance.tsx +23 -23
  45. package/src/components/CreditLine/payment/3-Transfer.tsx +34 -34
  46. package/src/components/CreditLine/payment/4-Success.tsx +39 -39
  47. package/src/components/CreditLine/payment/index.tsx +94 -94
  48. package/src/components/ErrorModal.tsx +132 -132
  49. package/src/components/Factoring/FactoredList.tsx +143 -143
  50. package/src/components/Factoring/UpcomingList.tsx +90 -90
  51. package/src/components/Factoring/index.ts +2 -2
  52. package/src/components/HumaLoading.tsx +68 -68
  53. package/src/components/HumaSnackBar.tsx +60 -0
  54. package/src/components/HumaTable.tsx +158 -158
  55. package/src/components/InvoiceFactoring/borrow/1-Evaluation.tsx +49 -49
  56. package/src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx +88 -88
  57. package/src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx +37 -37
  58. package/src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx +55 -55
  59. package/src/components/InvoiceFactoring/borrow/5-Transfer.tsx +34 -34
  60. package/src/components/InvoiceFactoring/borrow/6-Success.tsx +20 -20
  61. package/src/components/InvoiceFactoring/borrow/index.tsx +94 -94
  62. package/src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx +67 -67
  63. package/src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx +23 -23
  64. package/src/components/InvoiceFactoring/payment/3-Transfer.tsx +34 -34
  65. package/src/components/InvoiceFactoring/payment/4-Success.tsx +23 -23
  66. package/src/components/InvoiceFactoring/payment/index.tsx +86 -86
  67. package/src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx +86 -0
  68. package/src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx +287 -0
  69. package/src/components/Lend/supply/1-Evaluation/index.tsx +31 -0
  70. package/src/components/Lend/supply/2-ChooseAmount.tsx +69 -70
  71. package/src/components/Lend/supply/3-ApproveAllowance.tsx +25 -25
  72. package/src/components/Lend/supply/{6-Transfer.tsx → 4-Transfer.tsx} +32 -32
  73. package/src/components/Lend/supply/{7-Success.tsx → 5-Success.tsx} +60 -49
  74. package/src/components/Lend/supply/6-Notifications.tsx +10 -0
  75. package/src/components/Lend/supply/index.tsx +167 -144
  76. package/src/components/Lend/withdraw/1-CheckWithdrawble.tsx +73 -73
  77. package/src/components/Lend/withdraw/2-ChooseAmount.tsx +50 -50
  78. package/src/components/Lend/withdraw/3-Transfer.tsx +32 -32
  79. package/src/components/Lend/withdraw/4-Success.tsx +49 -49
  80. package/src/components/Lend/withdraw/index.tsx +101 -101
  81. package/src/components/LoadingModal.tsx +49 -49
  82. package/src/components/Notifi/NotifiSubscriptionModal.tsx +264 -0
  83. package/src/components/StreamFactoring/borrow/1-Evaluation.tsx +55 -55
  84. package/src/components/StreamFactoring/borrow/2-ChooseAmount.tsx +127 -127
  85. package/src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx +42 -42
  86. package/src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx +33 -33
  87. package/src/components/StreamFactoring/borrow/5-Permit.tsx +144 -144
  88. package/src/components/StreamFactoring/borrow/6-Transfer.tsx +37 -37
  89. package/src/components/StreamFactoring/borrow/7-Success.tsx +20 -20
  90. package/src/components/StreamFactoring/borrow/index.tsx +94 -94
  91. package/src/components/StreamFactoring/payment/ChooseAmount.tsx +54 -54
  92. package/src/components/StreamFactoring/payment/Success.tsx +23 -23
  93. package/src/components/StreamFactoring/payment/Transfer.tsx +34 -34
  94. package/src/components/StreamFactoring/payment/index.tsx +66 -66
  95. package/src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx +70 -70
  96. package/src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx +167 -167
  97. package/src/components/SuperfluidFactoring/index.tsx +85 -85
  98. package/src/components/TxDoneModal.tsx +85 -83
  99. package/src/components/TxSendModal.tsx +59 -59
  100. package/src/components/ViewOnExplorer.tsx +26 -26
  101. package/src/components/WidgetWrapper.tsx +74 -74
  102. package/src/components/WrapperModal.tsx +54 -54
  103. package/src/components/buttons/TableActionButton.tsx +36 -36
  104. package/src/components/buttons/index.ts +1 -1
  105. package/src/components/humaModal/HumaModal.tsx +68 -68
  106. package/src/components/humaModal/HumaModalHeader.tsx +70 -70
  107. package/src/components/humaModal/index.tsx +2 -2
  108. package/src/components/icons/approve-lender.svg +30 -30
  109. package/src/components/icons/auto-payback.svg +40 -40
  110. package/src/components/icons/check-circle.svg +3 -3
  111. package/src/components/icons/check-green.svg +3 -3
  112. package/src/components/icons/check.svg +10 -10
  113. package/src/components/icons/donut.svg +904 -904
  114. package/src/components/icons/ellipse.svg +3 -3
  115. package/src/components/icons/huma-full.svg +22 -22
  116. package/src/components/icons/huma.svg +15 -15
  117. package/src/components/icons/index.tsx +93 -93
  118. package/src/components/icons/loader.svg +229 -229
  119. package/src/components/icons/metamask.svg +31 -31
  120. package/src/components/icons/polygon.svg +16 -16
  121. package/src/components/icons/receipt.svg +3 -3
  122. package/src/components/icons/separator.svg +3 -3
  123. package/src/components/icons/sorry.svg +31 -31
  124. package/src/components/icons/usdc.svg +5 -5
  125. package/src/components/icons/wallet-connect.svg +11 -11
  126. package/src/cosmos/CreditLineBorrow.fixture.tsx +86 -86
  127. package/src/cosmos/CreditLinePayment.fixture.tsx +50 -50
  128. package/src/cosmos/InvoiceFactoringBorrow.fixture.tsx +111 -111
  129. package/src/cosmos/InvoiceFactoringPayment.fixture.tsx +67 -67
  130. package/src/cosmos/LendSupply.fixture.tsx +75 -75
  131. package/src/cosmos/LendWithdraw.fixture.tsx +43 -43
  132. package/src/cosmos/SDKTesting.fixture.tsx +616 -616
  133. package/src/cosmos/SuperfluidFactoringBorrow.fixture.tsx +15 -15
  134. package/src/cosmos/WalletWrapper.tsx +52 -52
  135. package/src/cosmos/abis/InvoiceNFT.json +644 -644
  136. package/src/cosmos/abis/ReceivableFactoringPool.json +1529 -1529
  137. package/src/cosmos/utils/env.ts +6 -6
  138. package/src/cosmos/utils/index.ts +169 -169
  139. package/src/fonts/Recoleta/Recoleta-Black.otf +0 -0
  140. package/src/fonts/Recoleta/Recoleta-Bold.otf +0 -0
  141. package/src/fonts/Recoleta/Recoleta-Light.otf +0 -0
  142. package/src/fonts/Recoleta/Recoleta-Medium.otf +0 -0
  143. package/src/fonts/Recoleta/Recoleta-Regular.otf +0 -0
  144. package/src/fonts/Recoleta/Recoleta-RegularDEMO.otf +0 -0
  145. package/src/fonts/Recoleta/Recoleta-SemiBold.otf +0 -0
  146. package/src/fonts/Recoleta/Recoleta-Thin.otf +0 -0
  147. package/src/hooks/useEA.ts +53 -53
  148. package/src/hooks/useNotifi.ts +71 -0
  149. package/src/hooks/useRedux.ts +6 -6
  150. package/src/index.css +61 -61
  151. package/src/index.tsx +301 -301
  152. package/src/react-app-env.d.ts +1 -1
  153. package/src/reportWebVitals.ts +15 -15
  154. package/src/setupTests.ts +6 -6
  155. package/src/store/index.ts +27 -27
  156. package/src/store/widgets.reducers.ts +120 -120
  157. package/src/store/widgets.selectors.ts +3 -3
  158. package/src/store/widgets.store.ts +55 -54
  159. package/src/theme/breakpoints.ts +10 -10
  160. package/src/theme/components.ts +70 -70
  161. package/src/theme/coreThemeConstants.ts +29 -29
  162. package/src/theme/cssMixins.ts +92 -92
  163. package/src/theme/hooks/useGetSizes.ts +31 -31
  164. package/src/theme/index.ts +24 -24
  165. package/src/theme/palette.ts +150 -150
  166. package/src/theme/shape.ts +7 -7
  167. package/src/theme/theme.types.ts +80 -80
  168. package/src/theme/typography.ts +117 -117
  169. package/src/utilTypes.d.ts +31 -31
  170. package/src/utils/env.ts +10 -10
  171. package/tsconfig.build.json +7 -7
  172. package/tsconfig.json +32 -32
  173. package/webpack.cosmos.js +54 -54
  174. package/src/components/Lend/supply/1-Evaluation.tsx +0 -175
  175. package/src/components/Lend/supply/4-ConfirmTransfer.tsx +0 -104
  176. package/src/components/NotifiSubscriptionModal.tsx +0 -84
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../../../node_modules/@babel/runtime/regenerator/index.js","../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../src/hooks/useRedux.ts","../src/store/widgets.store.ts","../src/store/widgets.reducers.ts","../src/components/icons/receipt.svg","../src/components/icons/separator.svg","../src/components/icons/loader.svg","../src/components/icons/sorry.svg","../src/components/icons/check.svg","../src/components/icons/check-green.svg","../src/components/icons/check-circle.svg","../src/components/icons/auto-payback.svg","../src/components/icons/approve-lender.svg","../src/components/icons/usdc.svg","../src/components/icons/index.tsx","../src/components/ErrorModal.tsx","../src/theme/palette.ts","../src/components/humaModal/HumaModal.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../src/components/humaModal/HumaModalHeader.tsx","../src/components/ChainNotSupportedModal.tsx","../src/store/widgets.selectors.ts","../src/components/HumaLoading.tsx","../src/components/WrapperModal.tsx","../src/components/LoadingModal.tsx","../src/components/WidgetWrapper.tsx","../src/utils/env.ts","../src/hooks/useEA.ts","../src/components/icons/spinner.gif","../src/components/CreditLine/borrow/1-Evaluation.tsx","../src/components/ChooseAmountModal.tsx","../src/components/CreditLine/borrow/2-ChooseAmount.tsx","../src/components/BottomButton.tsx","../src/components/ViewOnExplorer.tsx","../src/components/ApproveAllowanceModal.tsx","../src/components/CreditLine/borrow/4-ApproveAllowance.tsx","../src/components/TxSendModal.tsx","../src/components/CreditLine/borrow/3-Transfer.tsx","../src/components/TxDoneModal.tsx","../src/components/CreditLine/borrow/5-Success.tsx","../src/components/CreditLine/borrow/index.tsx","../src/components/CreditLine/payment/1-ChooseAmount.tsx","../src/components/CreditLine/payment/2-ApproveAllowance.tsx","../src/components/CreditLine/payment/3-Transfer.tsx","../src/components/CreditLine/payment/4-Success.tsx","../src/components/CreditLine/payment/index.tsx","../src/components/InvoiceFactoring/borrow/1-Evaluation.tsx","../src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx","../src/components/ConfirmTransferModal.tsx","../src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx","../src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx","../src/components/InvoiceFactoring/borrow/5-Transfer.tsx","../src/components/InvoiceFactoring/borrow/6-Success.tsx","../src/components/InvoiceFactoring/borrow/index.tsx","../src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx","../src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx","../src/components/InvoiceFactoring/payment/3-Transfer.tsx","../src/components/InvoiceFactoring/payment/4-Success.tsx","../src/components/InvoiceFactoring/payment/index.tsx","../src/components/Lend/supply/1-Evaluation.tsx","../src/components/Lend/supply/2-ChooseAmount.tsx","../src/components/Lend/supply/3-ApproveAllowance.tsx","../src/components/Lend/supply/6-Transfer.tsx","../src/components/Lend/supply/7-Success.tsx","../src/components/Lend/supply/index.tsx","../src/components/Lend/withdraw/1-CheckWithdrawble.tsx","../src/components/Lend/withdraw/2-ChooseAmount.tsx","../src/components/Lend/withdraw/3-Transfer.tsx","../src/components/Lend/withdraw/4-Success.tsx","../src/components/Lend/withdraw/index.tsx","../src/components/HumaTable.tsx","../src/components/Activity.tsx","../src/components/ApolloWrapper.tsx","../src/components/StreamFactoring/borrow/1-Evaluation.tsx","../src/components/StreamFactoring/borrow/2-ChooseAmount.tsx","../src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx","../src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx","../src/components/StreamFactoring/borrow/5-Permit.tsx","../src/components/StreamFactoring/borrow/6-Transfer.tsx","../src/components/StreamFactoring/borrow/7-Success.tsx","../src/components/StreamFactoring/borrow/index.tsx","../src/components/Factoring/UpcomingList.tsx","../src/components/Factoring/FactoredList.tsx","../src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx","../src/components/buttons/TableActionButton.tsx","../src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx","../src/components/SuperfluidFactoring/index.tsx","../src/store/index.ts","../src/theme/breakpoints.ts","../src/theme/components.ts","../src/theme/coreThemeConstants.ts","../src/theme/cssMixins.ts","../src/theme/shape.ts","../src/theme/typography.ts","../src/theme/index.ts","../src/index.tsx"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'\nimport type { RootState, AppDispatch } from '../store'\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch<AppDispatch>()\nexport const useAppSelector: TypedUseSelectorHook<RootState> = useSelector\n","import { Approval } from '@huma-finance/shared'\n\nexport enum WIDGET_TYPE {\n BORROW = 'BORROW',\n PAYMENT = 'PAYMENT',\n}\n\nexport enum WIDGET_STEP {\n Evaluation = 'Evaluation',\n ChooseAmount = 'ChooseAmount',\n Permit = 'Permit',\n ApproveAllowance = 'ApproveAllowance',\n MintNFT = 'MintNFT',\n ConfirmTransfer = 'ConfirmTransfer',\n ApproveNFT = 'ApproveNFT',\n Transfer = 'Transfer',\n CheckWithdrawable = 'CheckWithdrawable',\n Done = 'Done',\n Error = 'Error',\n}\n\nexport type WidgetStream = Partial<{\n borrowFlowrate: string\n durationInSeconds: number\n}>\n\nexport type MultisendPayload = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n addresses: any[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n callData: any[]\n}\n\nexport type WidgetState = {\n step?: WIDGET_STEP\n type?: WIDGET_TYPE\n approval?: Approval\n borrowAmount?: number\n borrowAmountBN?: string\n chargedFees?: number\n borrowAmountNet?: number\n remainder?: number\n paymentAmount?: number\n remainDueAmount?: number\n supplyAmount?: number\n withdrawAmount?: number\n errorMessage?: string\n errorReason?: string\n tokenId?: string\n stream?: WidgetStream\n multisend?: MultisendPayload\n}\n\nexport const initialWidgetState: WidgetState = {}\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { Approval } from '@huma-finance/shared'\n\nimport {\n initialWidgetState,\n MultisendPayload,\n WIDGET_STEP,\n WidgetStream,\n} from './widgets.store'\n\nexport const widgetSlice = createSlice({\n name: 'widget',\n initialState: initialWidgetState,\n reducers: {\n resetState: (state) => {\n state.errorReason = ''\n state.errorMessage = ''\n state.step = undefined\n state.approval = undefined\n state.borrowAmount = undefined\n state.borrowAmountBN = undefined\n state.chargedFees = undefined\n state.borrowAmountNet = undefined\n state.remainder = undefined\n state.tokenId = undefined\n state.paymentAmount = undefined\n state.remainDueAmount = undefined\n state.stream = undefined\n state.multisend = undefined\n state.supplyAmount = undefined\n state.withdrawAmount = undefined\n },\n setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {\n state.step = payload\n },\n setApproval: (\n state,\n { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,\n ) => {\n state.approval = payload\n if (Number(payload.terms.creditLimit) > 0) {\n state.step = payload.nextStep\n } else {\n state.errorMessage =\n 'Sorry, there was an error with your transaction. Please try submitting again.'\n state.step = WIDGET_STEP.Error\n }\n },\n setBorrowInfo: (\n state,\n {\n payload,\n }: PayloadAction<{\n borrowAmount: number\n borrowAmountBN: string\n chargedFees: number\n nextStep: WIDGET_STEP\n remainder?: number\n }>,\n ) => {\n state.borrowAmount = payload.borrowAmount\n state.borrowAmountBN = payload.borrowAmountBN\n state.remainder = payload.remainder\n state.chargedFees = payload.chargedFees\n state.borrowAmountNet = payload.borrowAmount - payload.chargedFees\n state.step = payload.nextStep\n },\n setTokenId: (state, { payload }: PayloadAction<string>) => {\n state.tokenId = payload\n },\n setPaymentAmount: (\n state,\n {\n payload,\n }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,\n ) => {\n state.paymentAmount = payload.paymentAmount\n state.remainDueAmount = payload.remainDueAmount\n },\n setSupplyAmount: (state, { payload }: PayloadAction<number>) => {\n state.supplyAmount = payload\n },\n setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {\n state.withdrawAmount = payload\n },\n setStream: (state, { payload }: PayloadAction<WidgetStream>) => {\n const stream = state.stream ?? {}\n state.stream = { ...stream, ...payload }\n },\n setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {\n state.multisend = payload\n },\n setError: (\n state,\n {\n payload,\n }: PayloadAction<{ errorMessage: string; errorReason?: string }>,\n ) => {\n state.errorMessage = payload.errorMessage\n state.errorReason = payload.errorReason\n state.step = WIDGET_STEP.Error\n },\n },\n})\n\nexport const {\n resetState,\n setStep,\n setApproval,\n setBorrowInfo,\n setError,\n setTokenId,\n setPaymentAmount,\n setStream,\n setMultisend,\n setSupplyAmount,\n setWithdrawAmount,\n} = widgetSlice.actions\n\nexport default widgetSlice.reducer\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18%2017H6V15H18V17ZM18%2013H6V11H18V13ZM18%209H6V7H18V9ZM3%2022L4.5%2020.5L6%2022L7.5%2020.5L9%2022L10.5%2020.5L12%2022L13.5%2020.5L15%2022L16.5%2020.5L18%2022L19.5%2020.5L21%2022V2L19.5%203.5L18%202L16.5%203.5L15%202L13.5%203.5L12%202L10.5%203.5L9%202L7.5%203.5L6%202L4.5%203.5L3%202V22Z%22%20fill%3D%22%2376707E%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%222%22%20height%3D%2214%22%20viewBox%3D%220%200%202%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%222%22%20height%3D%2214%22%20fill%3D%22%23E0E0E0%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20id%3D%22huma-loader%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2081%2080%22%3E%20%20%3Cpath%20stroke%3D%22url%28%23SS%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M40.976%200v26.34%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23bbb%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M42.877%2026.471%2046.542.39%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23dd%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m44.742%2026.866%207.26-25.317%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ff%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m46.533%2027.518%2010.712-24.06%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23hh%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M48.215%2028.414%2062.172%206.078%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23jj%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M49.756%2029.536%2066.687%209.358%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ll%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m51.127%2030.86%2019.575-17.625%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23nn%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m52.302%2032.36%2021.835-14.728%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23pp%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m53.256%2034.01%2023.671-11.545%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23rr%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m53.97%2035.778%2025.049-8.139%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23tt%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m54.43%2037.628%2025.938-4.574%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23vv%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m54.627%2039.523%2026.324-.92%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23xx%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m80.756%2044.181-26.194-2.753%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23zz%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m79.787%2049.677-25.555-6.372%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23BB%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m78.063%2054.984-24.419-9.866%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23DD%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m75.617%2060-22.81-13.169%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23FF%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M72.496%2064.627%2051.74%2048.41%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23HH%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M68.763%2068.774%2050.465%2049.826%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23JJ%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M64.487%2072.36%2049.005%2051.053%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23LL%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M59.754%2075.318%2047.39%2052.063%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23NN%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M54.657%2077.588%2045.649%2052.84%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23PP%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m49.292%2079.126-5.476-25.762%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23RR%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m43.766%2079.903-1.837-26.276%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23aaa%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m38.185%2079.903%201.838-26.276%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ccc%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m32.66%2079.126%205.475-25.762%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ee%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m27.295%2077.588%209.007-24.748%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23gg%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m22.196%2075.318%2012.365-23.255%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ii%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m17.464%2072.36%2015.482-21.308%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23kk%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m13.188%2068.774%2018.298-18.948%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23mm%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M9.455%2064.627%2030.211%2048.41%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23oo%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m6.334%2060%2022.81-13.169%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23qq%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m3.889%2054.984%2024.418-9.866%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ss%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m2.164%2049.677%2025.555-6.372%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23uu%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m1.194%2044.181%2026.195-2.753%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ww%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.324%2039.523%201%2038.603%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23yy%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.52%2037.628%201.584%2033.054%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23AA%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.98%2035.778%202.934%2027.639%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23CC%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M28.695%2034.01%205.023%2022.465%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23EE%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M29.65%2032.36%207.814%2017.632%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23GG%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M30.825%2030.86%2011.25%2013.235%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23II%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M32.195%2029.536%2015.264%209.358%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23KK%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M33.736%2028.414%2019.778%206.078%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23MM%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M35.418%2027.518%2024.706%203.458%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23OO%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M37.21%2026.866%2029.95%201.549%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23QQ%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M39.075%2026.471%2035.409.39%22%2F%3E%20%20%3Cdefs%3E%20%20%20%20%3ClinearGradient%20id%3D%22aaa%22%20x1%3D%2240.023%22%20x2%3D%2234.391%22%20y1%3D%2256.16%22%20y2%3D%2256.46%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22bbb%22%20x1%3D%2246.542%22%20x2%3D%2235.401%22%20y1%3D%222.903%22%20y2%3D%224.096%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ccc%22%20x1%3D%2238.135%22%20x2%3D%2221.729%22%20y1%3D%2255.847%22%20y2%3D%2258.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22dd%22%20x1%3D%2252.002%22%20x2%3D%2230.699%22%20y1%3D%223.989%22%20y2%3D%228.642%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ee%22%20x1%3D%2236.302%22%20x2%3D%2210.586%22%20y1%3D%2255.225%22%20y2%3D%2262.354%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ff%22%20x1%3D%2257.245%22%20x2%3D%2227.708%22%20y1%3D%225.777%22%20y2%3D%2215.793%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22gg%22%20x1%3D%2234.561%22%20x2%3D%221.902%22%20y1%3D%2254.305%22%20y2%3D%2267.53%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22hh%22%20x1%3D%2262.172%22%20x2%3D%2227.185%22%20y1%3D%228.231%22%20y2%3D%2224.881%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ii%22%20x1%3D%2232.946%22%20x2%3D%22-3.495%22%20y1%3D%2253.106%22%20y2%3D%2273.27%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22jj%22%20x1%3D%2266.687%22%20x2%3D%2229.728%22%20y1%3D%2211.303%22%20y2%3D%2234.922%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22kk%22%20x1%3D%2231.486%22%20x2%3D%22-5.021%22%20y1%3D%2251.653%22%20y2%3D%2278.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ll%22%20x1%3D%2270.702%22%20x2%3D%2235.621%22%20y1%3D%2214.934%22%20y2%3D%2244.607%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22mm%22%20x1%3D%2230.211%22%20x2%3D%22-2.509%22%20y1%3D%2249.974%22%20y2%3D%2281.869%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22nn%22%20x1%3D%2274.137%22%20x2%3D%2244.628%22%20y1%3D%2219.052%22%20y2%3D%2252.371%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22oo%22%20x1%3D%2229.143%22%20x2%3D%223.551%22%20y1%3D%2248.1%22%20y2%3D%2281.86%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22pp%22%20x1%3D%2276.927%22%20x2%3D%2255.762%22%20y1%3D%2223.578%22%20y2%3D%2256.629%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22qq%22%20x1%3D%2228.307%22%20x2%3D%2211.82%22%20y1%3D%2246.069%22%20y2%3D%2277.149%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22rr%22%20x1%3D%2279.019%22%20x2%3D%2267.161%22%20y1%3D%2228.424%22%20y2%3D%2256.218%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ss%22%20x1%3D%2227.719%22%20x2%3D%2220.115%22%20y1%3D%2243.919%22%20y2%3D%2267.15%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22tt%22%20x1%3D%2280.368%22%20x2%3D%2276.311%22%20y1%3D%2233.495%22%20y2%3D%2251.018%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22uu%22%20x1%3D%2227.389%22%20x2%3D%2225.884%22%20y1%3D%2241.694%22%20y2%3D%2252.599%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22vv%22%20x1%3D%2280.951%22%20x2%3D%2280.781%22%20y1%3D%2238.692%22%20y2%3D%2242.397%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ww%22%20x1%3D%2227.324%22%20x2%3D%2227.154%22%20y1%3D%2238.692%22%20y2%3D%2242.397%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22xx%22%20x1%3D%2280.756%22%20x2%3D%2279.251%22%20y1%3D%2241.694%22%20y2%3D%2252.599%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22yy%22%20x1%3D%2227.521%22%20x2%3D%2223.464%22%20y1%3D%2233.495%22%20y2%3D%2251.018%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22zz%22%20x1%3D%2279.787%22%20x2%3D%2272.183%22%20y1%3D%2243.919%22%20y2%3D%2267.15%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22AA%22%20x1%3D%2227.981%22%20x2%3D%2216.123%22%20y1%3D%2228.424%22%20y2%3D%2256.218%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22BB%22%20x1%3D%2278.063%22%20x2%3D%2261.576%22%20y1%3D%2246.069%22%20y2%3D%2277.149%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22CC%22%20x1%3D%2228.695%22%20x2%3D%227.529%22%20y1%3D%2223.578%22%20y2%3D%2256.629%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22DD%22%20x1%3D%2275.617%22%20x2%3D%2250.025%22%20y1%3D%2248.1%22%20y2%3D%2281.86%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22EE%22%20x1%3D%2229.649%22%20x2%3D%22.14%22%20y1%3D%2219.052%22%20y2%3D%2252.371%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22FF%22%20x1%3D%2272.496%22%20x2%3D%2239.777%22%20y1%3D%2249.974%22%20y2%3D%2281.869%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22GG%22%20x1%3D%2230.825%22%20x2%3D%22-4.256%22%20y1%3D%2214.934%22%20y2%3D%2244.607%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22HH%22%20x1%3D%2268.763%22%20x2%3D%2232.255%22%20y1%3D%2251.653%22%20y2%3D%2278.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22II%22%20x1%3D%2232.195%22%20x2%3D%22-4.765%22%20y1%3D%2211.303%22%20y2%3D%2234.922%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22JJ%22%20x1%3D%2264.487%22%20x2%3D%2228.046%22%20y1%3D%2253.106%22%20y2%3D%2273.27%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22KK%22%20x1%3D%2233.736%22%20x2%3D%22-1.251%22%20y1%3D%228.231%22%20y2%3D%2224.881%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22LL%22%20x1%3D%2259.754%22%20x2%3D%2227.096%22%20y1%3D%2254.305%22%20y2%3D%2267.53%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22MM%22%20x1%3D%2235.418%22%20x2%3D%225.881%22%20y1%3D%225.777%22%20y2%3D%2215.793%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22NN%22%20x1%3D%2254.657%22%20x2%3D%2228.94%22%20y1%3D%2255.225%22%20y2%3D%2262.354%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22OO%22%20x1%3D%2237.21%22%20x2%3D%2215.907%22%20y1%3D%223.989%22%20y2%3D%228.642%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22PP%22%20x1%3D%2249.292%22%20x2%3D%2232.887%22%20y1%3D%2255.847%22%20y2%3D%2258.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22QQ%22%20x1%3D%2239.075%22%20x2%3D%2227.933%22%20y1%3D%222.903%22%20y2%3D%224.096%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22RR%22%20x1%3D%2243.766%22%20x2%3D%2238.134%22%20y1%3D%2256.16%22%20y2%3D%2256.46%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22SS%22%20x1%3D%2241.976%22%20x2%3D%2238.904%22%20y1%3D%222.539%22%20y2%3D%222.628%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22324%22%20height%3D%22242%22%20fill%3D%22none%22%20viewBox%3D%220%200%20324%20242%22%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M4.494%20215.76h313.958%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M287.935%20135.475a.524.524%200%201%200%200-1.048.524.524%200%200%200%200%201.048ZM78.84%20116.228a.524.524%200%201%200-.001-1.048.524.524%200%200%200%200%201.048Zm-18.97%2087.197a.524.524%200%201%200-.001-1.048.524.524%200%200%200%20.001%201.048Zm.919-186.026a.524.524%200%201%200%200-1.048.524.524%200%200%200%200%201.048Zm144.574%2026.3a.524.524%200%201%200%200-1.05.524.524%200%200%200%200%201.05Zm-68.49%20140.617a.524.524%200%201%200-.001-1.047.524.524%200%200%200%20.001%201.047Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m240.004%20112.677%202.903%202.117m-76.084%2048.731%202.903%202.107m-9.273-133.11%202.903%202.117M159.26%202.76%20162.38%201m-46.155%20237.883%202.903%202.117m-81.554-87.306-2.943%202.057m135.638%2068.751-2.943%202.057m113.115-47.436-2.943%202.058M41.602%2051.017%2039.52%2048.09m229.397%2015.301%203.338-1.315m5.243-44.272%201.955%203.017M34.6%20232.949l1.946%203.016%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m60.979%20130.112%201.461%207.932%206.241-2.601-5.786%204.55%205.174%202.552-5.994-1.118%201.254%207.448-3.09-7.24-5.452%205.914%203.595-6.735-5.392-1.81%205.155-.327-1.55-3.323%203.001%202.384%201.383-7.626Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M51.446%2098.154%2053.5%20109.27l8.749-3.64-8.117%206.389%207.258%203.571-8.413-1.573%201.757%2010.445-4.335-10.158-7.643%208.299%205.036-9.456-7.564-2.542%207.229-.455-2.173-4.668%204.217%203.343%201.945-10.672Zm56.671-82.694%202.153%2011.662%209.183-3.818L110.932%2030l7.613%203.748-8.818-1.641%201.846%2010.959-4.542-10.653-8.028%208.694%205.283-9.91-7.94-2.67%207.584-.476-2.281-4.895%204.424%203.5%202.044-11.196Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M101.305%2079.493H47.34c.869-5.4%203.89-4.025%205.302-2.65%209.056-19.209%2017.508-8.408%2020.6-.604%204.433-7.24%209.074-3.017%2010.841%200%209.154-6.083%2015.296-.366%2017.222%203.254ZM205.66%2026.34h34.344c-.553-3.442-2.478-2.561-3.377-1.691-5.767-12.225-11.139-5.351-13.113-.386-2.825-4.609-5.777-1.919-6.903%200-5.816-3.857-9.726-.217-10.951%202.077Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m96.84%20129.006-.257%202.097-14.99%201.296c-1.451.089-1.787.752-.82%201.434-1.016-.237-2.646.88-1.293%202.413-.898-.009-1.836.94-.938%202.008.089.109.385.366.8.475.415.109%201.669.277%202.242.336l-2.884.871c-.889.267-1.076%201.988.593%201.968l12.728-1.375-5.984%203.689c-.74.782-.563%202.839%201.61%202.008%201.046-.316%2010.131-2.215%2014.239-4.282l3.634-3.591%204.167-10.603%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m80.724%20133.823%207.88.05m-9.213%202.373%208.551.089m-6.715%202.8%205.757-.989m58.479-92.014c.878%202.334%201.965%208.16-.721%2012.769a3.662%203.662%200%200%201-.277.375m-7.781-1.048c-.306-.445-1.017-1.553-1.363-2.473m1.363%202.473c.454.623%201.116%201.316%201.758%201.74%202.824%201.712%204.631.525%205.322%200%20.247-.187.484-.425.711-.692m-7.791-1.048v2.997m7.791-1.949v2.374%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22M154.904%2062.926c-3.417-1.246-7.979-1.998-10.013-1.988-2.242%201.86-6.814.781-8.631%200%200%200-3.624.692-5.915%201.553-7.722%202.077-11.948%208.931-13.4%2012.284l-22.474%2054.222h16.056v7.477h8.413c7.268-13.857%2022.969-43.203%2027.313-50.918%204.345-7.715%2010.784-16.666%2014.2-19.05-.237.01-2.133-2.334-5.549-3.58Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m208.167%2072.036.02%201.206c-.03%202.7%203.15%203.61%203.653.445.069-1.72-.108-6.567-.345-10.731-.247-1.731-2.331-2.265-3.358-1.039m-.009-.01-.08-1.552c-.078-1.583-1.323-3.007-2.764-1.939m2.844%203.491.394%207.963m-3.238-11.454c-.06-1.128-.81-2.8-2.913-2.067-1.985.781-4.306%202.532-6.32%204.233m9.233-2.166.483%209.693m-4.196-6.815.503%207.527m-91.123%2058.435%2018.1-42.936m17.142-34.766c-.622%200-2.182.326-2.646%201.453-.464%201.128.079%204.036.967%205.56-.464-.14-1.155-.199-2.182-1.514m-1.411-4.589c-.514-.455-1.847-1.058-3.062.128m2.162%206.458c.366-.128%201.255-.207%201.896.465m-5.55-3.155c-.207-.326-.839-.949-1.767-.84%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M135.479%2053.728c-.247.079-.642.425-.208%201.137%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M147.043%2048.02c3.535%202.157.958%204.382-.711%205.114.148-1.147-.138-3.244-.138-3.353-.682-.326-.692-.86-.613-1.088l-1.807-1.81-6.122.247c.326%201.988-1.452%204.056-2.251%204.748.385.316.256.83.256.722-1.481-.455-2.034.415-2.123.91-.523-.534-1.55-1.89-1.461-3.076.089-1.187%201.56-2.107%202.291-2.423-1.422-4.926%201.501-5.668%203.14-5.42-.129-.614.089-2.463%201.609-2.889%204.79-.94%205.175%204.105%205.175%203.996%202.972-.296%203.081%202.75%202.755%204.323Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M136.231%2055.547c-.78.139-2.439.1-2.814-1.147-.474-1.553.967-2.225%202.271-1.681%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M136.042%2057.13c.563-.643.533-1.217.444-1.424h-1.215l.771%201.424Zm.435-5.747%205.766.485-1.293%202.76-3.525.237-.948-3.482Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m140.407%2051.72.553.05-1.007%202.937-.504.04.958-3.027Zm-.898-.08.523.05-1.057%203.086-.424.03.958-3.165Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m149.265%2051.383-5.767.485%201.294%202.76%203.525.237.948-3.482Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m147.032%2051.571.583-.059-1.096%203.234-.484-.03.997-3.145Zm-.967.079.582-.049-1.066%203.086-.425-.03.909-3.007Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M144.179%2052.798h-2.736m-4.236-.258-2.202-.593%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m144.457%2060.977.098-1.473c-1.481%201.671-4.779%201.177-6.25.732%202.3%202.571%205.075%201.384%206.152.742Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m178.276%2097.969%206.221%2013.313c-5.836%206.706-12.008%204.332-14.368%202.305l8.147-15.618Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m178.089%2098.068%2012.985%2025.667%205.836-.772m-18.821-24.895-20.095%2038h-10.319m30.414-38-3.387-6.933-27.027%2044.933m0%200h-22.189m0%200h-6.556s20.815-39.019%2029.624-54.172c8.808-15.162%2018.258-24.133%2031.47-21.126%2013.213%203.006%2018.446%2014.025%2021.033%2020.395%201.501%202.76%2015.859%2039.147%2015.859%2039.147l-20.016%202.651m-71.414%2013.105%2052.593-65.694%2018.821%2052.589%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M180.271%2060.859c2.499-1.86%2010.902-4.669%2021.458%203.383m14.97%2055.338%2010.961-1.918c-2.893-10.732-9.164-29.346-16.787-42.125%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M204.661%20136.484h-7.899l.79-13.442%2013.795-1.82v3.234l23.245%2012.028h-26.85l-2.577-3.521-.504%203.521Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M223.335%20121.213v-2.671m0%202.671v3.234l23.245%2012.027h-26.849l-2.578-3.521-.513%203.521h-7.9l.79-13.442%2013.805-1.819Z%22%2F%3E%20%20%3Cmask%20id%3D%22a%22%20width%3D%22324%22%20height%3D%2271%22%20x%3D%220%22%20y%3D%22135.504%22%20fill%3D%22%23000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%20135.504h324v71H0z%22%2F%3E%20%20%20%20%3Cpath%20d%3D%22M39.722%20158.337c-.174-2.179-.99-3.879-2.447-5.099-1.436-1.22-3.622-1.83-6.56-1.83-1.87%200-3.404.229-4.6.686-1.175.436-2.045%201.035-2.61%201.798a4.448%204.448%200%200%200-.882%202.615c-.044.806.098%201.536.424%202.19.348.631.892%201.209%201.632%201.732.74.501%201.686.959%202.839%201.373%201.153.414%202.523.784%204.111%201.111l5.482%201.177c3.699.784%206.864%201.819%209.496%203.105%202.632%201.285%204.786%202.8%206.461%204.543%201.675%201.721%202.904%203.66%203.688%205.818.804%202.157%201.218%204.51%201.24%207.06-.022%204.401-1.12%208.127-3.296%2011.178-2.176%203.05-5.287%205.371-9.333%206.962-4.024%201.59-8.865%202.386-14.52%202.386-5.81%200-10.878-.861-15.207-2.583-4.307-1.721-7.658-4.368-10.05-7.942-2.372-3.595-3.568-8.193-3.59-13.793h17.23c.108%202.048.62%203.77%201.533%205.164.914%201.395%202.197%202.452%203.85%203.171%201.676.719%203.666%201.078%205.972%201.078%201.936%200%203.557-.239%204.862-.719%201.305-.479%202.295-1.144%202.97-1.994a4.708%204.708%200%200%200%201.044-2.908%204.142%204.142%200%200%200-1.012-2.681c-.63-.784-1.675-1.481-3.132-2.091-1.458-.632-3.427-1.221-5.907-1.765l-6.656-1.439c-5.918-1.285-10.584-3.431-14-6.438-3.393-3.029-5.079-7.158-5.057-12.388-.022-4.249%201.11-7.964%203.393-11.145%202.306-3.203%205.494-5.698%209.561-7.485%204.09-1.787%208.778-2.68%2014.065-2.68%205.395%200%2010.061.904%2013.998%202.712%203.938%201.809%206.973%204.358%209.105%207.649%202.153%203.268%203.241%207.092%203.263%2011.472h-17.36Zm71.251%2012.551c0-4.009-.533-7.387-1.599-10.132-1.045-2.768-2.6-4.859-4.667-6.276-2.045-1.438-4.568-2.157-7.57-2.157-3.002%200-5.537.719-7.603%202.157-2.045%201.417-3.6%203.508-4.666%206.276-1.045%202.745-1.567%206.123-1.567%2010.132%200%204.009.522%207.398%201.567%2010.165%201.065%202.745%202.62%204.837%204.666%206.275%202.066%201.417%204.6%202.125%207.603%202.125%203.002%200%205.525-.708%207.57-2.125%202.067-1.438%203.622-3.53%204.667-6.275%201.066-2.767%201.599-6.156%201.599-10.165Zm27.059%2033.469v-66.938h28.846c4.96%200%209.3.904%2013.02%202.713%203.72%201.808%206.614%204.412%208.68%207.811%202.067%203.4%203.1%207.474%203.1%2012.224%200%204.794-1.066%208.836-3.198%2012.126-2.11%203.291-5.079%205.775-8.908%207.453-3.807%201.677-8.256%202.516-13.346%202.516h-17.23v-14.12h13.575c2.132%200%203.948-.261%205.449-.784%201.523-.545%202.687-1.405%203.492-2.582.827-1.177%201.24-2.713%201.24-4.609%200-1.917-.413-3.475-1.24-4.674-.805-1.22-1.969-2.113-3.492-2.68-1.501-.588-3.317-.882-5.449-.882h-6.396v52.426h-18.143Zm39.158-30.724%2016.707%2030.724h-19.709l-16.316-30.724h19.318Zm22.222%2030.724v-66.938h28.846c4.96%200%209.3.904%2013.02%202.713%203.72%201.808%206.613%204.412%208.68%207.811%202.067%203.4%203.1%207.474%203.1%2012.224%200%204.794-1.066%208.836-3.198%2012.126-2.11%203.291-5.08%205.775-8.908%207.453-3.807%201.677-8.256%202.516-13.347%202.516h-17.229v-14.12h13.575c2.132%200%203.948-.261%205.449-.784%201.523-.545%202.687-1.405%203.492-2.582.826-1.177%201.24-2.713%201.24-4.609%200-1.917-.414-3.475-1.24-4.674-.805-1.22-1.969-2.113-3.492-2.68-1.501-.588-3.317-.882-5.449-.882h-6.396v52.426h-18.143Zm39.158-30.724%2016.707%2030.724h-19.709l-16.316-30.724h19.318Zm16.34-36.214h20.231l13.053%2027.194h.522l13.052-27.194H322l-24.539%2045.889v21.049h-18.012v-21.049l-24.539-45.889Z%22%2F%3E%20%20%3C%2Fmask%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m125.298%20189.747.435.247v-.001l-.435-.246Zm-11.715%2011.603.235.442.001-.001-.236-.441Zm-32.958-.033-.238.44.002.001.236-.441Zm-11.682-11.635-.436.244.001.002.435-.246Zm0-37.62-.435-.246.435.246Zm44.64-11.603-.236.44.001.001.235-.441Zm11.715%2011.603-.436.246h.001l.435-.246Zm3.84%2018.826c0%207.388-1.434%2013.585-4.276%2018.613l.871.492c2.946-5.213%204.405-11.589%204.405-19.105h-1Zm-4.275%2018.612c-2.849%205.021-6.687%208.82-11.516%2011.409l.472.882c5.004-2.684%208.976-6.621%2011.914-11.797l-.87-.494Zm-11.515%2011.409c-4.838%202.573-10.238%203.863-16.211%203.863v1c6.122%200%2011.686-1.324%2016.681-3.98l-.47-.883Zm-16.211%203.863c-6.017%200-11.438-1.301-16.275-3.895l-.473.881c4.996%202.679%2010.582%204.014%2016.748%204.014v-1Zm-16.273-3.894c-4.808-2.611-8.636-6.421-11.486-11.443l-.87.493c2.937%205.176%206.898%209.123%2011.879%2011.829l.477-.879Zm-11.485-11.441c-2.82-5.029-4.243-11.204-4.243-18.549h-1c0%207.472%201.448%2013.826%204.371%2019.038l.872-.489Zm-4.243-18.549c0-7.389%201.424-13.575%204.243-18.581l-.871-.491c-2.924%205.192-4.372%2011.557-4.372%2019.072h1Zm48.212-29.988c4.828%202.567%208.665%206.365%2011.514%2011.408l.871-.492c-2.937-5.199-6.91-9.137-11.915-11.799l-.47.883Zm11.515%2011.408c2.84%205.006%204.275%2011.191%204.275%2018.58h1c0-7.516-1.459-13.881-4.405-19.073l-.87.493Zm-55.484%200c2.295-4.062%205.223-7.314%208.783-9.767l-.567-.823c-3.695%202.544-6.723%205.914-9.087%2010.098l.87.492Zm36.457-14.288a31.998%2031.998%200%200%201%207.511%202.879l.472-.881a32.94%2032.94%200%200%200-7.744-2.969l-.239.971Zm-66.114%2020.317-.997.08.074.92h.923v-1Zm-2.447-5.099-.648.762.006.005.642-.767Zm-11.16-1.144.347.938.01-.004-.357-.934Zm-2.61%201.798-.804-.596.803.596Zm-.882%202.615.999.054v-.032l-.999-.022Zm.424%202.19-.895.446.01.018.01.018.875-.482Zm1.632%201.732-.577.816.008.006.008.006.56-.828Zm6.95%202.484.21-.978-.008-.002-.202.98Zm5.482%201.177-.21.977.003.001.207-.978Zm15.957%207.648-.72.693.004.004.716-.697Zm3.688%205.818-.94.341.003.008.936-.349Zm1.24%207.06%201%20.004v-.013l-1%20.009ZM54.7%20195.794l.814.58-.814-.58Zm-9.333%206.962-.366-.931-.001.001.367.93Zm-29.727-.197-.371.929.001.001.37-.93Zm-10.05-7.942-.835.551.004.005.83-.556ZM2%20180.824v-1H.996L1%20180.828l1-.004Zm17.23%200%20.998-.053-.05-.947h-.949v1Zm1.533%205.164-.836.548.836-.548Zm3.85%203.171-.398.917.004.002.395-.919Zm10.834.359.345.939-.345-.939Zm2.97-1.994.783.622-.783-.622Zm1.044-2.908%201%20.02v-.042l-1%20.022Zm-1.012-2.681-.779.627.01.012.01.012.76-.651Zm-3.132-2.091-.398.917.012.005.386-.922Zm-5.907-1.765.215-.977-.003-.001-.212.978Zm-6.656-1.439-.213.978h.001l.212-.978Zm-14-6.438-.665.746.005.004.66-.75Zm-5.057-12.388%201%20.004v-.009l-1%20.005Zm3.393-11.145-.811-.585v.001l.811.584Zm9.561-7.485-.4-.917-.002.001.402.916Zm28.064.032-.418.909.418-.909Zm9.104%207.649-.84.544.005.006.835-.55Zm3.263%2011.472v1h1.005l-.005-1.005-1%20.005Zm52.292%202.419-.936.353.003.009.933-.362Zm-4.667-6.276-.575.818.01.007.565-.825Zm-15.173%200%20.57.822.001-.001-.571-.821Zm-4.666%206.276-.934-.36-.001.004.934.356Zm0%2020.297-.936.353.003.009.933-.362Zm4.666%206.275-.576.818.01.007.566-.825Zm15.173%200%20.57.822.002-.001-.572-.821Zm4.667-6.275-.933-.36-.002.004.935.356Zm28.658%2023.304h-1v1h1v-1Zm0-66.938v-1h-1v1h1Zm50.546%2010.524.855-.519-.855.519Zm-.098%2024.35-.839-.543-.002.004.841.539Zm-8.908%207.453-.401-.916h-.002l.403.916Zm-30.576%202.516h-1v1h1v-1Zm0-14.12v-1h-1v1h1Zm19.024-.784.33.944.007-.002-.337-.942Zm3.492-2.582-.818-.575-.007.01.825.565Zm0-9.283-.835.551.006.009.006.008.823-.568Zm-3.492-2.68-.364.931.008.004.008.003.348-.938Zm-11.845-.882v-1h-1v1h1Zm0%2052.426v1h1v-1h-1Zm21.015-30.724.878-.477-.284-.523h-.594v1Zm16.707%2030.724v1h1.682l-.803-1.478-.879.478Zm-19.709%200-.883.469.282.531h.601v-1Zm-16.316-30.724v-1h-1.663l.78%201.47.883-.47Zm41.54%2030.724h-1v1h1v-1Zm0-66.938v-1h-1v1h1Zm50.546%2010.524.854-.519-.854.519Zm-.098%2024.35-.839-.543-.003.004.842.539Zm-8.908%207.453-.402-.916h-.002l.404.916Zm-30.576%202.516h-1v1h1v-1Zm0-14.12v-1h-1v1h1Zm19.024-.784.329.944.008-.002-.337-.942Zm3.492-2.582-.819-.575-.007.01.826.565Zm0-9.283-.835.551.006.009.006.008.823-.568Zm-3.492-2.68-.365.931.008.004.008.003.349-.938Zm-11.845-.882v-1h-1v1h1Zm0%2052.426v1h1v-1h-1Zm21.015-30.724.878-.477-.284-.523h-.594v1Zm16.707%2030.724v1h1.682l-.804-1.478-.878.478Zm-19.709%200-.884.469.282.531h.602v-1Zm-16.316-30.724v-1h-1.663l.78%201.47.883-.47Zm35.658-36.214v-1h-1.669l.787%201.471.882-.471Zm20.231%200%20.902-.433-.272-.567h-.63v1Zm13.053%2027.194-.902.432.273.568h.629v-1Zm.522%200v1h.629l.272-.568-.901-.432Zm13.052-27.194v-1h-.629l-.272.567.901.433Zm20.232%200%20.882.471.787-1.471H322v1Zm-24.539%2045.889-.882-.471-.118.221v.25h1Zm0%2021.049v1h1v-1h-1Zm-18.012%200h-1v1h1v-1Zm0-21.049h1v-.25l-.119-.221-.881.471Zm-238.73-25.051c-.192-2.402-1.108-4.367-2.803-5.786l-1.283%201.534c1.22%201.022%201.936%202.456%202.092%204.412l1.994-.16Zm-2.797-5.781c-1.694-1.439-4.158-2.068-7.206-2.068v2c2.825%200%204.733.591%205.911%201.592l1.295-1.524Zm-7.206-2.068c-1.942%200-3.608.236-4.959.752l.715%201.868c1.043-.399%202.444-.62%204.244-.62v-2Zm-4.95.749c-1.299.482-2.352%201.178-3.065%202.139l1.606%201.192c.419-.565%201.105-1.067%202.155-1.456l-.695-1.875Zm-3.065%202.139a5.448%205.448%200%200%200-1.078%203.189l2%20.044c.017-.781.246-1.451.684-2.041l-1.606-1.192Zm-1.076%203.157c-.052.96.116%201.866.527%202.69l1.79-.893c-.241-.483-.356-1.038-.32-1.689l-1.997-.108Zm.546%202.726c.438.794%201.098%201.478%201.93%202.066l1.155-1.633c-.647-.457-1.074-.928-1.333-1.398l-1.752.965Zm1.947%202.078c.83.562%201.857%201.053%203.062%201.486l.676-1.883c-1.101-.395-1.966-.818-2.616-1.259l-1.122%201.656Zm3.062%201.486c1.209.434%202.627.816%204.248%201.149l.403-1.959c-1.556-.32-2.878-.679-3.975-1.073l-.676%201.883Zm4.24%201.148%205.482%201.176.42-1.955-5.483-1.177-.42%201.956Zm5.484%201.177c3.64.772%206.723%201.784%209.264%203.025l.878-1.797c-2.724-1.33-5.97-2.388-9.727-3.185l-.415%201.957Zm9.264%203.025c2.549%201.245%204.6%202.695%206.18%204.338l1.441-1.386c-1.771-1.844-4.027-3.422-6.743-4.749l-.878%201.797Zm6.184%204.342c1.58%201.625%202.731%203.444%203.464%205.462l1.88-.683c-.834-2.296-2.142-4.356-3.911-6.174l-1.433%201.395Zm3.467%205.47c.76%202.037%201.156%204.274%201.176%206.719l2-.017c-.022-2.653-.453-5.124-1.303-7.401l-1.873.699Zm1.176%206.706c-.02%204.232-1.074%207.748-3.11%2010.602l1.629%201.161c2.315-3.246%203.459-7.183%203.481-11.754l-2-.009Zm-3.11%2010.602c-2.045%202.869-4.988%205.08-8.884%206.612l.732%201.861c4.197-1.65%207.476-4.079%209.78-7.312l-1.627-1.161ZM45%20201.826c-3.878%201.532-8.587%202.316-14.154%202.316v2c5.745%200%2010.717-.808%2014.889-2.456l-.735-1.86Zm-14.154%202.316c-5.712%200-10.65-.847-14.837-2.512l-.739%201.859c4.472%201.778%209.671%202.653%2015.576%202.653v-2Zm-14.835-2.511c-4.135-1.653-7.319-4.178-9.59-7.57l-1.662%201.112c2.514%203.755%206.03%206.525%2010.51%208.315l.742-1.857Zm-9.587-7.565c-2.236-3.39-3.403-7.783-3.424-13.246l-2%20.008c.022%205.737%201.249%2010.54%203.755%2014.34l1.67-1.102ZM2%20181.824h17.23v-2H2v2Zm16.23-.947c.117%202.184.666%204.087%201.697%205.659l1.672-1.096c-.796-1.216-1.27-2.757-1.371-4.669l-1.997.106Zm1.697%205.659c1.029%201.571%202.47%202.75%204.288%203.54l.797-1.834c-1.49-.648-2.614-1.584-3.413-2.802l-1.672%201.096Zm4.292%203.542c1.828.784%203.96%201.159%206.366%201.159v-2c-2.205%200-4.055-.344-5.577-.997l-.789%201.838Zm6.366%201.159c2.011%200%203.757-.248%205.207-.78l-.69-1.877c-1.16.426-2.656.657-4.517.657v2Zm5.207-.78c1.43-.525%202.591-1.282%203.408-2.311l-1.567-1.243c-.532.67-1.35%201.243-2.53%201.677l.689%201.877Zm3.408-2.311a5.708%205.708%200%200%200%201.26-3.51l-1.999-.04a3.713%203.713%200%200%201-.828%202.307l1.567%201.243Zm1.26-3.552a5.136%205.136%200%200%200-1.25-3.309l-1.52%201.301c.498.583.754%201.253.771%202.051l2-.043Zm-1.232-3.285c-.778-.968-1.993-1.747-3.525-2.388l-.773%201.845c1.384.579%202.257%201.195%202.74%201.796l1.558-1.253Zm-3.514-2.383c-1.54-.668-3.579-1.273-6.09-1.824l-.428%201.953c2.45.538%204.349%201.11%205.723%201.706l.795-1.835Zm-6.092-1.825-6.657-1.438-.423%201.955%206.657%201.438.423-1.955Zm-6.656-1.438c-5.804-1.261-10.298-3.349-13.55-6.212l-1.322%201.501c3.578%203.151%208.417%205.355%2014.447%206.666l.425-1.955ZM9.42%20169.456c-3.147-2.809-4.745-6.647-4.724-11.638l-2-.008c-.023%205.468%201.752%209.889%205.392%2013.138l1.332-1.492Zm-4.724-11.647c-.021-4.057%201.055-7.562%203.206-10.557l-1.625-1.167c-2.418%203.368-3.604%207.293-3.581%2011.734l2-.01Zm3.205-10.556c2.189-3.041%205.226-5.429%209.152-7.154l-.805-1.831c-4.21%201.85-7.547%204.451-9.97%207.816l1.623%201.169Zm9.15-7.153c3.942-1.722%208.49-2.596%2013.664-2.596v-2c-5.4%200-10.228.912-14.465%202.763l.8%201.833Zm13.664-2.596c5.285%200%209.803.886%2013.581%202.621l.835-1.817c-4.096-1.882-8.912-2.804-14.416-2.804v2Zm13.581%202.621c3.784%201.738%206.664%204.169%208.683%207.283l1.678-1.087c-2.246-3.466-5.435-6.134-9.526-8.013l-.835%201.817Zm8.687%207.29c2.034%203.088%203.077%206.717%203.098%2010.927l2-.01c-.023-4.55-1.156-8.568-3.428-12.017l-1.67%201.1Zm4.098%209.922h-17.36v2h17.36v-2Zm54.891%2013.551c0-4.091-.543-7.6-1.667-10.494l-1.865.724c1.009%202.596%201.532%205.843%201.532%209.77h2Zm-1.664-10.485c-1.103-2.924-2.772-5.196-5.036-6.748l-1.131%201.65c1.869%201.281%203.311%203.192%204.296%205.804l1.871-.706Zm-5.026-6.741c-2.245-1.578-4.98-2.339-8.146-2.339v2c2.838%200%205.15.678%206.995%201.975l1.151-1.636Zm-8.146-2.339c-3.166%200-5.91.761-8.174%202.336l1.142%201.642c1.869-1.3%204.194-1.978%207.032-1.978v-2Zm-8.173%202.335c-2.239%201.551-3.906%203.82-5.03%206.738l1.867.719c1.008-2.617%202.452-4.531%204.302-5.813l-1.139-1.644Zm-5.031%206.742c-1.1%202.892-1.632%206.399-1.632%2010.488h2c0-3.929.513-7.178%201.501-9.777l-1.87-.711ZM82.3%20170.888c0%204.09.532%207.606%201.63%2010.518l1.872-.706c-.99-2.622-1.502-5.883-1.502-9.812h-2Zm1.634%2010.527c1.125%202.896%202.79%205.161%205.023%206.731l1.151-1.636c-1.856-1.305-3.302-3.224-4.31-5.819l-1.864.724Zm5.034%206.738c2.263%201.552%205.005%202.3%208.168%202.3v-2c-2.841%200-5.168-.668-7.038-1.95l-1.13%201.65Zm8.168%202.3c3.163%200%205.896-.748%208.14-2.303l-1.139-1.644c-1.846%201.279-4.16%201.947-7.001%201.947v2Zm8.142-2.304c2.258-1.571%203.926-3.839%205.029-6.741l-1.869-.711c-.985%202.59-2.428%204.506-4.303%205.811l1.143%201.641Zm5.028-6.737c1.123-2.914%201.666-6.432%201.666-10.524h-2c0%203.927-.523%207.185-1.532%209.805l1.866.719Zm28.725%2022.945v-66.938h-2v66.938h2Zm-1-65.938h28.846v-2h-28.846v2Zm28.846%200c4.839%200%209.024.882%2012.583%202.612l.875-1.799c-3.881-1.886-8.376-2.813-13.458-2.813v2Zm12.583%202.612c3.555%201.728%206.3%204.203%208.263%207.432l1.709-1.039c-2.171-3.57-5.212-6.303-9.097-8.192l-.875%201.799Zm8.263%207.432c1.954%203.214%202.954%207.102%202.954%2011.704h2c0-4.897-1.066-9.159-3.245-12.743l-1.709%201.039Zm2.954%2011.704c0%204.644-1.031%208.487-3.037%2011.583l1.679%201.087c2.258-3.485%203.358-7.726%203.358-12.67h-2Zm-3.039%2011.587c-1.997%203.112-4.807%205.471-8.468%207.076l.802%201.831c3.997-1.751%207.125-4.36%209.349-7.828l-1.683-1.079Zm-8.47%207.076c-3.655%201.611-7.961%202.432-12.943%202.432v2c5.199%200%209.79-.857%2013.749-2.601l-.806-1.831Zm-12.943%202.432h-17.23v2h17.23v-2Zm-16.23%201v-14.12h-2v14.12h2Zm-1-13.12h13.575v-2h-13.575v2Zm13.575%200c2.208%200%204.142-.27%205.778-.84l-.658-1.888c-1.366.476-3.064.728-5.12.728v2Zm5.786-.842c1.694-.606%203.041-1.586%203.98-2.959l-1.65-1.13c-.671.98-1.651%201.722-3.003%202.205l.673%201.884Zm3.973-2.949c.978-1.391%201.422-3.147%201.422-5.184h-2c0%201.755-.382%203.072-1.058%204.034l1.636%201.15Zm1.422-5.184c0-2.056-.443-3.83-1.417-5.241l-1.646%201.135c.68.986%201.063%202.328%201.063%204.106h2Zm-1.405-5.224c-.935-1.417-2.279-2.435-3.978-3.067l-.697%201.875c1.347.501%202.33%201.27%203.005%202.293l1.67-1.101Zm-3.962-3.061c-1.648-.646-3.595-.951-5.814-.951v2c2.045%200%203.731.283%205.085.813l.729-1.862Zm-5.814-.951h-6.396v2h6.396v-2Zm-7.396%201v52.426h2v-52.426h-2Zm1%2051.426h-18.143v2h18.143v-2Zm20.136-29.246%2016.708%2030.724%201.757-.956-16.708-30.723-1.757.955Zm17.586%2029.246h-19.709v2h19.709v-2Zm-18.826.531-16.316-30.724-1.766.939%2016.316%2030.723%201.766-.938Zm-17.199-29.255h19.318v-2h-19.318v2Zm42.54%2029.724v-66.938h-2v66.938h2Zm-1-65.938h28.846v-2h-28.846v2Zm28.846%200c4.838%200%209.024.882%2012.583%202.612l.874-1.799c-3.88-1.886-8.375-2.813-13.457-2.813v2Zm12.583%202.612c3.554%201.728%206.3%204.203%208.263%207.432l1.708-1.039c-2.17-3.57-5.211-6.303-9.097-8.192l-.874%201.799Zm8.263%207.432c1.954%203.214%202.954%207.102%202.954%2011.704h2c0-4.897-1.067-9.159-3.246-12.743l-1.708%201.039Zm2.954%2011.704c0%204.644-1.031%208.487-3.037%2011.583l1.678%201.087c2.258-3.485%203.359-7.726%203.359-12.67h-2Zm-3.04%2011.587c-1.996%203.112-4.806%205.471-8.468%207.076l.803%201.831c3.996-1.751%207.125-4.36%209.349-7.828l-1.684-1.079Zm-8.47%207.076c-3.654%201.611-7.961%202.432-12.943%202.432v2c5.2%200%209.791-.857%2013.75-2.601l-.807-1.831Zm-12.943%202.432h-17.229v2h17.229v-2Zm-16.229%201v-14.12h-2v14.12h2Zm-1-13.12h13.575v-2h-13.575v2Zm13.575%200c2.208%200%204.142-.27%205.778-.84l-.658-1.888c-1.366.476-3.065.728-5.12.728v2Zm5.786-.842c1.694-.606%203.041-1.586%203.98-2.959l-1.651-1.13c-.67.98-1.651%201.722-3.003%202.205l.674%201.884Zm3.973-2.949c.977-1.391%201.422-3.147%201.422-5.184h-2c0%201.755-.383%203.072-1.058%204.034l1.636%201.15Zm1.422-5.184c0-2.056-.444-3.83-1.417-5.241l-1.646%201.135c.68.986%201.063%202.328%201.063%204.106h2Zm-1.405-5.224c-.935-1.417-2.28-2.435-3.978-3.067l-.698%201.875c1.348.501%202.331%201.27%203.006%202.293l1.67-1.101Zm-3.962-3.061c-1.648-.646-3.596-.951-5.814-.951v2c2.045%200%203.73.283%205.084.813l.73-1.862Zm-5.814-.951h-6.396v2h6.396v-2Zm-7.396%201v52.426h2v-52.426h-2Zm1%2051.426h-18.143v2h18.143v-2Zm20.136-29.246%2016.707%2030.724%201.757-.956-16.707-30.723-1.757.955Zm17.586%2029.246h-19.709v2h19.709v-2Zm-18.826.531-16.316-30.724-1.766.939%2016.315%2030.723%201.767-.938Zm-17.199-29.255h19.318v-2h-19.318v2Zm35.658-36.214h20.231v-2h-20.23v2Zm19.33-.567%2013.052%2027.193%201.803-.865-13.052-27.194-1.803.866Zm13.954%2027.761h.522v-2h-.522v2Zm1.423-.568%2013.053-27.193-1.803-.866-13.053%2027.194%201.803.865Zm12.151-26.626H322v-2h-20.232v2Zm19.35-1.472-24.539%2045.89%201.764.943%2024.539-45.89-1.764-.943Zm-24.657%2046.361v21.049h2v-21.049h-2Zm1%2020.049h-18.012v2h18.012v-2Zm-17.012%201v-21.049h-2v21.049h2Zm-.119-21.52-24.538-45.89-1.764.943%2024.539%2045.89%201.763-.943Z%22%20mask%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2260%22%20fill%3D%22%23F7F1FF%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M83.7014%2047.556L69.2159%2062.0532L54.7304%2076.5504C54.4962%2076.7143%2054.2854%2076.8314%2054.0044%2076.8314C53.7233%2076.8314%2053.5126%2076.7143%2053.2784%2076.5504L36.2986%2059.5472C35.9005%2059.1725%2035.9005%2058.4933%2036.2986%2058.1185L39.9375%2054.3438C40.3122%2053.969%2040.9914%2053.969%2041.3661%2054.3438L54.0044%2066.8436L78.4464%2042.281C78.8211%2041.9063%2079.5003%2041.9063%2079.875%2042.281L83.7014%2046.1273C84.0995%2046.5021%2084.0995%2047.1812%2083.7014%2047.556Z%22%20fill%3D%22url%28%23paint0_linear_158_26261%29%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_158_26261%22%20x1%3D%2284%22%20y1%3D%2245.3572%22%20x2%3D%2213.7792%22%20y2%3D%22119.057%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23A363F4%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF6A8A%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%3E%20%20%3Cpath%20fill%3D%22%2345CB71%22%20fill-rule%3D%22evenodd%22%20d%3D%22m20.888%207.333-5.432%205.437-5.432%205.436a.458.458%200%200%201-.272.106.458.458%200%200%201-.273-.106L3.112%2011.83a.376.376%200%200%201%200-.536L4.477%209.88c.14-.14.395-.14.535%200l4.74%204.687%209.165-9.21a.392.392%200%200%201%20.536%200l1.435%201.442c.15.14.15.395%200%20.535Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20viewBox%3D%220%200%2022%2022%22%3E%20%20%3Cpath%20fill%3D%22%232E7D32%22%20d%3D%22m15.207%206.948-6.04%206.041-3.291-3.282L4.583%2011l4.583%204.583L16.5%208.25l-1.293-1.302ZM11%201.833C5.94%201.833%201.833%205.94%201.833%2011S5.94%2020.167%2011%2020.167%2020.166%2016.06%2020.166%2011%2016.06%201.833%2011%201.833Zm0%2016.5A7.331%207.331%200%200%201%203.666%2011%207.331%207.331%200%200%201%2011%203.667%207.331%207.331%200%200%201%2018.333%2011%207.331%207.331%200%200%201%2011%2018.333Z%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22240%22%20fill%3D%22none%22%20viewBox%3D%220%200%20320%20240%22%3E%20%20%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M75.485%20131.459a.458.458%200%201%201-.001-.917.458.458%200%200%201%200%20.917Zm74.89-125.824a.458.458%200%201%201%200-.916.458.458%200%200%201%200%20.916ZM252.461%2084.67a.458.458%200%201%201%200-.917.458.458%200%200%201%200%20.917Zm-73.903%20105.961a.459.459%200%201%201%200-.918.459.459%200%200%201%200%20.918ZM43.08%2091.663a.459.459%200%201%201%200-.918.459.459%200%200%201%200%20.918Zm134.651-48.684a.46.46%200%201%201%200-.918.46.46%200%200%201%200%20.918ZM52.01%20186.308a.458.458%200%201%201-.002-.917.458.458%200%200%201%20.001.917Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m39.732%20206.948-2.526%201.838M220.815.385l-2.525%201.837m-47.262%20114.98-2.526%201.838M144.87%20225.973l2.563%201.786m-77.277-9.808%202.563%201.785M247.603%2037.505l2.563%201.785M200.82%2084.813l2.563%201.785m-82.998-75.102-2.907-1.142M56.587%205.177l-1.7%202.62m159.509%20219.961-1.699%202.621%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M198.977%20194.782c.254%201.317.406%203.395-.134%204.74m-11.086%203.863c.373.201.733.36%201.081.484m9.822-3.968a2.204%202.204%200%200%201-.273.377m-.181.174a1.58%201.58%200%200%201-.458.266m-.164.052a2.103%202.103%200%200%201-.825.034c-2.779-.389-3.433-3.685-3.412-5.284.056-1.216.797-2.775%202.058-1.009%201.261%201.764.334%205.212-.287%206.715-.511%201.114-1.843%202.731-3.932%202.956m-.419.026a5.71%205.71%200%200%201-.291-.004m-.217-.015a5.354%205.354%200%200%201-.513-.072m-.208-.043a6.4%206.4%200%200%201-.521-.144%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M83.541%2030.684c-2.207%201.12-5.82%202.445-8.481%202.169M62.572%2015.138a14.378%2014.378%200%200%200-.31%202.164M74.294%2032.72a4.037%204.037%200%200%201-.806-.292m-.4-.234a2.929%202.929%200%200%201-.706-.678m-.175-.264c-.234-.396-.399-.875-.48-1.448-.72-5.13%204.798-7.965%207.647-8.741%202.185-.517%205.328.006%202.836%203.14-2.491%203.136-9.082%203.241-12.066%202.902-2.236-.34-5.783-1.884-7.243-5.476m-.259-.73a8.837%208.837%200%200%201-.14-.52m-.085-.393a9.679%209.679%200%200%201-.133-.946m-.029-.392c-.017-.32-.02-.653-.009-.996%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M182.929%20128.653h47.014c-.755-4.702-3.393-3.498-4.617-2.308-7.892-16.708-15.252-7.312-17.946-.525-3.862-6.297-7.906-2.624-9.445%200-7.976-5.289-13.328-.315-15.006%202.833ZM81.015%2048.952H34c.755-4.701%203.393-3.498%204.617-2.308%207.892-16.708%2015.252-7.312%2017.946-.525%203.862-6.297%207.906-2.624%209.445%200%207.976-5.29%2013.328-.315%2015.007%202.833Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m228.409%2053.234-2.354%2012.722-10.03-4.167%209.304%207.304-8.315%204.089%209.636-1.797-2.018%2011.95%204.97-11.622%208.764%209.487-5.77-10.812%208.668-2.91-8.287-.52%202.486-5.337-4.826%203.822-2.228-12.209Zm-67.077-25.837-.982%205.306-4.184-1.738%203.881%203.046-3.468%201.706%204.019-.75-.841%204.985%202.073-4.848%203.655%203.957-2.407-4.51%203.615-1.213-3.456-.217%201.037-2.226-2.013%201.594-.929-5.092Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m225.61%20151.6-2.799%2015.13-11.929-4.955%2011.066%208.686-9.89%204.864%2011.46-2.137-2.4%2014.213%205.912-13.823%2010.422%2011.282-6.862-12.858%2010.309-3.462-9.856-.617%202.958-6.349-5.741%204.547-2.65-14.521Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m188.864%2070.503-58.299%20169.882m12.274-179.498-9.088%2026.48M84.541%20230.77l24.605-71.701m37.444%2034.772-47.162-6.32m78.64-85.303-42.198-5.73m27.153%2048.865-15.899-2.131%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m79.598%2091.473-8.975%2011.928c-1.322%201.36-2.992%200-2.06-2.332%200-.466%201.58-3.794%202.37-5.4l-4.662%203.07-11.034.582-5.595-4.623c-1.438-1.166-.614-2.455%201.282-2.02-1.01-.894-1.515-3.07%201.593-1.944-.466-.918-1.15-2.455.777-2.02.442.136%202.653%202.02%202.653%202.02s2.842.17%203.641.506l-6.294-4.39c-.738-.506-.233-1.865%201.126-1.438.312%200%204.767%202.046%206.955%203.07l10.568-5.362%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M70.9%2095.639c-1.29-1.308-3.287-4.776-.967-8.187m60.492-13.734%2018.16%2076.235H83.138l21.396-82.528%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M173.246%2053.62c.141-.187%207.521-13.674%2011.193-20.394.694-1.269%202.344-.867%201.641%201.758a73.353%2073.353%200%200%201-1.992%206.212c3.672%201.27%2010.536%205.673%208.614%2013.128-1.993%207.911-2.52-2.872-3.927-2.93-1.124-.048-5.313%206.309-7.266%209.493%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M102.434%20149.862c-4.488-3.272-10.571-11.831%201.007-19.885%2014.473-10.068%205.286-14.347%200-25.799-3.139-6.804-4.153-11.327%207.3-17.745%209.162-5.136%203.314-14.474-.755-18.5%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M140.517%2030.061c-1.02-.528-1.774-1.359-2.338-2.395a9.116%209.116%200%200%200-.865-1.304c-1.205-1.514-2.759-2.5-4.287-2.88-1.527-.38-3.009-.151-4.114.727-1.104.879-1.659%202.27-1.633%203.844.026%201.574.636%203.31%201.841%204.825%201.204%201.515%202.759%202.5%204.287%202.88%201.527.38%203.008.152%204.113-.727%201.198-.953%201.752-2.513%201.614-4.251l-.022-.284.275-.075c.348-.095.767-.233%201.129-.36Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M133.255%2030.553c1.925-2.782%201.062-6.004.49-7.076-.421-.286-1.672-.734-3.311-.238-2.05.62-3.098%202.025-3.36%205.027-.21%202.402%202.153%205.147%203.36%206.219%201.124-.23%201.723-1.24%201.882-1.716-.929-.19-2.216-1.072-1.644-2.216.571-1.143%202.668-.125%202.583%200Z%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M121.715%2021.585c3.537-1.488%206.223%201.064%207.124%202.526l-.176.913c-.222-.304-2.059-.352-3.298%200-3.761%201.067-3.123%207.65-3.123%209.51l-7.896-6.913c.982-1.392%203.832-4.548%207.369-6.036Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M136.909%2027.408c-.519-.294-1.762-.578-2.589.64m4.04%204.942c-.316.107-1.091.175-1.651-.41m.449-3.703c-.476-.404-1.623-.872-2.396.488%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M136.047%2029.55a.5.5%200%201%201-.2-.98.5.5%200%200%201%20.2.98Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M133.094%2031.48c-.23-.242-.882-.665-1.651-.41%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M132.229%2031.098c-.198.113-.472.473.02%201.008m3.197%204.038-1.076%202.967m-3.942-4.596-.945%202.269%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m134.734%2038.21.712-1.993c-1.943.081-3.835-.84-4.538-1.31%201.35%202.025%203.113%203.046%203.826%203.303Z%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22M141.165%2041.471s-14.678-6.193-20.004-6.874c-5.326-.682-11.591%202.632-13.759%204.738l-38.74%2041.369%2013.934%2014.36%2021.895-27.44%2029.998%207.534%203.413-8.814c.522%202.938%202.787%2010.805%207.678%2018.767s14.265%205.024%2018.34%202.559l25.876-21.326-16.776-15.355-13.649%2019.193c-1.185-2.89-3.798-10.327-7.21-16.924-3.412-6.597-4.678-8.442-10.996-11.787Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m104.764%2066.084%205.3-16.963m28.308%2015.664%202.027-7.182m15.737%2016.599%202.63-3.38%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m109.966%20188.991-5.416-.861-.652-29.167h14.777l1.629%2014.15%2026.955%2020.677-32.986-4.799-2.584-5.047-1.723%205.047Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m103.659%20150.058.239%208.905m13.768-8.905%201.009%208.905m0%200%201.629%2014.15%2026.955%2020.677-32.986-4.799-2.584-5.047-1.723%205.047-5.416-.862-.652-29.166m14.777%200h-14.777%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m129.428%20189.024-5.414-.861-.653-29.167h14.777l1.63%2014.151%2026.954%2020.678-32.985-4.801-2.585-5.046-1.724%205.046Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m123.121%20150.092.24%208.905m13.769-8.905%201.008%208.905m0%200%201.63%2014.15%2026.954%2020.678-32.985-4.801-2.585-5.045-1.724%205.045-5.414-.861-.653-29.166m14.777%200h-14.777m-9.093-8.905.646%207.174m-3.569-7.174%201.257%207.684m-4.624-7.684.238%207.174m25.512-7.14.646%207.174m-3.57-7.174%201.257%207.683m-4.623-7.683.238%207.174m-76.87-64.7%205.206%203.73%203.07-.428m-6.605-5.206%203.73%202.526%202.875-.35%22%2F%3E%20%20%20%20%3Cmask%20id%3D%22b%22%20width%3D%22103%22%20height%3D%2236%22%20x%3D%22192%22%20y%3D%226%22%20fill%3D%22%23000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M192%206h103v36H192z%22%2F%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M217.151%2021.981h-4.33l4.878-14.779h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.83h8.14v3.001h-8.14V16.15Zm21.889-8.949h4.013v9.468c0%201.126-.27%202.1-.808%202.923-.534.817-1.28%201.45-2.238%201.898-.957.442-2.068.663-3.333.663-1.275%200-2.392-.22-3.349-.663-.957-.448-1.703-1.08-2.237-1.898-.529-.823-.794-1.797-.794-2.923V7.202h4.013v9.122c0%20.457.101.866.303%201.226.202.356.481.635.837.837.361.203.769.304%201.227.304.461%200%20.87-.101%201.226-.303.356-.203.635-.482.837-.838.202-.36.303-.77.303-1.226V7.202Zm5.516%203.233V7.202h12.845v3.233h-4.445v11.546h-3.955V10.435h-4.445Zm27.978%204.157c0%201.645-.32%203.033-.96%204.164-.64%201.125-1.504%201.98-2.591%202.561-1.087.578-2.299.866-3.637.866-1.347%200-2.564-.29-3.651-.873-1.083-.587-1.944-1.443-2.584-2.569-.635-1.13-.952-2.514-.952-4.15%200-1.645.317-3.03.952-4.156.64-1.13%201.501-1.985%202.584-2.562%201.087-.582%202.304-.873%203.651-.873%201.338%200%202.55.291%203.637.873%201.087.577%201.951%201.431%202.591%202.562.64%201.126.96%202.511.96%204.157Zm-4.128%200c0-.886-.118-1.631-.354-2.237-.231-.611-.575-1.073-1.032-1.386-.452-.317-1.01-.476-1.674-.476-.664%200-1.224.159-1.681.476-.453.313-.797.775-1.032%201.386-.231.606-.347%201.351-.347%202.237%200%20.885.116%201.633.347%202.244.235.606.579%201.068%201.032%201.386.457.312%201.017.469%201.681.469.664%200%201.222-.157%201.674-.47.457-.317.801-.779%201.032-1.385.236-.611.354-1.36.354-2.244ZM193%2040.045v-14.78h6.379c1.097%200%202.057.217%202.88.65a4.717%204.717%200%200%201%201.919%201.826c.457.784.686%201.7.686%202.75%200%201.058-.236%201.974-.707%202.749a4.649%204.649%200%200%201-1.971%201.79c-.841.418-1.825.627-2.951.627h-3.81V32.54h3.002c.471%200%20.873-.082%201.205-.246.337-.168.594-.406.772-.714.183-.308.274-.671.274-1.09%200-.423-.091-.784-.274-1.082a1.719%201.719%200%200%200-.772-.693c-.332-.164-.734-.245-1.205-.245h-1.415v11.575H193Zm15.329%200H204l4.878-14.78h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.116l-3.233%2010.71Zm-.808-5.831h8.14v3.002h-8.14v-3.002Zm11.029-8.949h4.474l2.886%206.005h.116l2.886-6.005h4.475l-5.427%2010.132v4.648h-3.984v-4.648l-5.426-10.131Zm16.145%2014.78v-14.78h6.408c1.125%200%202.071.152%202.836.455.77.303%201.349.731%201.739%201.285.394.553.592%201.205.592%201.955%200%20.544-.121%201.04-.361%201.487a3.19%203.19%200%200%201-.996%201.126%203.966%203.966%200%200%201-1.501.62v.145a3.707%203.707%200%200%201%201.732.483c.519.294.933.7%201.241%201.22.308.514.462%201.12.462%201.818%200%20.808-.212%201.528-.635%202.158-.419.63-1.015%201.126-1.79%201.486-.774.361-1.698.542-2.771.542h-6.956Zm4.012-3.204h1.876c.674%200%201.179-.126%201.516-.376.336-.255.505-.63.505-1.125%200-.347-.08-.64-.238-.88a1.485%201.485%200%200%200-.679-.55c-.288-.124-.637-.187-1.046-.187h-1.934v3.118Zm0-5.6h1.645c.351%200%20.662-.056.931-.166.27-.11.479-.27.628-.477.154-.211.231-.469.231-.772%200-.457-.164-.806-.491-1.046-.327-.245-.741-.368-1.241-.368h-1.703v2.829Zm13.401%208.804h-4.33l4.878-14.78h5.485l4.878%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.831h8.141v3.002h-8.141v-3.002Zm26.247-3.406h-4.071a2.74%202.74%200%200%200-.23-.917%202.075%202.075%200%200%200-.506-.707%202.102%202.102%200%200%200-.772-.462%202.994%202.994%200%200%200-1.032-.166c-.673%200-1.243.164-1.71.49-.462.328-.813.797-1.054%201.408-.235.611-.353%201.345-.353%202.201%200%20.905.12%201.662.361%202.273.245.606.599%201.064%201.06%201.371.462.303%201.018.455%201.667.455.371%200%20.703-.046.996-.137.294-.096.549-.233.765-.411.217-.178.392-.393.527-.643.14-.255.233-.54.281-.858l4.071.028a5.539%205.539%200%200%201-.527%201.913%206.22%206.22%200%200%201-1.292%201.79c-.553.543-1.239.98-2.057%201.313-.818.332-1.768.498-2.85.498-1.357%200-2.574-.291-3.652-.873-1.072-.583-1.922-1.439-2.547-2.57-.621-1.13-.931-2.513-.931-4.149%200-1.645.318-3.03.953-4.157.635-1.13%201.491-1.984%202.569-2.561%201.077-.582%202.28-.874%203.608-.874.933%200%201.792.128%202.576.383a6.202%206.202%200%200%201%202.064%201.118%205.524%205.524%200%200%201%201.429%201.797c.361.712.58%201.528.657%202.447Zm1.82%209.237v-14.78h4.012v5.976h.202l4.446-5.976h4.676l-4.994%206.582%205.109%208.198h-4.791l-3.32-5.543-1.328%201.732v3.81h-4.012Z%22%2F%3E%20%20%20%20%3C%2Fmask%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20d%3D%22M217.151%2021.981h-4.33l4.878-14.779h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.83h8.14v3.001h-8.14V16.15Zm21.889-8.949h4.013v9.468c0%201.126-.27%202.1-.808%202.923-.534.817-1.28%201.45-2.238%201.898-.957.442-2.068.663-3.333.663-1.275%200-2.392-.22-3.349-.663-.957-.448-1.703-1.08-2.237-1.898-.529-.823-.794-1.797-.794-2.923V7.202h4.013v9.122c0%20.457.101.866.303%201.226.202.356.481.635.837.837.361.203.769.304%201.227.304.461%200%20.87-.101%201.226-.303.356-.203.635-.482.837-.838.202-.36.303-.77.303-1.226V7.202Zm5.516%203.233V7.202h12.845v3.233h-4.445v11.546h-3.955V10.435h-4.445Zm27.978%204.157c0%201.645-.32%203.033-.96%204.164-.64%201.125-1.504%201.98-2.591%202.561-1.087.578-2.299.866-3.637.866-1.347%200-2.564-.29-3.651-.873-1.083-.587-1.944-1.443-2.584-2.569-.635-1.13-.952-2.514-.952-4.15%200-1.645.317-3.03.952-4.156.64-1.13%201.501-1.985%202.584-2.562%201.087-.582%202.304-.873%203.651-.873%201.338%200%202.55.291%203.637.873%201.087.577%201.951%201.431%202.591%202.562.64%201.126.96%202.511.96%204.157Zm-4.128%200c0-.886-.118-1.631-.354-2.237-.231-.611-.575-1.073-1.032-1.386-.452-.317-1.01-.476-1.674-.476-.664%200-1.224.159-1.681.476-.453.313-.797.775-1.032%201.386-.231.606-.347%201.351-.347%202.237%200%20.885.116%201.633.347%202.244.235.606.579%201.068%201.032%201.386.457.312%201.017.469%201.681.469.664%200%201.222-.157%201.674-.47.457-.317.801-.779%201.032-1.385.236-.611.354-1.36.354-2.244ZM193%2040.045v-14.78h6.379c1.097%200%202.057.217%202.88.65a4.717%204.717%200%200%201%201.919%201.826c.457.784.686%201.7.686%202.75%200%201.058-.236%201.974-.707%202.749a4.649%204.649%200%200%201-1.971%201.79c-.841.418-1.825.627-2.951.627h-3.81V32.54h3.002c.471%200%20.873-.082%201.205-.246.337-.168.594-.406.772-.714.183-.308.274-.671.274-1.09%200-.423-.091-.784-.274-1.082a1.719%201.719%200%200%200-.772-.693c-.332-.164-.734-.245-1.205-.245h-1.415v11.575H193Zm15.329%200H204l4.878-14.78h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.116l-3.233%2010.71Zm-.808-5.831h8.14v3.002h-8.14v-3.002Zm11.029-8.949h4.474l2.886%206.005h.116l2.886-6.005h4.475l-5.427%2010.132v4.648h-3.984v-4.648l-5.426-10.131Zm16.145%2014.78v-14.78h6.408c1.125%200%202.071.152%202.836.455.77.303%201.349.731%201.739%201.285.394.553.592%201.205.592%201.955%200%20.544-.121%201.04-.361%201.487a3.19%203.19%200%200%201-.996%201.126%203.966%203.966%200%200%201-1.501.62v.145a3.707%203.707%200%200%201%201.732.483c.519.294.933.7%201.241%201.22.308.514.462%201.12.462%201.818%200%20.808-.212%201.528-.635%202.158-.419.63-1.015%201.126-1.79%201.486-.774.361-1.698.542-2.771.542h-6.956Zm4.012-3.204h1.876c.674%200%201.179-.126%201.516-.376.336-.255.505-.63.505-1.125%200-.347-.08-.64-.238-.88a1.485%201.485%200%200%200-.679-.55c-.288-.124-.637-.187-1.046-.187h-1.934v3.118Zm0-5.6h1.645c.351%200%20.662-.056.931-.166.27-.11.479-.27.628-.477.154-.211.231-.469.231-.772%200-.457-.164-.806-.491-1.046-.327-.245-.741-.368-1.241-.368h-1.703v2.829Zm13.401%208.804h-4.33l4.878-14.78h5.485l4.878%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.831h8.141v3.002h-8.141v-3.002Zm26.247-3.406h-4.071a2.74%202.74%200%200%200-.23-.917%202.075%202.075%200%200%200-.506-.707%202.102%202.102%200%200%200-.772-.462%202.994%202.994%200%200%200-1.032-.166c-.673%200-1.243.164-1.71.49-.462.328-.813.797-1.054%201.408-.235.611-.353%201.345-.353%202.201%200%20.905.12%201.662.361%202.273.245.606.599%201.064%201.06%201.371.462.303%201.018.455%201.667.455.371%200%20.703-.046.996-.137.294-.096.549-.233.765-.411.217-.178.392-.393.527-.643.14-.255.233-.54.281-.858l4.071.028a5.539%205.539%200%200%201-.527%201.913%206.22%206.22%200%200%201-1.292%201.79c-.553.543-1.239.98-2.057%201.313-.818.332-1.768.498-2.85.498-1.357%200-2.574-.291-3.652-.873-1.072-.583-1.922-1.439-2.547-2.57-.621-1.13-.931-2.513-.931-4.149%200-1.645.318-3.03.953-4.157.635-1.13%201.491-1.984%202.569-2.561%201.077-.582%202.28-.874%203.608-.874.933%200%201.792.128%202.576.383a6.202%206.202%200%200%201%202.064%201.118%205.524%205.524%200%200%201%201.429%201.797c.361.712.58%201.528.657%202.447Zm1.82%209.237v-14.78h4.012v5.976h.202l4.446-5.976h4.676l-4.994%206.582%205.109%208.198h-4.791l-3.32-5.543-1.328%201.732v3.81h-4.012Z%22%20mask%3D%22url%28%23b%29%22%2F%3E%20%20%3C%2Fg%3E%20%20%3Cdefs%3E%20%20%20%20%3CclipPath%20id%3D%22a%22%3E%20%20%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h320v240H0z%22%2F%3E%20%20%20%20%3C%2FclipPath%3E%20%20%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22246%22%20height%3D%22231%22%20fill%3D%22none%22%20viewBox%3D%220%200%20246%20231%22%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M217.875%20117.345a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974ZM61.268%20163.38a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974Zm-36.873%2014.304a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974Zm-.908-162.709a.487.487%200%201%200%200-.975.487.487%200%200%200%200%20.975Zm135.609%2015.076a.488.488%200%201%200%200-.976.488.488%200%200%200%200%20.976ZM93.62%20189.508a.487.487%200%201%200%200-.975.487.487%200%200%200%200%20.975Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m214.338%2044.34%202.684%201.952%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M15.164%20171c-2.998%204.153-6.873%2011.115-7.164%2016.646m32.208%2031.238a29.811%2029.811%200%200%201-4.524-.062m-27.66-29.566c.055.609.165%201.193.338%201.745m.348.892c.29.607.671%201.165%201.158%201.66m.485.444c.735.607%201.662%201.097%202.808%201.446%2010.258%203.126%2017.831-7.246%2020.335-12.822%201.761-4.303%201.703-10.9-5.51-6.812-7.212%204.086-9.55%2017.53-9.817%2023.742-.022%204.682%201.991%2012.432%208.867%2016.574m1.411.764c.33.16.67.312%201.019.455m.776.299c.603.218%201.233.411%201.892.577m.791.185c.651.139%201.33.252%202.035.339%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M171%2036.624c7.505-11.578%2022.634-31.055%2023.108-16.338.594%2018.395-5.272%209.529-3.431%204.138%202.297-6.723%209.495-11.486%2017.612-7.198m-46.81%2052.681%202.684%201.953M115%202.626%20117.893%201M76.568%20210.462l2.684%201.952m-75.505-80.7-2.723%201.897m159.434%2068.13-2.723%201.897m70.875-48.419-2.724%201.898M14.323%2050.414l-1.925-2.704m217.698-31.277%203.089-1.213M211%205l1.806%202.785M1%20204.976l1.805%202.784%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20d%3D%22m153.061%2080.582%2019.053.451m-40.582%20107.563%2044.841.879m10.574-108.09%2019.94.474v108.197l-21.926-.425%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M172.855%2093.715h19.711m-31.083%2012.003h27.799m-36.012%2012.13h37.275m-35.885%2011.246h32.473m-33.863%2014.784h33.863m-29.946%2013.773%2023.123%201.39%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m39.007%2039.073%2023.1-23.686m-23.1%2023.686%202.154%20136.638H99.9M39.007%2039.073l23.1%204.11V15.388m0%200h91.026v142.48m-10.536%2017.844h-15.049%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m52.5%20113%204.684%206.127L69.5%20105.5m-17-21c.254.635%202.5%204%204.684%206.387L68%2077.085M52.5%2055.5l4.684%206.037%204.124-6.037m3.967%206.989h50.648m18.364%200H119.41M66.703%2089.777h11.105m-11.106%2027.922h37.918%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M82.439%20111.271c-10.332-6.935-12.36-34.654-12.22-48.7%202.774%2010.675%209.102%2033.31%2012.22%2038.451%203.119%205.141%209.797%202.984%2012.746%201.263l12.326-5.583-1.42%2011.537c-5.878%204.306-17.587%207.102-23.652%203.032Zm58.592-4.658%2012.008%2051.485-7.925-58.605%207.925%206.259v3.174c2.955%201.85%207.132%202.875%2011.835%202.468%2012.346-1.066%2015.158-17.043%2018.675-25.652l6.547-4.686h-2.417l-5.452%203.364-1.146%202.115c-2.978%205.326-10.388%2016.796-16.207%2020.078-5.819%203.283-10.314-1.367-11.835-4.102l-12.008-12.345v16.447Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M105.467%20110.895c-1.692%2013.658-5.128%2043.751-5.73%2055.781-.6%2012.029%202.256%2034.333%203.759%2043.982l33.269-3.196-11.465-39.095%201.599-21.217m1.22-16.187-1.22%2016.187m0%200c.407%207.698%205.619%2025.089%2023.211%2033.058%2017.593%207.969%2030.387%2010.464%2034.585%2010.714l6.766-22.555-38.72-10.526-10.697-50.524%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M126.49%20229.746h7.797l-3.936-21.82-14.189%201.567%201.251%203.96-31.537%2016.293H122.3l3.492-4.772.698%204.772Zm83.397-45.501%202.365-7.429-22.188-2.953-4.259%2014.079%205.804.01%205.956%2034.994%2011.052-34.709-3.488-4.774%204.758.782Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m115.14%2068.176-.054-.298-.303-.004a19.468%2019.468%200%200%201-1.257-.065c.905-.818%201.457-1.875%201.758-3.093a9.582%209.582%200%200%201%20.539-1.573c.83-1.88%202.162-3.313%203.631-4.115%201.468-.801%203.052-.966%204.423-.36%201.373.606%202.319%201.887%202.716%203.511.396%201.626.236%203.575-.594%205.456-.83%201.882-2.163%203.313-3.631%204.115-1.467.802-3.052.967-4.424.36-1.488-.657-2.477-2.11-2.804-3.934Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M121.125%2066.359c-2.728-2.343-2.709-5.886-2.41-7.142%204.517-4.153%2010.992-1.8%2011.644%203.331%200%203.115.34%204.73%201.447%205.528%202.598%201.353%202.535%204.133%202.374%205.715l-9.096.541-.591-4.732c-.911-.178-1.564-.846-1.806-1.216.904-.447%201.989-1.7%201.094-2.72-.896-1.023-2.778.588-2.656.695Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M116.521%2064.11c.455-.443%201.657-1.07%202.835-.04m-2.432%205.632c.355.026%201.17-.112%201.587-.865m-1.852-3.151c.382-.544%201.434-1.334%202.594-.143%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M117.981%2066.08a.531.531%200%201%200-.059-1.061.531.531%200%200%200%20.059%201.06Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M121.541%2067.269c.17-.312.726-.923%201.586-.867%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M122.324%2066.642c.234.063.613.359.251%201.043m-3.537%205.037.22%202.24m5.353-4.649.492%204.24%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m119.549%2074.485-.642-2.155c2.057.197%204.117-.67%204.891-1.13-1.549%202.072-3.479%203.053-4.249%203.285Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M14.943%20230h229.992%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m180.362%2087.471%201.694-2.987%2014.07-8.565c1.385-.793%201.391-1.613.104-1.803%201.109-.264%202.164-2.151.098-2.991.883-.424%201.342-1.813-.052-2.425-.144-.064-.549-.168-1.01-.078-.461.091-1.765.544-2.36.76l2.409-2.255c.746-.699.088-2.47-1.531-1.637l-10.001%206.718%202.258-5.695c.346-1.129-.823-3.052-2.559-1.186-.873.816-7.142%209.072-10.167%2013.098l-1.499%204.046%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m196.293%2074.098-7.753%203.785m7.881-6.8-8.428%204.077m5.222-6.013-5.167%203.768%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M82.297%2058.438c-.149-.2-7.991-14.531-11.894-21.672-.737-1.349-2.491-.922-1.744%201.868a77.534%2077.534%200%200%200%202.118%206.601c-3.903%201.35-11.198%206.029-9.155%2013.95%202.117%208.407%202.678-3.052%204.172-3.114%201.196-.05%205.647%206.705%207.723%2010.089%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M118.822%2072.413c-1.906-.158-3.156-2.239-3.544-3.26.294-.142.21-.153-2.467.936-2.676%201.088-2.645%203.95-2.295%205.244l8.646-.68-.34-2.24Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m108.855%2075.05%2028.279-1.54c4.59.573%209.197%204.569%2010.926%206.495l13.057%2015.42%2010.694-15.42%2010.197%206.058c-2.528%205.359-9.078%2017.022-15.046%2020.802-5.969%203.78-11.357-.083-13.306-2.488L141.47%2091.196l1.367%2017.907-37.802%202.238%201.492-13.679-12.433%206.715c-5.258%202.488-10.026%201.652-14.427-5.222-4.239-6.622-8.487-27.382-9.684-37.218l13.626-4.294%205.227%2028.42c1.897-1.09%205.775-3.86%207.716-5.167%205.712-4.144%209.307-5.595%2012.303-5.846Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m106.595%2096.192.181-6.024m34.632-.643.181-6.023m19.279%2018.713.181-6.023m-77.904-6.226%204.84-3.589%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m104.823%20115.177.416-3.865%2010.194-.603v3.941l-10.61.527Zm37.637-6.066.9%204.154-6.466.32-.357-4.123%205.923-.351Zm-24.019%205.39v-3.969l15.575-.922v4.118l-15.575.773Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M107.275%20116.857c.274%202.189%201.79%206.023%205.613%208.526m6.525%202.28c-2.688-.327-4.832-1.173-6.525-2.28m0%200-8.869%2039.138%2017.023%2044.407%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m127.554%20140.837%2021.167%2031.677%2041.595-.889%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20data-name%3D%2286977684-12db-4850-8f30-233a7c267d11%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%202000%202000%22%3E%20%20%3Cpath%20d%3D%22M1000%202000c554.17%200%201000-445.83%201000-1000S1554.17%200%201000%200%200%20445.83%200%201000s445.83%201000%201000%201000z%22%20fill%3D%22%232775ca%22%2F%3E%20%20%3Cpath%20d%3D%22M1275%201158.33c0-145.83-87.5-195.83-262.5-216.66-125-16.67-150-50-150-108.34s41.67-95.83%20125-95.83c75%200%20116.67%2025%20137.5%2087.5%204.17%2012.5%2016.67%2020.83%2029.17%2020.83h66.66c16.67%200%2029.17-12.5%2029.17-29.16v-4.17c-16.67-91.67-91.67-162.5-187.5-170.83v-100c0-16.67-12.5-29.17-33.33-33.34h-62.5c-16.67%200-29.17%2012.5-33.34%2033.34v95.83c-125%2016.67-204.16%20100-204.16%20204.17%200%20137.5%2083.33%20191.66%20258.33%20212.5%20116.67%2020.83%20154.17%2045.83%20154.17%20112.5s-58.34%20112.5-137.5%20112.5c-108.34%200-145.84-45.84-158.34-108.34-4.16-16.66-16.66-25-29.16-25h-70.84c-16.66%200-29.16%2012.5-29.16%2029.17v4.17c16.66%20104.16%2083.33%20179.16%20220.83%20200v100c0%2016.66%2012.5%2029.16%2033.33%2033.33h62.5c16.67%200%2029.17-12.5%2033.34-33.33v-100c125-20.84%20208.33-108.34%20208.33-220.84z%22%20fill%3D%22%23fff%22%2F%3E%20%20%3Cpath%20d%3D%22M787.5%201595.83c-325-116.66-491.67-479.16-370.83-800%2062.5-175%20200-308.33%20370.83-370.83%2016.67-8.33%2025-20.83%2025-41.67V325c0-16.67-8.33-29.17-25-33.33-4.17%200-12.5%200-16.67%204.16-395.83%20125-612.5%20545.84-487.5%20941.67%2075%20233.33%20254.17%20412.5%20487.5%20487.5%2016.67%208.33%2033.34%200%2037.5-16.67%204.17-4.16%204.17-8.33%204.17-16.66v-58.34c0-12.5-12.5-29.16-25-37.5zM1229.17%20295.83c-16.67-8.33-33.34%200-37.5%2016.67-4.17%204.17-4.17%208.33-4.17%2016.67v58.33c0%2016.67%2012.5%2033.33%2025%2041.67%20325%20116.66%20491.67%20479.16%20370.83%20800-62.5%20175-200%20308.33-370.83%20370.83-16.67%208.33-25%2020.83-25%2041.67V1700c0%2016.67%208.33%2029.17%2025%2033.33%204.17%200%2012.5%200%2016.67-4.16%20395.83-125%20612.5-545.84%20487.5-941.67-75-237.5-258.34-416.67-487.5-491.67z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E\"","import { SvgIconProps } from '@mui/material'\nimport { ReactComponent as HumaLogoSvg } from './huma.svg'\nimport { ReactComponent as HumaFullLogoSvg } from './huma-full.svg'\nimport { ReactComponent as MetamaskSvg } from './metamask.svg'\nimport { ReactComponent as WalletConnectSvg } from './wallet-connect.svg'\nimport { ReactComponent as EthereumSvg } from './ethereum.svg'\nimport { ReactComponent as PolygonSvg } from './polygon.svg'\nimport { ReactComponent as ReceiptSvg } from './receipt.svg'\nimport { ReactComponent as SeparatorSvg } from './separator.svg'\nimport { ReactComponent as LoaderSvg } from './loader.svg'\nimport { ReactComponent as SorrySvg } from './sorry.svg'\nimport { ReactComponent as CheckSvg } from './check.svg'\nimport { ReactComponent as CheckGreenSvg } from './check-green.svg'\nimport { ReactComponent as CheckCircleSvg } from './check-circle.svg'\nimport { ReactComponent as AutoPaybackSvg } from './auto-payback.svg'\nimport { ReactComponent as ApproveLenderSvg } from './approve-lender.svg'\nimport { ReactComponent as DonutSvg } from './donut.svg'\nimport { ReactComponent as UsdcSvg } from './usdc.svg'\n\nexport function HumaIcon(props: SvgIconProps): React.ReactElement {\n return <HumaLogoSvg {...props} />\n}\n\nexport function HumaFullIcon(props: SvgIconProps): React.ReactElement {\n return <HumaFullLogoSvg {...props} />\n}\n\nexport function MetamaskIcon(props: SvgIconProps): React.ReactElement {\n return <MetamaskSvg {...props} />\n}\n\nexport function WalletConnectIcon(props: SvgIconProps): React.ReactElement {\n return <WalletConnectSvg {...props} />\n}\n\nexport function EthereumIcon(props: SvgIconProps): React.ReactElement {\n return <EthereumSvg {...props} />\n}\n\nexport function PolygonIcon(props: SvgIconProps): React.ReactElement {\n return <PolygonSvg {...props} />\n}\n\nexport function ReceiptIcon(props: SvgIconProps): React.ReactElement {\n return <ReceiptSvg {...props} />\n}\n\nexport function SeparatorIcon(props: SvgIconProps): React.ReactElement {\n return <SeparatorSvg {...props} />\n}\n\nexport function LoaderIcon(props: SvgIconProps): React.ReactElement {\n return <LoaderSvg {...props} />\n}\n\nexport function SorryIcon(props: SvgIconProps): React.ReactElement {\n return <SorrySvg {...props} />\n}\n\nexport function CheckIcon(props: SvgIconProps): React.ReactElement {\n return <CheckSvg {...props} />\n}\n\nexport function CheckGreenIcon(props: SvgIconProps): React.ReactElement {\n return <CheckGreenSvg {...props} />\n}\n\nexport function CheckCircleIcon(props: SvgIconProps): React.ReactElement {\n return <CheckCircleSvg {...props} />\n}\n\nexport function AutoPaybackIcon(props: SvgIconProps): React.ReactElement {\n return <AutoPaybackSvg {...props} />\n}\n\nexport function ApproveLenderIcon(props: SvgIconProps): React.ReactElement {\n return <ApproveLenderSvg {...props} />\n}\n\nexport function DonutIcon(props: SvgIconProps): React.ReactElement {\n return <DonutSvg {...props} />\n}\n\nexport function UsdcIcon(props: SvgIconProps): React.ReactElement {\n return <UsdcSvg {...props} />\n}\n\nexport function getIcon(icon: string) {\n if (icon === 'USDC') {\n return UsdcIcon\n }\n return null\n}\n","import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline'\nimport { Box, Button, css, Tooltip, Typography, useTheme } from '@mui/material'\nimport { txAtom } from '@huma-finance/shared'\nimport { useResetAtom } from 'jotai/utils'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../hooks/useRedux'\nimport { resetState } from '../store/widgets.reducers'\nimport { SorryIcon } from './icons'\n\ntype Props = {\n title: string\n errorReason?: string\n errorMessage?: string\n handleOk: () => void\n okText?: string\n shouldResetState?: boolean\n}\n\nexport function ErrorModal({\n title,\n errorReason,\n errorMessage,\n handleOk,\n okText = 'OKAY',\n shouldResetState = true,\n}: Props): React.ReactElement {\n const theme = useTheme()\n const dispatch = useAppDispatch()\n const reset = useResetAtom(txAtom)\n\n if (!errorReason) {\n errorReason = 'Oops! Something went wrong'\n }\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n `,\n header: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: -5px;\n `,\n sorry: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: 67px;\n `,\n content: css`\n box-sizing: border-box;\n width: 100%;\n display: inline-table;\n padding: 16px 0;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #d32f2f;\n border-radius: 4px;\n position: relative;\n margin-top: 30px;\n height: 79px;\n `,\n errorIcon: css`\n position: absolute;\n font-size: 20px;\n color: #d32f2f;\n margin: 0 15px;\n `,\n messageWrapper: css`\n color: #541313;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding-left: 50px;\n `,\n errorMessage: css`\n margin-top: 4px;\n font-size: 14px;\n font-family: 'Uni-Neue-Regular';\n color: #541313;\n cursor: pointer;\n display: -webkit-box;\n line-height: 16px;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: 20px;\n `,\n okButton: css`\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n `,\n }\n\n const handleCloseModal = useCallback(() => {\n reset()\n handleOk()\n if (shouldResetState) {\n dispatch(resetState())\n }\n }, [dispatch, handleOk, reset, shouldResetState])\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n {title}\n </Typography>\n <Box css={styles.sorry}>\n <SorryIcon />\n </Box>\n <Box css={styles.content}>\n <ErrorOutlineIcon css={styles.errorIcon} />\n <Box css={styles.messageWrapper}>\n <Box>{errorReason}</Box>\n <Tooltip title={errorMessage} placement='top'>\n <Box css={styles.errorMessage}>{errorMessage}</Box>\n </Tooltip>\n </Box>\n </Box>\n <Box css={styles.okButton}>\n <Button variant='contained' onClick={handleCloseModal}>\n {okText}\n </Button>\n </Box>\n </Box>\n )\n}\n","import { ThemeOptions } from '@mui/material'\n\n// primary\nexport const primaryPurple = '#c265d0'\nexport const primaryBlueLight = '#4473EB'\nexport const primaryGradient =\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%);'\n\n// Secondary\nexport const pendingBlueDark = '#1148B2'\nexport const pendingBlue = '#226BF9'\nexport const pendingBlueMid = '#4584FF'\nexport const pendingBlueLight = '#79A5FB'\nexport const warningRed = '#D01638'\nexport const warningRedMid = '#E71E44'\nexport const warningRedLight = '#FF4366'\nexport const warningRedPastel = '#FF708B'\nexport const backgroundBlue = '#081824'\nexport const darkBackground = '#0C2436'\n\nexport const white = '#FFFFFF'\n\nexport const black = {\n 1: '#000000',\n 2: '#2A252F',\n 3: '#423B46',\n 4: '#534E59',\n 5: '#6B6572',\n 6: '#76707E',\n}\n\nexport const orange = {\n 100: '#FFA979',\n 300: '#FF8F51',\n 500: '#FD792F',\n 700: '#E96216',\n}\n\nconst yellow = {\n 100: '#FFECB0',\n 300: '#FFE07E',\n 500: '#FFD54F',\n 700: '#F8BE28',\n}\n\nconst grey = {\n 100: '#CBD6DE',\n 200: '#6B6B6B',\n 300: '#606060',\n 400: '#5E7485',\n 600: '#395062',\n 700: '#6B6572',\n 800: '#4A4A4A',\n}\n\nconst green = {\n 100: '#66F8D3',\n 200: '#1DE9B6',\n 500: '#00CA97',\n 700: '#0DBC90',\n}\n\nexport const blue = {\n 50: '#8AD5FF',\n 100: '#3DB9FF',\n 200: '#0BA7FE',\n 300: '#0095E9',\n 500: '#0070AF',\n 800: '#013859',\n}\n\nexport const red = {\n 50: '#FEAEA8',\n 100: '#FA8B84',\n 200: '#EA726A',\n 300: '#E75E55',\n 500: '#BC4E46',\n 800: '#472D33',\n}\n\nexport const purple = {\n 100: '#DEB8FC',\n 200: '#C476FF',\n 300: '#B452FF',\n 500: '#9D3BE8',\n 800: '#651C9C',\n}\n\nexport const paletteCore: ThemeOptions['palette'] = {\n alert: {\n contrastText: black[1],\n dark: yellow[700],\n light: yellow[300],\n main: yellow[500],\n },\n background: {\n default: white,\n paper: white,\n },\n common: {\n black: black[1],\n white,\n },\n default: {\n contrastText: black[1],\n dark: white,\n light: white,\n main: white,\n },\n divider: grey[600],\n error: {\n dark: warningRed,\n light: warningRedPastel,\n main: warningRedLight,\n },\n grey,\n info: {\n contrastText: black[1],\n dark: pendingBlue,\n light: pendingBlueLight,\n main: pendingBlueMid,\n superDark: darkBackground,\n superLight: blue[50],\n },\n mode: 'light',\n primary: {\n main: primaryPurple,\n light: primaryBlueLight,\n },\n secondary: {\n contrastText: black[1],\n main: white,\n },\n success: {\n light: green[100],\n main: green[200],\n },\n text: {\n primary: black[5],\n secondary: black[6],\n tertiary: black[3],\n quaternary: grey[400],\n },\n warning: {\n contrastText: black[1],\n light: orange[100],\n main: orange[500],\n superLight: yellow[100],\n },\n}\n","import { css } from '@emotion/react'\nimport { Dialog } from '@mui/material'\nimport { useMQ } from '@huma-finance/shared'\nimport React from 'react'\n\nimport { white } from '../../theme/palette'\n\ntype HumaModalType = {\n children?: React.ReactNode\n isOpen: boolean\n onClose: () => void\n overflow?: string\n overflowY?: 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto'\n width?: string\n padding?: string\n disableBackdropClick?: boolean\n}\n\nexport function HumaModal({\n children,\n isOpen,\n onClose,\n overflow,\n overflowY,\n width = '480px',\n padding = '30px',\n disableBackdropClick = false,\n}: HumaModalType): React.ReactElement {\n const { isXsSize } = useMQ()\n\n const styles = {\n wrapper: css`\n max-width: 100vw;\n width: ${isXsSize ? '100%' : width};\n height: auto;\n padding: ${padding};\n box-sizing: border-box;\n `,\n }\n\n const handleClose = (reason: 'backdropClick' | 'escapeKeyDown') => {\n if (!disableBackdropClick) {\n onClose()\n } else if (reason !== 'backdropClick' && reason !== 'escapeKeyDown') {\n onClose()\n }\n }\n\n return (\n <Dialog\n disableScrollLock\n maxWidth={false}\n fullScreen={isXsSize}\n open={isOpen}\n PaperProps={{\n style: {\n background: white,\n borderRadius: '16px',\n overflow: overflow || 'inherit',\n overflowY: overflowY || 'inherit',\n },\n }}\n onClose={(event, reason) => handleClose(reason)}\n >\n <div css={styles.wrapper}>{children}</div>\n </Dialog>\n )\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport { css } from '@emotion/react'\nimport ChevronLeftOutlinedIcon from '@mui/icons-material/ChevronLeftOutlined'\nimport CloseIcon from '@mui/icons-material/Close'\nimport { useTheme } from '@mui/material'\nimport React from 'react'\n\ntype HumaModalHeaderType = {\n allowBack?: boolean\n children?: React.ReactNode\n hideClose?: boolean\n onBack?: () => void\n onClose: () => void\n title?: React.ReactNode\n height?: number\n}\n\nexport function HumaModalHeader({\n hideClose,\n allowBack,\n onBack = (): void => {},\n onClose,\n height = 52,\n ...props\n}: HumaModalHeaderType): React.ReactElement {\n const theme = useTheme()\n const styles = {\n buttonBackWrapper: css`\n cursor: pointer;\n position: absolute;\n left: ${theme.spacing(2)};\n top: ${theme.spacing(3)};\n `,\n buttonClose: css`\n &:hover {\n stroke: ${theme.palette.grey[200]};\n }\n stroke: ${theme.palette.common.white};\n `,\n buttonCloseWrapper: css`\n cursor: pointer;\n position: absolute;\n right: ${theme.spacing(3)};\n top: ${theme.spacing(3)};\n `,\n headerBand: css`\n height: ${height}px;\n `,\n }\n\n return (\n <div>\n <div css={styles.headerBand}>\n {props.title}\n {!!allowBack && (\n <div css={styles.buttonBackWrapper} onClick={onBack}>\n <ChevronLeftOutlinedIcon height={16} width={16} />\n </div>\n )}\n {!hideClose && (\n <div css={styles.buttonCloseWrapper} onClick={onClose}>\n <CloseIcon css={styles.buttonClose} height={16} width={16} />\n </div>\n )}\n </div>\n <div>{props.children}</div>\n </div>\n )\n}\n","import React from 'react'\n\nimport { ErrorModal } from './ErrorModal'\nimport { HumaModal, HumaModalHeader } from './humaModal'\n\ntype Props = {\n handleClose: () => void\n isOpen: boolean\n}\n\nexport function ChainNotSupportedModal({\n handleClose,\n isOpen,\n}: Props): React.ReactElement | null {\n return (\n <HumaModal\n isOpen={isOpen}\n overflowY='auto'\n onClose={handleClose}\n width='480px'\n padding='30px 40px'\n disableBackdropClick\n >\n <HumaModalHeader onClose={handleClose} height={0} />\n <ErrorModal\n title='Network Not Supported'\n errorReason='Please switch to a supported network.'\n handleOk={handleClose}\n okText='Close'\n />\n </HumaModal>\n )\n}\n","import { RootState } from '.'\n\nexport const selectWidgetState = (state: RootState) => state.widget\n","import { css } from '@emotion/react'\nimport { useTheme } from '@mui/material'\nimport React, { useEffect, useState } from 'react'\n\nimport { LoaderIcon } from './icons'\n\ntype Props = {\n fullScreen?: boolean\n minHeight?: string\n}\n\nexport function HumaLoading({\n fullScreen = false,\n minHeight = '0px',\n}: Props): React.ReactElement {\n const theme = useTheme()\n const pathLength = 45\n const [count, setCount] = useState(1)\n const intervalTime = 30\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (count <= pathLength) {\n const element = document.querySelector(\n `#huma-loader-wrapper > svg > path:nth-of-type(${count})`,\n )\n if (element) {\n // @ts-ignore\n element.style.visibility = 'visible'\n setCount((pre) => pre + 1)\n }\n } else {\n const elements = document.querySelectorAll(\n `#huma-loader-wrapper > svg > path`,\n )\n if (elements) {\n // @ts-ignore\n elements.forEach((element) => {\n // @ts-ignore\n element.style.visibility = 'hidden'\n })\n setCount(1)\n }\n }\n }, intervalTime)\n return () => clearInterval(interval)\n }, [count])\n\n const styles = {\n wrapper: css`\n ${theme.cssMixins.rowCentered};\n min-height: ${fullScreen ? '100vh' : minHeight};\n width: 50px;\n height: 50px;\n `,\n icon: css`\n & > path {\n visibility: hidden;\n }\n `,\n }\n\n return (\n <div css={styles.wrapper} id='huma-loader-wrapper'>\n <LoaderIcon css={styles.icon} />\n </div>\n )\n}\n","import { Box, css, Typography, useTheme } from '@mui/material'\nimport React from 'react'\n\ntype Props = {\n title: string\n subTitle?: string | React.ReactNode\n children: React.ReactNode\n}\n\nexport function WrapperModal({\n title,\n subTitle,\n children,\n}: Props): React.ReactElement {\n const theme = useTheme()\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n `,\n header: css`\n ${theme.cssMixins.rowHCentered};\n font-family: 'Uni-Neue-Bold';\n font-size: 20px;\n margin-top: -5px;\n `,\n content: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n `,\n bottom: css`\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n `,\n }\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n {title}\n </Typography>\n {subTitle && <Box css={styles.content}>{subTitle}</Box>}\n {children}\n </Box>\n )\n}\n","import { Box, css, useTheme } from '@mui/material'\nimport React from 'react'\nimport { HumaLoading } from './HumaLoading'\n\nimport { WrapperModal } from './WrapperModal'\n\ntype Props = {\n title: string\n description?: string\n hideLoader?: boolean\n children?: React.ReactNode\n}\n\nexport function LoadingModal({\n title,\n description,\n hideLoader = false,\n children,\n}: Props): React.ReactElement {\n const theme = useTheme()\n\n const styles = {\n loader: css`\n width: 100%;\n ${theme.cssMixins.rowHCentered};\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n `,\n bottom: css`\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n `,\n }\n\n return (\n <WrapperModal title={title} subTitle={description}>\n {!hideLoader && (\n <Box css={styles.loader}>\n <HumaLoading />\n </Box>\n )}\n <Box css={styles.bottom}>{children}</Box>\n </WrapperModal>\n )\n}\n","import { isTxFailed, sendTxAtom, txAtom } from '@huma-finance/shared'\nimport { useAtom } from 'jotai'\nimport { useResetAtom } from 'jotai/utils'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../hooks/useRedux'\nimport { resetState, setError } from '../store/widgets.reducers'\nimport { selectWidgetState } from '../store/widgets.selectors'\nimport { WIDGET_STEP } from '../store/widgets.store'\nimport { WCProps } from '../utilTypes'\nimport { HumaModal, HumaModalHeader } from './humaModal'\nimport { LoadingModal } from './LoadingModal'\n\ntype Props = {\n isOpen: boolean\n isLoading?: boolean\n loadingTitle?: string\n handleClose: () => void\n handleSuccess?: (blockNumber: number) => void\n}\n\nexport function WidgetWrapper({\n isOpen,\n isLoading = false,\n loadingTitle = '',\n handleClose,\n handleSuccess,\n children,\n}: WCProps<Props>): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { step } = useAppSelector(selectWidgetState)\n const [{ state, failReason, txReceipt }] = useAtom(sendTxAtom)\n const reset = useResetAtom(txAtom)\n\n useEffect(() => {\n if (isTxFailed(state) && failReason) {\n dispatch(setError({ errorMessage: failReason }))\n }\n }, [dispatch, failReason, state])\n\n useEffect(() => {\n if (step === WIDGET_STEP.Done && txReceipt) {\n if (handleSuccess) {\n handleSuccess(txReceipt.blockNumber)\n }\n }\n }, [handleSuccess, step, txReceipt])\n\n const handleCloseModal = useCallback(() => {\n reset()\n dispatch(resetState())\n handleClose()\n }, [dispatch, handleClose, reset])\n\n // when close modal, return null to make sure all the states are reset\n if (!isOpen) {\n return null\n }\n\n return (\n <HumaModal\n isOpen={isOpen}\n overflowY='auto'\n onClose={handleCloseModal}\n width='480px'\n padding='30px 40px'\n disableBackdropClick\n >\n <HumaModalHeader onClose={handleCloseModal} height={0} />\n {isLoading && <LoadingModal title={loadingTitle} />}\n {!isLoading && children}\n </HumaModal>\n )\n}\n","const checkIsDev = () =>\n !!(\n window.location.hostname.startsWith('dev') ||\n window.location.hostname.startsWith('deploy-preview') ||\n process.env.NODE_ENV === 'development'\n )\n\nexport const envUtil = {\n checkIsDev,\n}\n","import {\n EAPayload,\n EARejectionError,\n EARejectMessage,\n EARejectReason,\n EAService,\n} from '@huma-finance/shared'\nimport { useWeb3React } from '@web3-react/core'\nimport { useCallback } from 'react'\n\nimport { setApproval, setError } from '../store/widgets.reducers'\nimport { WIDGET_STEP } from '../store/widgets.store'\nimport { envUtil } from '../utils/env'\nimport { useAppDispatch } from './useRedux'\n\nconst useEA = () => {\n const dispatch = useAppDispatch()\n const { chainId } = useWeb3React()\n\n const checkingEA = useCallback(\n async (payload: EAPayload, nextStep: WIDGET_STEP) => {\n try {\n const result = await EAService.approve(\n payload,\n chainId!,\n envUtil.checkIsDev(),\n )\n dispatch(setApproval({ ...result, nextStep }))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n if (e instanceof EARejectionError) {\n dispatch(\n setError({\n errorMessage: EARejectMessage,\n errorReason: EARejectReason,\n }),\n )\n } else {\n dispatch(\n setError({\n errorMessage: e.message,\n }),\n )\n }\n }\n },\n [chainId, dispatch],\n )\n\n return { checkingEA }\n}\n\nexport default useEA\n","export default \"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==\"","import { Box, Button, css, Typography, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { PoolInfoType } from '@huma-finance/shared'\nimport React, { useEffect, useState } from 'react'\n\nimport useEA from '../../../hooks/useEA'\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { CheckCircleIcon, CheckGreenIcon } from '../../icons'\nimport spinner from '../../icons/spinner.gif'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleApprove: () => void\n}\n\nexport function Evaluation({\n poolInfo,\n handleApprove,\n}: Props): React.ReactElement {\n const theme = useTheme()\n const { checkingEA } = useEA()\n const dispatch = useAppDispatch()\n const { account, chainId } = useWeb3React()\n const [status, setStatus] = useState<'checking' | 'success'>('checking')\n\n useEffect(() => {\n const fetchData = async () => {\n if (account && chainId) {\n await checkingEA(\n {\n poolAddress: poolInfo.pool,\n borrowerWalletAddress: account,\n },\n WIDGET_STEP.Evaluation,\n )\n handleApprove()\n setStatus('success')\n }\n }\n fetchData()\n }, [\n account,\n chainId,\n checkingEA,\n handleApprove,\n poolInfo.assetAddress,\n poolInfo.pool,\n ])\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n `,\n header: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: -5px;\n `,\n content: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: 30px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n line-height: 24px;\n color: #49505b;\n margin-bottom: 65px;\n `,\n checkWrapper: css`\n ${theme.cssMixins.rowVCentered}\n width: 100%;\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n `,\n checkIcon: css`\n ${theme.cssMixins.rowCentered}\n width: 105px;\n height: 100%;\n\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n `,\n congratsWrapper: css`\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n padding: 0 16px;\n ${theme.cssMixins.rowVCentered}\n margin-top: 60px;\n height: 52px;\n background: linear-gradient(\n 0deg,\n rgba(255, 255, 255, 0.9),\n rgba(255, 255, 255, 0.9)\n ),\n #2e7d32;\n border-radius: 4px;\n `,\n bottom: css`\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n `,\n }\n\n const goToNextStep = () => {\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\n }\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n Borrow\n </Typography>\n <Box css={styles.content}>\n Looks like it’s your first time around here. Let’s see if you qualify...\n </Box>\n <Box css={styles.checkWrapper} sx={{ marginBottom: '16px' }}>\n <Box css={styles.checkIcon}>\n {status === 'checking' && <img src={spinner} alt='loading...' />}\n {status === 'success' && <CheckGreenIcon />}\n </Box>\n <Box>Checking your income</Box>\n </Box>\n <Box css={styles.checkWrapper}>\n <Box css={styles.checkIcon}>\n {status === 'checking' && <img src={spinner} alt='loading...' />}\n {status === 'success' && <CheckGreenIcon />}\n </Box>\n <Box>Checking other qualifications</Box>\n </Box>\n {status === 'success' && (\n <>\n <Box css={styles.congratsWrapper}>\n <CheckCircleIcon />\n <Box sx={{ marginLeft: '16px' }}>\n Congrats, you are qualified to borrow\n </Box>\n </Box>\n <Box css={styles.bottom}>\n <Button variant='contained' onClick={goToNextStep}>\n CONTINUE TO BORROW\n </Button>\n </Box>\n </>\n )}\n </Box>\n )\n}\n","import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown'\nimport ArrowDropUpIcon from '@mui/icons-material/ArrowDropUp'\nimport {\n Box,\n Button,\n css,\n Divider,\n Input,\n Slider,\n useTheme,\n} from '@mui/material'\nimport { useMQ } from '@huma-finance/shared'\nimport React, { useState } from 'react'\n\nimport { IconType } from '../utilTypes'\nimport { WrapperModal } from './WrapperModal'\n\ntype Props = {\n title: string\n tokenIcon?: IconType\n description1?: string\n description2?: string\n currentAmount: number\n sliderMax: number\n tokenSymbol: string\n topLeft?: string\n topRight?: string\n downLeft?: string\n downRight?: string\n actionText?: string\n hideTerms?: boolean\n payoffAmount?: number\n type?: 'slider' | 'input'\n handleChangeAmount: (amount: number) => void\n handleAction: () => void\n}\n\nexport function ChooseAmountModal({\n title,\n tokenIcon,\n description1,\n description2,\n currentAmount,\n sliderMax,\n tokenSymbol,\n topLeft,\n topRight,\n downLeft,\n downRight,\n actionText = 'accept terms',\n payoffAmount,\n hideTerms = false,\n type = 'slider',\n handleChangeAmount,\n handleAction,\n}: Props): React.ReactElement {\n const theme = useTheme()\n const { isXsSize } = useMQ()\n const [inputTouched, setInputTouched] = useState(false)\n\n const styles = {\n subTitle: css`\n font-family: 'Uni-Neue-Regular';\n `,\n description2: css`\n ${theme.cssMixins.rowCentered};\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n margin-top: 16px;\n `,\n chosenAmountWrapper: css`\n ${theme.cssMixins.rowCentered};\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n background-clip: text;\n -webkit-text-fill-color: transparent;\n font-weight: 700;\n font-size: 32px;\n margin-bottom: 10px;\n margin-top: 30px;\n `,\n chosenAmount: css`\n font-family: 'Inter-Bold';\n font-size: 32px;\n `,\n chosenAmountSymbol: css`\n font-size: 75%;\n margin-left: 5px;\n letter-spacing: 0.1px;\n `,\n inputAmountWrapper: css`\n margin-bottom: 10px;\n margin-top: 30px;\n `,\n inputAmount: css`\n ${theme.cssMixins.rowSpaceBetweened};\n `,\n inputField: css`\n width: 100%;\n `,\n maxButton: css`\n width: 80px;\n `,\n amountAvailable: css`\n ${theme.cssMixins.rowVCentered};\n margin-top: 5px;\n margin-bottom: 100px;\n font-size: 16px;\n & > svg {\n margin-right: 5px;\n }\n `,\n tokenIcon: {\n width: '16px',\n height: '16px',\n },\n editIcon: css`\n color: ${theme.palette.primary.main};\n cursor: pointer;\n display: inline-grid;\n vertical-align: middle;\n & > svg {\n font-size: 24px;\n }\n & > svg:first-of-type {\n margin-bottom: -10px;\n }\n `,\n input: css`\n font-size: 18px;\n -webkit-text-fill-color: ${theme.palette.primary.main};\n `,\n slider: css`\n margin-bottom: 54px;\n &.MuiSlider-root {\n height: 8px !important;\n color: #e9e9e9;\n }\n & .MuiSlider-track {\n height: 8px !important;\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\n border-radius: 8px;\n }\n & .MuiSlider-thumb::before {\n background: #ffffff;\n border: 1px solid #f9f9f9;\n box-shadow: 1px 1px 12px 2px rgba(163, 100, 244, 0.6);\n border-radius: 50px;\n width: 24px;\n height: 24px;\n }\n `,\n info: css`\n font-family: 'Uni-Neue-Regular';\n ${theme.cssMixins.rowSpaceBetweened};\n font-weight: 400;\n font-size: 16px;\n color: #423b46;\n `,\n divider: css`\n margin: 16px 0;\n background: #49505b;\n border-color: #e9e3f1;\n `,\n okButton: css`\n font-family: 'Uni-Neue-Bold';\n width: 100%;\n position: absolute;\n bottom: ${isXsSize ? 20 : 0}px;\n `,\n terms: css`\n ${theme.cssMixins.rowHCentered};\n font-weight: 400;\n font-size: 12px;\n color: #a8a1b2;\n margin-top: 8px;\n letter-spacing: 0px;\n width: 100%;\n position: absolute;\n bottom: -22px;\n `,\n }\n\n const handleSliderChange = (event: Event, newValue: number | number[]) => {\n handleChangeAmount(newValue as number)\n }\n\n const handleInputChange = (\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>,\n ) => {\n setInputTouched(true)\n // @ts-ignore\n handleChangeAmount(event.target.value)\n }\n\n const handleSetMax = () => {\n handleChangeAmount(sliderMax)\n }\n\n const handleIncrement = () => {\n const newAmount = currentAmount + 1\n if (newAmount <= sliderMax) {\n handleChangeAmount(newAmount)\n }\n }\n\n const handleDecrement = () => {\n const newAmount = currentAmount - 1\n if (newAmount >= 0) {\n handleChangeAmount(newAmount)\n }\n }\n\n const handlePayoff = () => {\n if (payoffAmount) {\n handleChangeAmount(payoffAmount)\n }\n }\n\n const subTitle = (\n <Box component='span'>\n <Box component='span' css={styles.subTitle}>\n {description1}\n </Box>\n {payoffAmount && (\n <Button\n sx={{ fontSize: '12px' }}\n variant='text'\n size='small'\n onClick={handlePayoff}\n className='choose-amount-modal-select-payoff-btn'\n >\n Pay Off\n </Button>\n )}\n </Box>\n )\n\n return (\n <WrapperModal title={title} subTitle={subTitle}>\n {type === 'slider' && (\n <>\n <Box css={styles.chosenAmountWrapper}>\n <Box css={styles.chosenAmount}>\n {Number(currentAmount).toFixed(2)}\n <Box component='span' css={styles.chosenAmountSymbol}>\n {tokenSymbol}\n </Box>\n <Box component='span' css={styles.editIcon}>\n <ArrowDropUpIcon\n onClick={handleIncrement}\n className='choose-amount-modal-increment-icon'\n />\n <ArrowDropDownIcon onClick={handleDecrement} />\n </Box>\n </Box>\n </Box>\n <Slider\n max={Number(sliderMax)}\n min={0}\n css={styles.slider}\n aria-label='Amount'\n value={currentAmount}\n onChange={handleSliderChange}\n />\n </>\n )}\n {type === 'input' && (\n <Box css={styles.inputAmountWrapper}>\n <Box css={styles.inputAmount}>\n <Input\n css={styles.inputField}\n type='number'\n value={!inputTouched && currentAmount === 0 ? '' : currentAmount}\n onChange={handleInputChange}\n placeholder='0'\n />\n <Button\n variant='contained'\n css={styles.maxButton}\n onClick={handleSetMax}\n >\n Max\n </Button>\n </Box>\n <Box css={styles.amountAvailable}>\n {tokenIcon && React.createElement(tokenIcon, styles.tokenIcon)}\n <Box>{Number(sliderMax).toFixed(2)} Available</Box>\n </Box>\n </Box>\n )}\n <Box css={styles.info}>\n <Box>{topLeft}</Box>\n <Box>{topRight}</Box>\n </Box>\n {topLeft && downLeft && <Divider css={styles.divider} />}\n <Box css={styles.info}>\n <Box>{downLeft}</Box>\n <Box>{downRight}</Box>\n </Box>\n <Box css={styles.description2}>{description2}</Box>\n <Button\n className='choose-amount-modal-action-btn'\n variant='contained'\n css={styles.okButton}\n onClick={handleAction}\n disabled={\n !currentAmount ||\n Number(currentAmount) <= 0 ||\n Number(currentAmount) > Number(sliderMax)\n }\n >\n {actionText.toUpperCase()}\n </Button>\n {!hideTerms && (\n <Box css={styles.terms}>\n By clicking {actionText}, you agree to Huma’s Terms of Service.\n </Box>\n )}\n </WrapperModal>\n )\n}\n","import {\n AccountStats,\n PoolInfoType,\n upScale,\n useCLFeeManager,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setBorrowInfo } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n accountStats: AccountStats\n}\n\nexport function ChooseAmount({\n poolInfo,\n accountStats,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { poolUnderlyingToken } = poolInfo\n const { symbol, decimals } = poolUnderlyingToken\n const { getFeesCharged } = useCLFeeManager(poolInfo.poolName)\n const [chargedFees, setChargedFees] = useState(0)\n const [currentAmount, setCurrentAmount] = useState(0)\n const { creditRecordStatic, creditAvailableAmount } = accountStats\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n setCurrentAmount(newAmount)\n const newChargedFees = getFeesCharged(newAmount)\n setChargedFees(newChargedFees)\n },\n [getFeesCharged],\n )\n\n const handleAction = useCallback(() => {\n const nextStep = WIDGET_STEP.Transfer\n dispatch(\n setBorrowInfo({\n borrowAmount: currentAmount,\n borrowAmountBN: upScale(currentAmount, decimals),\n chargedFees,\n nextStep,\n }),\n )\n }, [chargedFees, currentAmount, decimals, dispatch])\n\n return (\n <ChooseAmountModal\n title='Borrow'\n description1='Choose Amount'\n sliderMax={creditAvailableAmount}\n currentAmount={currentAmount}\n tokenSymbol={symbol}\n topLeft='Origination Fee'\n topRight={`${chargedFees} ${symbol}`}\n downLeft='APR'\n downRight={`${creditRecordStatic!.aprInBps / 100}%`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='borrow'\n />\n )\n}\n","import { Box, Button, css } from '@mui/material'\nimport React from 'react'\n\nimport { WCProps } from '../utilTypes'\n\ntype Props = {\n variant: 'contained' | 'outlined'\n disabled?: boolean\n onClick?: () => void\n}\n\nexport function BottomButton({\n variant,\n disabled = false,\n onClick,\n children,\n}: WCProps<Props>): React.ReactElement {\n const styles = css`\n & .MuiButtonBase-root {\n width: 100%;\n position: absolute;\n bottom: 0;\n }\n `\n\n return (\n <Box css={styles}>\n <Button variant={variant} onClick={onClick} disabled={disabled}>\n {children}\n </Button>\n </Box>\n )\n}\n","import { Box, Button } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { CHAINS, openInNewTab } from '@huma-finance/shared'\nimport React from 'react'\n\ntype Props = {\n txHash: string\n}\n\nexport function ViewOnExplorer({ txHash }: Props): React.ReactElement | null {\n const { chainId } = useWeb3React()\n const chain = chainId ? CHAINS[chainId] : null\n\n if (!txHash || !chain) {\n return null\n }\n\n return (\n <Button\n variant='outlined'\n onClick={() => openInNewTab(`${chain.explorer}/${txHash}`)}\n >\n <Box component='span'>VIEW ON EXPLORER</Box>\n </Button>\n )\n}\n","import { MaxUint256 } from '@ethersproject/constants'\nimport { Box, css, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { BigNumber } from 'ethers'\nimport {\n PoolInfoType,\n sendTxAtom,\n txAtom,\n TxStateType,\n useMount,\n usePoolUnderlyingTokenContract,\n} from '@huma-finance/shared'\nimport { useAtom } from 'jotai'\nimport { useResetAtom } from 'jotai/utils'\nimport React, { useCallback, useEffect } from 'react'\n\nimport { BottomButton } from './BottomButton'\nimport { AutoPaybackIcon } from './icons'\nimport { LoadingModal } from './LoadingModal'\nimport { ViewOnExplorer } from './ViewOnExplorer'\nimport { WrapperModal } from './WrapperModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n showAutoPayback?: boolean\n allowanceAmount?: BigNumber | string\n spender?: string\n handleSuccess: () => void\n}\n\nexport function ApproveAllowanceModal({\n poolInfo,\n showAutoPayback = false,\n allowanceAmount,\n spender,\n handleSuccess,\n}: Props): React.ReactElement | null {\n const theme = useTheme()\n const { provider } = useWeb3React()\n const { poolUnderlyingToken } = poolInfo\n const { symbol } = poolUnderlyingToken\n const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(\n poolInfo.poolName,\n poolInfo.poolType,\n )\n const reset = useResetAtom(txAtom)\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\n const waitingForAccept = state === TxStateType.New\n\n useEffect(() => {\n if (state === TxStateType.Success) {\n reset()\n handleSuccess()\n }\n }, [handleSuccess, reset, state, symbol])\n\n const styles = {\n iconWrapper: css`\n ${theme.cssMixins.rowCentered};\n margin-top: 30px;\n `,\n description: css`\n margin-top: 14px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n padding: 0 12px;\n `,\n }\n\n const sendApprove = useCallback(() => {\n send({\n contract: poolUnderlyingTokenContract!,\n method: 'approve',\n params: [spender ?? poolInfo.pool, allowanceAmount ?? MaxUint256],\n provider,\n })\n }, [\n allowanceAmount,\n poolInfo.pool,\n poolUnderlyingTokenContract,\n provider,\n send,\n spender,\n ])\n\n useMount(() => {\n if (!showAutoPayback) {\n sendApprove()\n }\n })\n\n if (showAutoPayback && waitingForAccept) {\n return (\n <WrapperModal\n title='Auto Payback'\n subTitle='Enable auto payback and never miss payments. You only need to do it once.'\n >\n <Box css={styles.iconWrapper}>\n <AutoPaybackIcon />\n </Box>\n <Box css={styles.description}>\n This allowance transaction removes the need to confirm follow up{' '}\n {symbol} transactions. Gas is on us.\n </Box>\n <BottomButton variant='contained' onClick={sendApprove}>\n APPROVE {symbol} PAYMENTS\n </BottomButton>\n </WrapperModal>\n )\n }\n\n return (\n <LoadingModal\n title={`Approve ${symbol}`}\n description='Waiting for approval confirmation...'\n >\n <ViewOnExplorer txHash={txHash} />\n </LoadingModal>\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <ApproveAllowanceModal\n poolInfo={poolInfo}\n handleSuccess={handleSuccess}\n showAutoPayback\n />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { Contract } from 'ethers'\nimport {\n PoolInfoType,\n sendTxAtom,\n TxStateType,\n useMount,\n usePoolContract,\n} from '@huma-finance/shared'\nimport { useAtom } from 'jotai'\nimport React, { useEffect } from 'react'\n\nimport { useAppDispatch } from '../hooks/useRedux'\nimport { LoadingModal } from './LoadingModal'\nimport { ViewOnExplorer } from './ViewOnExplorer'\n\ntype Props = {\n poolInfo: PoolInfoType\n method: string\n params: unknown[]\n title?: string\n contract?: Contract\n handleSuccess?: () => void\n}\n\nexport function TxSendModal({\n poolInfo,\n title,\n method,\n params,\n contract,\n handleSuccess,\n}: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { provider } = useWeb3React()\n const poolContract = usePoolContract(poolInfo.poolName, poolInfo.poolType)\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\n\n useEffect(() => {\n if (state === TxStateType.Success) {\n if (handleSuccess) {\n handleSuccess()\n }\n }\n }, [dispatch, handleSuccess, state])\n\n useMount(() => {\n send({ contract: contract ?? poolContract!, method, params, provider })\n })\n\n return (\n <LoadingModal\n title={title ?? 'Transaction Pending'}\n description='Waiting for confirmation...'\n >\n <ViewOnExplorer txHash={txHash} />\n </LoadingModal>\n )\n}\n","import {\n PoolInfoType,\n toBigNumber,\n txAtom,\n useCLPoolAllowance,\n} from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useResetAtom } from 'jotai/utils'\nimport { useWeb3React } from '@web3-react/core'\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const reset = useResetAtom(txAtom)\n const { account } = useWeb3React()\n const { borrowAmountBN } = useAppSelector(selectWidgetState)\n const { allowance } = useCLPoolAllowance(poolInfo.poolName, account)\n\n const handleSuccess = useCallback(() => {\n reset()\n const nextStep = allowance.gte(toBigNumber(borrowAmountBN!))\n ? WIDGET_STEP.Done\n : WIDGET_STEP.ApproveAllowance\n dispatch(setStep(nextStep))\n }, [allowance, borrowAmountBN, dispatch, reset])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n method='drawdown'\n params={[borrowAmountBN]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import { Box, Button, css, Typography, useTheme } from '@mui/material'\nimport { txAtom } from '@huma-finance/shared'\nimport { useResetAtom } from 'jotai/utils'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../hooks/useRedux'\nimport { resetState } from '../store/widgets.reducers'\nimport { CheckIcon } from './icons'\n\ntype Props = {\n content: string[]\n handleAction: () => void\n}\n\nexport function TxDoneModal({\n content,\n handleAction,\n}: Props): React.ReactElement {\n const theme = useTheme()\n const dispatch = useAppDispatch()\n const reset = useResetAtom(txAtom)\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n `,\n header: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: -5px;\n `,\n content: css`\n ${theme.cssMixins.colVCentered};\n font-family: 'Uni-Neue-Regular';\n font-size: 18px;\n color: #423b46;\n margin-top: 64px;\n text-align: center;\n `,\n check: css`\n width: 100%;\n ${theme.cssMixins.rowHCentered};\n margin-top: 82px;\n `,\n doneButton: css`\n width: 100%;\n position: absolute;\n bottom: 0;\n `,\n }\n\n const handleCloseModal = useCallback(() => {\n reset()\n dispatch(resetState())\n handleAction()\n }, [dispatch, handleAction, reset])\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n Transaction Completed\n </Typography>\n <Box css={styles.check}>\n <CheckIcon />\n </Box>\n <Box css={styles.content}>\n {content.map((item) => (\n <Box sx={{ marginTop: '10px' }} key={item}>\n {item}\n </Box>\n ))}\n </Box>\n <Button\n className='transaction-done-modal-close-btn'\n variant='contained'\n css={styles.doneButton}\n onClick={handleCloseModal}\n >\n DONE\n </Button>\n </Box>\n )\n}\n","import { CreditRecordType, PoolInfoType, timeUtil } from '@huma-finance/shared'\nimport React from 'react'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n creditRecord: CreditRecordType\n handleAction: () => void\n}\n\nexport function Success({\n poolInfo,\n creditRecord,\n handleAction,\n}: Props): React.ReactElement {\n const { borrowAmountNet } = useAppSelector(selectWidgetState)\n const { poolUnderlyingToken } = poolInfo\n const { symbol } = poolUnderlyingToken\n const dueDate = timeUtil.timestampToLL(creditRecord?.dueDate.toNumber())\n\n const content = [\n `${borrowAmountNet} ${symbol} is now in your wallet.`,\n `Note: your payment will be automatically deducted on ${dueDate}.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n CreditState,\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@huma-finance/shared'\nimport React, { useCallback, useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { Evaluation } from './1-Evaluation'\nimport { ChooseAmount } from './2-ChooseAmount'\nimport { ApproveAllowance } from './4-ApproveAllowance'\nimport { Transfer } from './3-Transfer'\nimport { Success } from './5-Success'\n\n/**\n * Credit line pool borrow props\n * @typedef {Object} CreditLineBorrowProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function():void|undefined} handleApprove Optional function to notify when user is approved successfully to borrow again pool.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool borrow action is successful.\n */\nexport interface CreditLineBorrowProps {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n handleClose: () => void\n handleApprove?: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function CreditLineBorrow({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n handleClose,\n handleApprove,\n handleSuccess,\n}: CreditLineBorrowProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const [accountStats, refreshAccountStats] = useAccountStats(\n poolName,\n poolType,\n account,\n )\n const { creditRecord } = accountStats\n const accountState = creditRecord?.state\n\n useEffect(() => {\n if (!step && accountState !== undefined) {\n const nextStep =\n accountState >= CreditState.Approved\n ? WIDGET_STEP.ChooseAmount\n : WIDGET_STEP.Evaluation\n dispatch(setStep(nextStep))\n }\n }, [accountState, dispatch, step])\n\n const approveCallback = useCallback(() => {\n if (handleApprove) {\n handleApprove()\n }\n refreshAccountStats()\n }, [handleApprove, refreshAccountStats])\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n isLoading={!creditRecord}\n loadingTitle='Borrow'\n handleClose={handleClose}\n handleSuccess={handleSuccess}\n >\n {step === WIDGET_STEP.Evaluation && (\n <Evaluation poolInfo={poolInfo} handleApprove={approveCallback} />\n )}\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount poolInfo={poolInfo} accountStats={accountStats} />\n )}\n {step === WIDGET_STEP.ApproveAllowance && (\n <ApproveAllowance poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && (\n <Success\n poolInfo={poolInfo}\n handleAction={handleClose}\n creditRecord={creditRecord!}\n />\n )}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Borrow'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n PoolInfoType,\n toBigNumber,\n upScale,\n useCLPoolAllowance,\n} from '@huma-finance/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setPaymentAmount, setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n payoffAmount: number\n totalDueAmount: number\n poolInfo: PoolInfoType\n}\n\nexport function ChooseAmount({\n payoffAmount,\n totalDueAmount,\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { account } = useWeb3React()\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\n const [currentAmount, setCurrentAmount] = useState(0)\n const { allowance } = useCLPoolAllowance(poolInfo.poolName, account)\n\n useEffect(() => {\n setCurrentAmount(totalDueAmount)\n dispatch(setPaymentAmount({ paymentAmount: totalDueAmount }))\n }, [dispatch, totalDueAmount])\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n setCurrentAmount(newAmount)\n dispatch(setPaymentAmount({ paymentAmount: newAmount }))\n },\n [dispatch],\n )\n\n const handleAction = useCallback(() => {\n const payAmount = upScale(currentAmount, decimals)\n const step = toBigNumber(payAmount).gt(allowance)\n ? WIDGET_STEP.ApproveAllowance\n : WIDGET_STEP.Transfer\n dispatch(setStep(step))\n }, [allowance, currentAmount, decimals, dispatch])\n\n return (\n <ChooseAmountModal\n title='Pay'\n description1='Choose amount'\n sliderMax={payoffAmount}\n currentAmount={currentAmount}\n tokenSymbol={symbol}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='pay'\n payoffAmount={payoffAmount}\n hideTerms\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Transfer))\n }, [dispatch])\n\n return (\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { account } = useWeb3React()\n const { paymentAmount } = useAppSelector(selectWidgetState)\n const { decimals } = poolInfo.poolUnderlyingToken\n const paymentBigNumber = toBigNumber(upScale(paymentAmount!, decimals))\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n method='makePayment'\n params={[account, paymentBigNumber]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import {\n decodeLogs,\n downScale,\n formatMoney,\n PoolInfoType,\n sendTxAtom,\n} from '@huma-finance/shared'\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\nimport { useAtom } from 'jotai'\nimport React, { useEffect, useState } from 'react'\n\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleAction: () => void\n}\n\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\n const [{ txReceipt }] = useAtom(sendTxAtom)\n const [payedAmount, setPayedAmount] = useState<string | undefined>()\n\n useEffect(() => {\n if (txReceipt) {\n const [event] = decodeLogs(txReceipt.logs, transferAbi)\n if (event) {\n const payedAmount = downScale(event.args.value.toString(), decimals)\n setPayedAmount(payedAmount)\n }\n }\n }, [decimals, txReceipt])\n\n const content = [\n `You successfully paid ${formatMoney(payedAmount)} ${symbol}.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { ChooseAmount } from './1-ChooseAmount'\nimport { ApproveAllowance } from './2-ApproveAllowance'\nimport { Transfer } from './3-Transfer'\nimport { Success } from './4-Success'\n\n/**\n * Credit line pool payment props\n * @typedef {Object} CreditLinePaymentProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool payment action is successful.\n */\nexport type CreditLinePaymentProps = {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n handleClose: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function CreditLinePayment({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n handleClose,\n handleSuccess,\n}: CreditLinePaymentProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const [{ creditRecord, payoffAmount, totalDueAmount }] = useAccountStats(\n poolName,\n poolType,\n account,\n )\n\n useEffect(() => {\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\n }, [dispatch])\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n isLoading={!creditRecord}\n loadingTitle='Make Payment'\n handleClose={handleClose}\n handleSuccess={handleSuccess}\n >\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount\n poolInfo={poolInfo}\n payoffAmount={payoffAmount}\n totalDueAmount={totalDueAmount}\n />\n )}\n {step === WIDGET_STEP.ApproveAllowance && (\n <ApproveAllowance poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && (\n <Success poolInfo={poolInfo} handleAction={handleClose} />\n )}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Make Payment'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { PoolInfoType, toBigNumber } from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\n\nimport useEA from '../../../hooks/useEA'\nimport { LoadingModal } from '../../LoadingModal'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\n\ntype Props = {\n poolInfo: PoolInfoType\n tokenId: string\n}\n\nexport function Evaluation({ poolInfo, tokenId }: Props): React.ReactElement {\n const { checkingEA } = useEA()\n const { account, chainId } = useWeb3React()\n\n useEffect(() => {\n if (account && chainId) {\n checkingEA(\n {\n poolAddress: poolInfo.pool,\n borrowerWalletAddress: account,\n context: {\n receivable: {\n address: poolInfo.assetAddress!,\n param: toBigNumber(tokenId).toHexString(),\n },\n },\n },\n WIDGET_STEP.ChooseAmount,\n )\n }\n }, [\n account,\n chainId,\n checkingEA,\n poolInfo.assetAddress,\n poolInfo.pool,\n tokenId,\n ])\n\n return (\n <LoadingModal\n title='Checking Invoice'\n description='Checking if the invoice qualifies for factoring...'\n />\n )\n}\n","import {\n AccountStats,\n PoolInfoType,\n upScale,\n useFeeManager,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setBorrowInfo } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n accountStats: AccountStats\n}\n\nexport function ChooseAmount({\n poolInfo,\n accountStats,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { creditRecord } = accountStats\n const [chargedFees, setChargedFees] = useState(0)\n const [currentAmount, setCurrentAmount] = useState(0)\n const { approval } = useAppSelector(selectWidgetState)\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\n const [remainder, setRemainder] = useState<string | number | undefined>(\n approval!.receivable?.amountFormatted,\n )\n\n const getAvailableCreditLimit = () => {\n if (approval && creditRecord) {\n const principal = creditRecord.unbilledPrincipal\n .add(creditRecord.totalDue)\n .sub(creditRecord.feesAndInterestDue)\n .toNumber()\n return Number(approval.terms.creditLimitFormatted) - principal\n }\n return 0\n }\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n if (approval) {\n setCurrentAmount(newAmount)\n setChargedFees(getFeesCharged(newAmount))\n setRemainder(Number(approval.receivable!.amountFormatted) - newAmount)\n }\n },\n [approval, getFeesCharged],\n )\n\n const handleAction = useCallback(() => {\n dispatch(\n setBorrowInfo({\n borrowAmount: currentAmount,\n borrowAmountBN: upScale(currentAmount, approval?.token.decimal),\n chargedFees,\n remainder: Number(remainder!),\n nextStep: WIDGET_STEP.ConfirmTransfer,\n }),\n )\n }, [approval?.token.decimal, chargedFees, currentAmount, dispatch, remainder])\n\n if (!approval) {\n return null\n }\n\n return (\n <ChooseAmountModal\n title='Choose Amount'\n description1='Access up to 80% of your invoice value'\n description2='The remainder will be sent to your wallet when the invoice is paid'\n sliderMax={getAvailableCreditLimit()}\n currentAmount={currentAmount}\n tokenSymbol={approval.token.symbol}\n topLeft='Fees'\n topRight={`${chargedFees} ${approval.token.symbol}`}\n downLeft='Remainder'\n downRight={`${remainder} ${approval.token.symbol}`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n />\n )\n}\n","import { combineStyles } from '@huma-finance/shared'\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\nimport React from 'react'\n\nimport { ReceiptIcon, UsdcIcon } from './icons'\n\ntype Props = {\n title: string\n description: string\n items: [\n { leftText: string; rightText: string },\n { leftText: string; rightText: string },\n ]\n actionText: string\n handleAction: () => void\n}\n\nexport function ConfirmTransferModal({\n title,\n description,\n items,\n actionText,\n handleAction,\n}: Props): React.ReactElement | null {\n const theme = useTheme()\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n ${theme.cssMixins.colStretch};\n `,\n header: css`\n ${theme.cssMixins.rowHCentered};\n margin-top: -5px;\n `,\n description: css`\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #49505b;\n margin-top: 30px;\n text-align: center;\n `,\n transferWrapper: css`\n margin-top: 75px;\n `,\n transfer: css`\n font-family: 'Uni-Neue-Regular';\n ${theme.cssMixins.rowSpaceBetweened}\n ${theme.cssMixins.rowVCentered}\n height: 72px;\n background: #f9f8fa;\n border-radius: 4px;\n font-weight: 500;\n font-size: 16px;\n color: #49505b;\n padding: 24px 20px;\n margin-bottom: 9px;\n position: relative;\n box-sizing: border-box;\n `,\n transferItem: css`\n ${theme.cssMixins.rowVCentered}\n `,\n arrow: css`\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: #b246ff;\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 `,\n arrowFirst: css`\n left: calc(15% + 20px);\n animation-delay: 0.2s;\n `,\n okButton: css`\n width: 100%;\n position: absolute;\n bottom: 0;\n `,\n usdcIcon: css`\n width: 22px;\n margin-right: 20px;\n & > path:first-of-type {\n fill: #76707e;\n }\n `,\n }\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n {title}\n </Typography>\n <Box css={styles.description}>{description}</Box>\n <Box css={styles.transferWrapper}>\n <Box css={styles.transfer}>\n <Box css={styles.transferItem}>\n <ReceiptIcon css={{ width: '24px', marginRight: '20px' }} />\n {items[0].leftText}\n </Box>\n <ArrowForwardIosIcon\n css={combineStyles([styles.arrow, styles.arrowFirst])}\n />\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>{items[0].rightText}</Box>\n </Box>\n <Box css={styles.transfer}>\n <Box css={styles.transferItem}>\n <UsdcIcon css={styles.usdcIcon} />\n {items[1].leftText}\n </Box>\n <ArrowForwardIosIcon\n css={combineStyles([styles.arrow, styles.arrowFirst])}\n />\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>{items[1].rightText}</Box>\n </Box>\n </Box>\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\n {actionText}\n </Button>\n </Box>\n )\n}\n","import { isEmpty } from '@huma-finance/shared'\nimport React from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ConfirmTransferModal } from '../../ConfirmTransferModal'\n\nexport function ConfirmTransfer(): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { borrowAmountNet, approval } = useAppSelector(selectWidgetState)\n\n const handleAction = () => {\n dispatch(setStep(WIDGET_STEP.ApproveNFT))\n }\n\n if (isEmpty(borrowAmountNet) || isEmpty(approval)) {\n return null\n }\n\n return (\n <ConfirmTransferModal\n title='Confirm transaction details'\n description={`Huma keeps your Invoice NFT as collateral until it's fully paid.`}\n items={[\n { leftText: 'Invoice NFT', rightText: 'Huma' },\n {\n leftText: `${borrowAmountNet!} ${approval?.token.symbol}`,\n rightText: 'You',\n },\n ]}\n actionText='APPROVE TRANSFER'\n handleAction={handleAction}\n />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n PoolInfoType,\n sendTxAtom,\n txAtom,\n TxStateType,\n useInvoiceNFTContract,\n} from '@huma-finance/shared'\nimport { useAtom } from 'jotai'\nimport { useResetAtom } from 'jotai/utils'\nimport React, { useEffect } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { LoadingModal } from '../../LoadingModal'\nimport { ViewOnExplorer } from '../../ViewOnExplorer'\n\ntype Props = {\n poolInfo: PoolInfoType\n tokenId: string\n}\n\nexport function ApproveNFT({ poolInfo, tokenId }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { provider } = useWeb3React()\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\n const reset = useResetAtom(txAtom)\n const invoiceNFTContract = useInvoiceNFTContract(poolInfo.poolName)\n\n useEffect(() => {\n if (state === TxStateType.Success) {\n reset()\n dispatch(setStep(WIDGET_STEP.Transfer))\n }\n }, [dispatch, reset, state])\n\n useEffect(() => {\n send({\n contract: invoiceNFTContract!,\n method: 'approve',\n params: [poolInfo.pool, tokenId],\n provider,\n })\n }, [invoiceNFTContract, poolInfo.pool, provider, send, tokenId])\n\n return (\n <LoadingModal\n title='Approve Invoice Transfer'\n description='Waiting for approval confirmation...'\n >\n <ViewOnExplorer txHash={txHash} />\n </LoadingModal>\n )\n}\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n tokenId: string\n}\n\nexport function Transfer({ poolInfo, tokenId }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { decimals } = poolInfo.poolUnderlyingToken\n const { borrowAmount } = useAppSelector(selectWidgetState)\n const requestLoanBigNumber = toBigNumber(upScale(borrowAmount!, decimals))\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n title='Transfer Invoice and Money'\n method='drawdownWithReceivable'\n params={[requestLoanBigNumber, poolInfo.assetAddress, tokenId]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import React from 'react'\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n handleAction: () => void\n}\n\nexport function Success({ handleAction }: Props): React.ReactElement {\n const { borrowAmountNet, remainder, approval } =\n useAppSelector(selectWidgetState)\n\n const content = [\n `${borrowAmountNet} ${approval?.token.symbol} is now in your wallet.`,\n `The remaining ${remainder} ${approval?.token.symbol} will be sent to your wallet when the invoice is paid.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { BigNumber } from 'ethers'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { Evaluation } from './1-Evaluation'\nimport { ChooseAmount } from './2-ChooseAmount'\nimport { ConfirmTransfer } from './3-ConfirmTransfer'\nimport { ApproveNFT } from './4-ApproveNFT'\nimport { Transfer } from './5-Transfer'\nimport { Success } from './6-Success'\n\n/**\n * Invoice factoring pool borrow props\n * @typedef {Object} InvoiceFactoringBorrowProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {string|BigNumber} tokenId The NFT token id representing invoice.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool borrow action is successful.\n */\nexport interface InvoiceFactoringBorrowProps {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n tokenId: string | BigNumber\n handleClose: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function InvoiceFactoringBorrow({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n tokenId,\n handleClose,\n handleSuccess,\n}: InvoiceFactoringBorrowProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const [accountStats] = useAccountStats(poolName, poolType, account)\n\n useEffect(() => {\n dispatch(setStep(WIDGET_STEP.Evaluation))\n }, [dispatch])\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n handleClose={handleClose}\n handleSuccess={handleSuccess}\n >\n {step === WIDGET_STEP.Evaluation && (\n <Evaluation poolInfo={poolInfo} tokenId={tokenId.toString()} />\n )}\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount poolInfo={poolInfo} accountStats={accountStats} />\n )}\n {step === WIDGET_STEP.ConfirmTransfer && <ConfirmTransfer />}\n {step === WIDGET_STEP.ApproveNFT && (\n <ApproveNFT poolInfo={poolInfo} tokenId={tokenId.toString()} />\n )}\n {step === WIDGET_STEP.Transfer && (\n <Transfer poolInfo={poolInfo} tokenId={tokenId.toString()} />\n )}\n {step === WIDGET_STEP.Done && <Success handleAction={handleClose} />}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Invoice Factoring'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n CreditRecordType,\n downScale,\n PoolInfoType,\n toBigNumber,\n upScale,\n useRFPoolAllowance,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setPaymentAmount, setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n creditRecord: CreditRecordType\n poolInfo: PoolInfoType\n}\n\nexport function ChooseAmount({\n creditRecord,\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { account } = useWeb3React()\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\n const totalDue = downScale<number>(creditRecord.totalDue.toNumber(), decimals)\n const { allowance } = useRFPoolAllowance(poolInfo.poolName, account)\n const [remainingDue, setRemainingDue] = useState(totalDue)\n const [currentAmount, setCurrentAmount] = useState(0)\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n setCurrentAmount(newAmount)\n const remainDueAmount = totalDue - newAmount\n setRemainingDue(remainDueAmount)\n dispatch(setPaymentAmount({ paymentAmount: newAmount, remainDueAmount }))\n },\n [dispatch, totalDue],\n )\n\n const handleAction = useCallback(() => {\n const payAmount = upScale(currentAmount, decimals)\n const nextStep = toBigNumber(payAmount).gt(allowance)\n ? WIDGET_STEP.ApproveAllowance\n : WIDGET_STEP.Transfer\n dispatch(setStep(nextStep))\n }, [allowance, currentAmount, decimals, dispatch])\n\n return (\n <ChooseAmountModal\n title='Make the payment'\n description1='Choose amount'\n sliderMax={totalDue}\n currentAmount={currentAmount}\n tokenSymbol={symbol}\n topLeft='Total Due'\n topRight={`${totalDue} ${symbol}`}\n downLeft='Remaining Due'\n downRight={`${remainingDue} ${symbol}`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='make payment'\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Transfer))\n }, [dispatch])\n\n return (\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { account } = useWeb3React()\n const { decimals } = poolInfo.poolUnderlyingToken\n const { paymentAmount } = useAppSelector(selectWidgetState)\n const paymentBigNumber = toBigNumber(upScale(paymentAmount!, decimals))\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n method='makePayment'\n params={[account, paymentBigNumber]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React from 'react'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleAction: () => void\n}\n\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\n const { symbol } = poolInfo.poolUnderlyingToken\n const { paymentAmount, remainDueAmount } = useAppSelector(selectWidgetState)\n\n const content = [\n `You have successfully made a payment of ${paymentAmount} ${symbol}.`,\n `The remaining due amount is ${remainDueAmount} ${symbol}.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { ChooseAmount } from './1-ChooseAmount'\nimport { ApproveAllowance } from './2-ApproveAllowance'\nimport { Transfer } from './3-Transfer'\nimport { Success } from './4-Success'\n\n/**\n * Invoice factoring pool payment props\n * @typedef {Object} InvoiceFactoringPaymentProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool payment action is successful.\n */\nexport type InvoiceFactoringPaymentProps = {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n handleClose: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function InvoiceFactoringPayment({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n handleClose,\n handleSuccess,\n}: InvoiceFactoringPaymentProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const [{ creditRecord }] = useAccountStats(poolName, poolType, account)\n\n useEffect(() => {\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\n }, [dispatch])\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n isLoading={!creditRecord}\n loadingTitle='Make Payment'\n handleClose={handleClose}\n handleSuccess={handleSuccess}\n >\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount creditRecord={creditRecord!} poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.ApproveAllowance && (\n <ApproveAllowance poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && (\n <Success poolInfo={poolInfo} handleAction={handleClose} />\n )}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Make Payment'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import {\n EAService,\n IdentityService,\n PoolInfoType,\n VerificationStatusResult,\n configUtil,\n} from '@huma-finance/shared'\nimport { Box, css, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport React, { useEffect, useState } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setError, setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { CustomError } from '../../../utilTypes'\nimport { BottomButton } from '../../BottomButton'\nimport { ApproveLenderIcon } from '../../icons'\nimport { LoadingModal } from '../../LoadingModal'\nimport { WrapperModal } from '../../WrapperModal'\nimport { envUtil } from '../../../utils/env'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleApproveSuccess: () => void\n}\n\nexport function Evaluation({\n poolInfo,\n handleApproveSuccess,\n}: Props): React.ReactElement | null {\n const theme = useTheme()\n const dispatch = useAppDispatch()\n const isDev = envUtil.checkIsDev()\n const { account, chainId } = useWeb3React()\n const [loading, setLoading] = useState(false)\n const [description, setDescription] = useState<string>()\n const [KYCVerifyStatus, setKYCVerifyStatus] =\n useState<VerificationStatusResult>()\n const lenderApprovalProvider = poolInfo.extra?.lenderApprovalProvider\n const isKYC = lenderApprovalProvider?.type === 'KYC'\n const [buttonText, setButtonText] = useState<string>('VERIFY MY IDENTITY')\n\n const styles = {\n iconWrapper: css`\n ${theme.cssMixins.rowCentered};\n margin-top: 30px;\n `,\n description: css`\n ${theme.cssMixins.rowCentered};\n margin-top: 50px;\n font-family: 'Uni-Neue-Regular';\n font-size: 16px;\n color: #a8a1b2;\n `,\n }\n\n useEffect(() => {\n if (isKYC) {\n setDescription(\n `Link your ${lenderApprovalProvider.provider} account or create a new one to complete identity verification.`,\n )\n }\n }, [lenderApprovalProvider?.provider, isKYC])\n useEffect(() => {\n const fetchData = async () => {\n if (account && chainId && isKYC) {\n try {\n setLoading(true)\n const verificationStatus =\n await IdentityService.getVerificationStatus(\n account,\n poolInfo.pool,\n chainId,\n isDev,\n )\n setKYCVerifyStatus(verificationStatus)\n if (verificationStatus.isVerified) {\n setDescription(\n 'Please review the documents to complete the approval process.',\n )\n setButtonText('REVIEW DOCUMENT')\n }\n } finally {\n setLoading(false)\n }\n }\n }\n fetchData()\n }, [account, chainId, isDev, isKYC, poolInfo.pool])\n\n const approveLenderByEA = async () => {\n try {\n setLoading(true)\n const payload = {\n poolAddress: poolInfo.pool,\n lenderWalletAddress: account!,\n }\n await EAService.approveLender(payload, chainId!)\n handleApproveSuccess()\n setLoading(false)\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\n } catch (e: unknown) {\n const error = e as CustomError\n setLoading(false)\n dispatch(setError({ errorMessage: error.message }))\n }\n }\n\n const approveLenderByKYC = () => {\n switch (lenderApprovalProvider?.provider) {\n case 'Securitize':\n {\n const { isNotOnboarded, isVerified } = KYCVerifyStatus || {}\n\n if (isVerified) {\n if (lenderApprovalProvider.documentUrl) {\n window.location.href = lenderApprovalProvider.documentUrl\n }\n } else {\n const issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd'\n const baseUrl = configUtil.getKYCProviderBaseUrl(\n 'Securitize',\n isDev,\n )\n const originUrl = window.location.href.split('?')[0]\n const redirectUrl = `${originUrl}?kycProvider=Securitize&kycPool=${poolInfo.pool}`\n const providerAuthorizeUrl = `${baseUrl}/#/authorize?issuerId=${issuerId}&scope=details&details=verification&redirectUrl=${redirectUrl}`\n const providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl\n window.location.href = providerUrl\n }\n }\n break\n default:\n break\n }\n }\n\n const approveLender = () => {\n switch (lenderApprovalProvider?.type) {\n case 'EA':\n approveLenderByEA()\n break\n case 'KYC':\n approveLenderByKYC()\n break\n default:\n approveLenderByEA()\n break\n }\n }\n\n if (!loading) {\n return (\n <WrapperModal\n title='Lender Approval'\n subTitle='This pool requires lender approval'\n >\n <Box css={styles.iconWrapper}>\n <ApproveLenderIcon />\n </Box>\n <Box css={styles.description}>{description}</Box>\n <BottomButton variant='contained' onClick={approveLender}>\n {buttonText}\n </BottomButton>\n </WrapperModal>\n )\n }\n\n return (\n <LoadingModal\n title='Approval Pending'\n description='Waiting for approval confirmation...'\n />\n )\n}\n","import { BigNumber } from 'ethers'\nimport {\n PoolInfoType,\n timeUtil,\n toBigNumber,\n upScale,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep, setSupplyAmount } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\nimport { getIcon } from '../../icons'\n\ntype Props = {\n allowance: BigNumber\n withdrawlLockoutSeconds: number | undefined\n underlyingTokenBalance: string\n poolInfo: PoolInfoType\n}\n\nexport function ChooseAmount({\n allowance,\n withdrawlLockoutSeconds,\n underlyingTokenBalance,\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { poolUnderlyingToken } = poolInfo\n const { symbol, decimals } = poolUnderlyingToken\n const [currentAmount, setCurrentAmount] = useState(0)\n const depositAmount = upScale<number>(currentAmount, decimals)\n const needApprove = toBigNumber(depositAmount).gt(allowance)\n const withdrawlLockoutDays = timeUtil.secondsToDays(withdrawlLockoutSeconds)\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n setCurrentAmount(newAmount)\n dispatch(setSupplyAmount(newAmount))\n },\n [dispatch],\n )\n\n const handleAction = useCallback(() => {\n const step = needApprove\n ? WIDGET_STEP.ApproveAllowance\n : WIDGET_STEP.Transfer\n dispatch(setStep(step))\n }, [dispatch, needApprove])\n\n return (\n <ChooseAmountModal\n title={`Supply ${symbol}`}\n description1='Choose Amount'\n description2={`Depositors need to wait for ${withdrawlLockoutDays.toFixed(\n 0,\n )} days before withdrawal`}\n sliderMax={Number(underlyingTokenBalance)}\n currentAmount={currentAmount}\n tokenSymbol={symbol}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText={needApprove ? 'approve allowance' : 'supply'}\n type='input'\n tokenIcon={getIcon(poolInfo.poolUnderlyingToken.icon)!}\n hideTerms\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Transfer))\n }, [dispatch])\n\n return (\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\n )\n}\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { supplyAmount } = useAppSelector(selectWidgetState)\n const { decimals } = poolInfo.poolUnderlyingToken\n const supplyBigNumber = toBigNumber(upScale(supplyAmount!, decimals))\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n method='deposit'\n params={[supplyBigNumber]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n decodeLogs,\n downScale,\n formatMoney,\n PoolInfoType,\n sendTxAtom,\n} from '@huma-finance/shared'\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\nimport { useAtom } from 'jotai'\nimport React, { useEffect, useState } from 'react'\n\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleAction: () => void\n}\n\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\n const { account } = useWeb3React()\n const { poolUnderlyingToken } = poolInfo\n const [{ txReceipt }] = useAtom(sendTxAtom)\n const { symbol, decimals, address } = poolUnderlyingToken\n const [supplyAmount, setSupplyAmount] = useState<string | undefined>()\n\n useEffect(() => {\n if (txReceipt) {\n const events = decodeLogs(txReceipt.logs, transferAbi)\n if (events) {\n events.forEach((event) => {\n const { from, to, value } = event.args\n if (\n from.toLowerCase() === account?.toLowerCase() &&\n to.toLowerCase() === poolInfo.pool.toLowerCase()\n ) {\n setSupplyAmount(downScale(value.toString(), decimals))\n }\n })\n }\n }\n }, [account, address, decimals, poolInfo.pool, txReceipt])\n\n const content = [\n `You successfully supplied ${formatMoney(supplyAmount)} ${symbol}.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n POOL_NAME,\n POOL_TYPE,\n downScale,\n useLenderApproved,\n useLenderPosition,\n usePoolAllowance,\n usePoolInfo,\n usePoolUnderlyingTokenBalance,\n useWithdrawlLockoutInSeconds,\n} from '@huma-finance/shared'\nimport React, { useCallback, useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { Evaluation } from './1-Evaluation'\nimport { ChooseAmount } from './2-ChooseAmount'\nimport { ApproveAllowance } from './3-ApproveAllowance'\nimport { Transfer } from './6-Transfer'\nimport { Success } from './7-Success'\n\n/**\n * Lend pool supply props\n * @typedef {Object} LendSupplyProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool supply action is successful.\n */\nexport interface LendSupplyProps {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n handleClose: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function LendSupply({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n handleClose,\n handleSuccess,\n}: LendSupplyProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { decimals } = poolInfo?.poolUnderlyingToken || {}\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const { allowance } = usePoolAllowance(poolName, poolType, account)\n const [lenderApproved, refreshLenderApproved] = useLenderApproved(\n poolName,\n poolType,\n account,\n )\n const [, refreshLenderPosition] = useLenderPosition(\n poolName,\n poolType,\n account,\n )\n const withdrawlLockoutSeconds = useWithdrawlLockoutInSeconds(\n poolName,\n poolType,\n )\n const underlyingTokenBalance = usePoolUnderlyingTokenBalance(\n poolName,\n poolType,\n account,\n )\n const balanceWithoutDecimals = downScale(underlyingTokenBalance, decimals)\n\n useEffect(() => {\n if (!step && lenderApproved !== undefined) {\n const nextStep = lenderApproved\n ? WIDGET_STEP.ChooseAmount\n : WIDGET_STEP.Evaluation\n dispatch(setStep(nextStep))\n }\n }, [dispatch, lenderApproved, step])\n\n const handleApproveSuccess = useCallback(() => {\n refreshLenderApproved()\n }, [refreshLenderApproved])\n\n const handleSupplySuccess = useCallback(\n (blockNumber: number) => {\n refreshLenderPosition()\n if (handleSuccess) {\n handleSuccess(blockNumber)\n }\n },\n [handleSuccess, refreshLenderPosition],\n )\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n isLoading={lenderApproved === undefined}\n loadingTitle={`Supply ${poolInfo.poolUnderlyingToken.symbol}`}\n handleClose={handleClose}\n handleSuccess={handleSupplySuccess}\n >\n {step === WIDGET_STEP.Evaluation && (\n <Evaluation\n poolInfo={poolInfo}\n handleApproveSuccess={handleApproveSuccess}\n />\n )}\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount\n poolInfo={poolInfo}\n allowance={allowance}\n underlyingTokenBalance={balanceWithoutDecimals}\n withdrawlLockoutSeconds={withdrawlLockoutSeconds}\n />\n )}\n {step === WIDGET_STEP.ApproveAllowance && (\n <ApproveAllowance poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && (\n <Success poolInfo={poolInfo} handleAction={handleClose} />\n )}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Supply'\n errorReason='Sorry there was an error'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n isEmpty,\n PoolInfoType,\n timeUtil,\n useLastDepositTime,\n useWithdrawlLockoutInSeconds,\n} from '@huma-finance/shared'\nimport React, { useEffect, useState } from 'react'\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { ErrorModal } from '../../ErrorModal'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { LoadingModal } from '../../LoadingModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleClose: () => void\n}\n\nexport function CheckWithdrawable({\n poolInfo,\n handleClose,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { account } = useWeb3React()\n const withdrawlLockoutSeconds = useWithdrawlLockoutInSeconds(\n poolInfo.poolName,\n poolInfo.poolType,\n )\n const lastDepositTime = useLastDepositTime(\n poolInfo.poolName,\n poolInfo.poolType,\n account,\n )\n\n const { symbol } = poolInfo.poolUnderlyingToken\n const [status, setStatus] = useState<'checking' | 'error'>('checking')\n\n useEffect(() => {\n if (!isEmpty(withdrawlLockoutSeconds) && !isEmpty(lastDepositTime)) {\n const currentTimestamp = timeUtil.getUnixTimestamp()\n if (lastDepositTime! + withdrawlLockoutSeconds! > currentTimestamp) {\n setStatus('error')\n } else {\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\n }\n }\n }, [dispatch, lastDepositTime, withdrawlLockoutSeconds])\n\n if (status === 'error') {\n const errorMessage = `Your last deposit was on ${timeUtil.timestampToLL(\n lastDepositTime,\n )}. Depositors need to wait for ${timeUtil\n .secondsToDays(withdrawlLockoutSeconds)\n .toFixed(0)} days before withdrawal.`\n return (\n <ErrorModal\n title={`Withdraw ${symbol}`}\n errorReason='Withdraw too soon'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )\n }\n\n return (\n <LoadingModal\n title={`Withdraw ${symbol}`}\n description='Checking withdrawable amount...'\n />\n )\n}\n","import { BigNumber } from 'ethers'\nimport { downScale, PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setStep, setWithdrawAmount } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n lenderPosition: BigNumber\n poolInfo: PoolInfoType\n}\n\nexport function ChooseAmount({\n lenderPosition,\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { poolUnderlyingToken } = poolInfo\n const { symbol, decimals } = poolUnderlyingToken\n const [currentAmount, setCurrentAmount] = useState(0)\n const withdrawableAmount = downScale<number>(lenderPosition, decimals)\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n setCurrentAmount(newAmount)\n dispatch(setWithdrawAmount(newAmount))\n },\n [dispatch],\n )\n\n const handleAction = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Transfer))\n }, [dispatch])\n\n return (\n <ChooseAmountModal\n title={`Withdraw ${symbol}`}\n description1='Choose Amount'\n sliderMax={Number(withdrawableAmount)}\n currentAmount={currentAmount}\n tokenSymbol={symbol}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='withdraw'\n hideTerms\n />\n )\n}\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\n const dispatch = useAppDispatch()\n const { decimals } = poolInfo.poolUnderlyingToken\n const { withdrawAmount } = useAppSelector(selectWidgetState)\n const withdrawBigNumber = toBigNumber(upScale(withdrawAmount!, decimals))\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n method='withdraw'\n params={[withdrawBigNumber]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n decodeLogs,\n downScale,\n formatMoney,\n PoolInfoType,\n sendTxAtom,\n} from '@huma-finance/shared'\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\nimport { useAtom } from 'jotai'\nimport React, { useEffect, useState } from 'react'\n\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleAction: () => void\n}\n\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\n const { account } = useWeb3React()\n const { poolUnderlyingToken } = poolInfo\n const [{ txReceipt }] = useAtom(sendTxAtom)\n const { symbol, decimals, address } = poolUnderlyingToken\n const [withdrawAmount, setWithdrawAmount] = useState<string | undefined>()\n\n useEffect(() => {\n if (txReceipt) {\n const events = decodeLogs(txReceipt.logs, transferAbi)\n if (events) {\n events.forEach((event) => {\n const { from, to, value } = event.args\n if (\n from.toLowerCase() === poolInfo.pool.toLowerCase() &&\n to.toLowerCase() === account?.toLowerCase()\n ) {\n setWithdrawAmount(downScale(value.toString(), decimals))\n }\n })\n }\n }\n }, [account, address, decimals, poolInfo.pool, txReceipt])\n\n const content = [\n `You successfully withdrawn ${formatMoney(withdrawAmount)} ${symbol}.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useLenderPosition,\n usePoolInfo,\n} from '@huma-finance/shared'\nimport React, { useCallback, useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { CheckWithdrawable } from './1-CheckWithdrawble'\nimport { ChooseAmount } from './2-ChooseAmount'\nimport { Transfer } from './3-Transfer'\nimport { Success } from './4-Success'\n\n/**\n * Lend pool withdraw props\n * @typedef {Object} LendWithdrawProps\n * @property {POOL_NAME} poolName The name of the pool.\n * @property {POOL_TYPE} poolType The type of the pool.\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool withdraw action is successful.\n */\nexport type LendWithdrawProps = {\n poolName: keyof typeof POOL_NAME\n poolType: keyof typeof POOL_TYPE\n handleClose: () => void\n handleSuccess?: (blockNumber?: number) => void\n}\n\nexport function LendWithdraw({\n poolName: poolNameStr,\n poolType: poolTypeStr,\n handleClose,\n handleSuccess,\n}: LendWithdrawProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const poolName = POOL_NAME[poolNameStr]\n const poolType = POOL_TYPE[poolTypeStr]\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n const [lenderPosition, refreshLenderPosition] = useLenderPosition(\n poolName,\n poolType,\n account,\n )\n\n useEffect(() => {\n if (!step && lenderPosition) {\n dispatch(setStep(WIDGET_STEP.CheckWithdrawable))\n }\n }, [dispatch, lenderPosition, step])\n\n const handleWithdrawSuccess = useCallback(\n (blockNumber: number) => {\n refreshLenderPosition()\n if (handleSuccess) {\n handleSuccess(blockNumber)\n }\n },\n [handleSuccess, refreshLenderPosition],\n )\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen\n handleClose={handleClose}\n handleSuccess={handleWithdrawSuccess}\n >\n {(!step || step === WIDGET_STEP.CheckWithdrawable) && (\n <CheckWithdrawable poolInfo={poolInfo} handleClose={handleClose} />\n )}\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount poolInfo={poolInfo} lenderPosition={lenderPosition!} />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && (\n <Success poolInfo={poolInfo} handleAction={handleClose} />\n )}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Withdraw'\n errorReason='Sorry there was an error'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { Box, css, TablePagination, useTheme } from '@mui/material'\nimport Table from '@mui/material/Table'\nimport TableBody from '@mui/material/TableBody'\nimport TableCell from '@mui/material/TableCell'\nimport TableContainer from '@mui/material/TableContainer'\nimport TableHead from '@mui/material/TableHead'\nimport TableRow from '@mui/material/TableRow'\nimport * as React from 'react'\n\nimport { ColumnType } from '../utilTypes'\nimport { SeparatorIcon } from './icons'\n\ntype Props<T> = {\n columns: ColumnType<T>[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n rows?: any[]\n hideRowsPerPage?: boolean\n}\n\nexport function HumaTable<T>({\n columns,\n rows,\n hideRowsPerPage = false,\n}: Props<T>): React.ReactElement | null {\n const theme = useTheme()\n const [page, setPage] = React.useState(0)\n const [rowsPerPage, setRowsPerPage] = React.useState(5)\n const noPagination = rows ? rows.length <= 5 : true\n const rowperPageOptions = hideRowsPerPage ? [] : [5, 10, 25]\n\n const styles = {\n tableHeader: css`\n font-family: 'Uni-Neue-Regular';\n ${theme.cssMixins.rowVCentered}\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n `,\n tableBody: css`\n font-family: 'Uni-Neue-Regular';\n font-size: 14px;\n color: rgba(0, 0, 0, 0.87);\n `,\n }\n\n const handleChangePage = (event: unknown, newPage: number) => {\n setPage(newPage)\n }\n\n const handleChangeRowsPerPage = (\n event: React.ChangeEvent<HTMLInputElement>,\n ) => {\n setRowsPerPage(parseInt(event.target.value, 10))\n setPage(0)\n }\n\n if (!columns) {\n return null\n }\n\n return (\n <>\n <TableContainer>\n <Table aria-label='simple table'>\n <TableHead>\n <TableRow>\n {columns.map((column) => (\n <TableCell key={column.title} width={column.width}>\n <Box css={styles.tableHeader}>\n {!column.noSeparator && <SeparatorIcon />}\n <Box\n component='span'\n sx={{ marginLeft: column.noSeparator ? '0' : '12px' }}\n >\n {column.title}\n </Box>\n </Box>\n </TableCell>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {rows &&\n rows\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map((row) => (\n <TableRow key={row.id || row.name}>\n {columns.map((column, index) => (\n <TableCell\n // eslint-disable-next-line react/no-array-index-key\n key={`${column.dataIndex}-${index}`}\n component='th'\n scope='row'\n css={styles.tableBody}\n width={column.width}\n sx={column.style}\n >\n {column.dataIndex && (\n <Box\n component='span'\n sx={{\n display: 'flex',\n alignItems: 'center',\n marginLeft: column.noSeparator ? '0' : '12px',\n }}\n >\n {row[column.dataIndex]}\n </Box>\n )}\n {column.action && (\n <Box\n component='span'\n sx={{\n display: 'flex',\n alignItems: 'center',\n marginLeft: column.noSeparator ? '0' : '12px',\n lineHeight: 0,\n height: 0,\n }}\n >\n {column.action(row)}\n </Box>\n )}\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n {!noPagination && (\n <TablePagination\n size='small'\n sx={{\n '.MuiTablePagination-selectLabel': {\n fontSize: '12px',\n },\n '.MuiTablePagination-select': {\n fontSize: '12px',\n },\n '.MuiTablePagination-displayedRows': {\n fontSize: '12px',\n },\n '.MuiTablePagination-menuItem': {\n fontSize: '14px',\n },\n }}\n rowsPerPageOptions={rowperPageOptions}\n component='div'\n count={rows ? rows.length : 0}\n rowsPerPage={rowsPerPage}\n page={page}\n onPageChange={handleChangePage}\n onRowsPerPageChange={handleChangeRowsPerPage}\n />\n )}\n </>\n )\n}\n","import { gql, useQuery } from '@apollo/client'\nimport {\n CreditEvent,\n CreditEventText,\n downScale,\n isEmpty,\n PoolInfoType,\n timeUtil,\n useMQ,\n} from '@huma-finance/shared'\nimport { Box, css } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { useEffect, useState } from 'react'\n\nimport { HumaTable } from './HumaTable'\n\nconst GET_ACTIVITY = gql`\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`\n\ntype Props = {\n poolInfo: PoolInfoType\n targetEvents: CreditEvent[]\n}\n\ntype ActivityDataType = {\n id: string\n owner: string\n pool: string\n timestamp: string\n amount: string\n event: number\n eventText: string | undefined\n}\n\nconst columns = [\n { title: 'Action', dataIndex: 'eventText', noSeparator: true },\n {\n title: 'Amount',\n action: (record: { amount: string }) => {\n if (isEmpty(record.amount) || Number.isNaN(record.amount)) {\n return ''\n }\n return Number(record.amount).toFixed(2)\n },\n },\n { title: 'Date', dataIndex: 'timestamp' },\n]\n\nexport function Activity({\n poolInfo,\n targetEvents,\n}: Props): React.ReactElement | null {\n const { account } = useWeb3React()\n const { decimals } = poolInfo.poolUnderlyingToken\n const [events, setEvents] = useState<ActivityDataType[] | undefined>()\n const { data } = useQuery<{\n creditEvents: ActivityDataType[]\n }>(GET_ACTIVITY, {\n variables: {\n pool: poolInfo.pool,\n owner: account,\n event: targetEvents,\n },\n })\n const { isSmSize } = useMQ()\n\n const getPadding = () => {\n if (isSmSize) {\n return '16px 24px'\n }\n return '33px 48px'\n }\n\n useEffect(() => {\n if (!data?.creditEvents) {\n return\n }\n const result = data.creditEvents.map((item) => {\n const event = JSON.parse(JSON.stringify(item)) as ActivityDataType\n event.eventText = CreditEventText[item.event]\n event.amount = downScale(event.amount, decimals)\n event.timestamp = timeUtil.timestampToLL(Number(event.timestamp))\n return event\n })\n setEvents(result)\n }, [data?.creditEvents, decimals])\n\n const styles = {\n wrapper: css`\n margin-top: 71px;\n `,\n title: css`\n font-family: 'Uni-Neue-Black';\n font-size: 24px;\n color: #6b6572;\n margin-bottom: 14px;\n `,\n tableWrapper: css`\n background: #ffffff;\n box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);\n border-radius: 24px;\n padding: ${getPadding()};\n `,\n }\n\n if (!events) {\n return null\n }\n\n return (\n <Box css={styles.wrapper}>\n <Box css={styles.title}>Recent Activity</Box>\n <Box css={styles.tableWrapper}>\n <HumaTable columns={columns} rows={events} hideRowsPerPage={isSmSize} />\n </Box>\n </Box>\n )\n}\n","import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client'\n\nimport { WCProps } from '../utilTypes'\n\nexport function ApolloWrapper({\n uri,\n children,\n}: WCProps<{ uri: string }>): React.ReactElement | null {\n const client = new ApolloClient({\n uri,\n cache: new InMemoryCache(),\n })\n\n return <ApolloProvider client={client}>{children}</ApolloProvider>\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { PoolInfoType } from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\n\nimport useEA from '../../../hooks/useEA'\nimport { LoadingModal } from '../../LoadingModal'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\n\ntype Props = {\n poolInfo: PoolInfoType\n payerAddress: string\n superToken: string\n}\n\nexport function Evaluation({\n poolInfo,\n payerAddress,\n superToken,\n}: Props): React.ReactElement {\n const { account } = useWeb3React()\n const { checkingEA } = useEA()\n\n useEffect(() => {\n if (account) {\n checkingEA(\n {\n poolAddress: poolInfo.pool,\n borrowerWalletAddress: account,\n context: {\n receivable: {\n address: poolInfo.assetAddress!,\n },\n payerWalletAddress: payerAddress,\n superToken,\n },\n },\n WIDGET_STEP.ChooseAmount,\n )\n }\n }, [\n account,\n checkingEA,\n payerAddress,\n poolInfo.assetAddress,\n poolInfo.pool,\n superToken,\n ])\n\n return (\n <LoadingModal\n title='Checking Stream'\n description='Checking if the stream qualifies for factoring...'\n />\n )\n}\n","import {\n downScale,\n PoolInfoType,\n toBigNumber,\n upScale,\n useFeeManager,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setBorrowInfo, setStream } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n currentFlowRate: string\n}\n\nexport function ChooseAmount({\n poolInfo,\n currentFlowRate,\n}: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { approval } = useAppSelector(selectWidgetState)\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\n const [chargedFees, setChargedFees] = useState(0)\n const [currentAmount, setCurrentAmount] = useState(0)\n const borrowPeriodInSeconds = approval!.terms.intervalInDays * 24 * 60 * 60\n\n const getBorrowFlowrateAndAmount = useCallback(\n (borrowAmount: number) => {\n const currentFlowRateBN = toBigNumber(currentFlowRate)\n const borrowAmountBN = toBigNumber(\n upScale(borrowAmount, approval!.token.decimal),\n )\n\n const totalAmountInBorrowPeriod = currentFlowRateBN.mul(\n borrowPeriodInSeconds,\n )\n let borrowFlowrate = borrowAmountBN\n .mul(currentFlowRateBN)\n .div(totalAmountInBorrowPeriod)\n // To ensure enough flowRate due to round down when convert to string\n .add(1)\n\n // Can not borrow all the available flowrate\n if (borrowFlowrate.gte(currentFlowRateBN)) {\n borrowFlowrate = currentFlowRateBN.sub(1)\n }\n if (borrowAmountBN.gte(approval!.terms.creditLimit)) {\n borrowFlowrate = borrowFlowrate.sub(1)\n }\n\n // As borrowFlowrate adds 1, need to calculate the new accurate borrow amount\n const newBorrowAmountBN = borrowFlowrate\n .mul(totalAmountInBorrowPeriod)\n .div(currentFlowRateBN)\n const newBorrowAmount = downScale(\n newBorrowAmountBN,\n approval!.token.decimal,\n )\n\n return {\n borrowFlowrate: borrowFlowrate.toString(),\n borrowAmount: Number(newBorrowAmount),\n borrowAmountBN: newBorrowAmountBN.toString(),\n }\n },\n [approval, borrowPeriodInSeconds, currentFlowRate],\n )\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n if (approval) {\n setCurrentAmount(newAmount)\n setChargedFees(getFeesCharged(newAmount))\n }\n },\n [approval, getFeesCharged],\n )\n const handleAction = useCallback(() => {\n const { borrowFlowrate, borrowAmount, borrowAmountBN } =\n getBorrowFlowrateAndAmount(currentAmount)\n\n dispatch(\n setStream({\n borrowFlowrate,\n durationInSeconds: borrowPeriodInSeconds,\n }),\n )\n dispatch(\n setBorrowInfo({\n borrowAmount,\n borrowAmountBN,\n chargedFees,\n nextStep: WIDGET_STEP.ConfirmTransfer,\n }),\n )\n }, [\n borrowPeriodInSeconds,\n chargedFees,\n currentAmount,\n dispatch,\n getBorrowFlowrateAndAmount,\n ])\n\n if (!approval) {\n return null\n }\n\n return (\n <ChooseAmountModal\n title='Choose Amount'\n description1='Access up to 100% of your stream flowrate'\n sliderMax={Number(approval.terms.creditLimitFormatted)}\n currentAmount={currentAmount}\n tokenSymbol={approval.token.symbol}\n topLeft='Fees'\n topRight={`${chargedFees} ${approval.token.symbol}`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='Confirm Transfer'\n />\n )\n}\n","import { CHAINS, isEmpty } from '@huma-finance/shared'\nimport { useWeb3React } from '@web3-react/core'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ConfirmTransferModal } from '../../ConfirmTransferModal'\n\nexport function ConfirmTransfer(): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const { chainId } = useWeb3React()\n const { borrowAmount, approval } = useAppSelector(selectWidgetState)\n\n const handleAction = useCallback(() => {\n const step = CHAINS[chainId!].isTestnet\n ? WIDGET_STEP.ApproveAllowance\n : WIDGET_STEP.Permit\n dispatch(setStep(step))\n }, [chainId, dispatch])\n\n if (isEmpty(borrowAmount) || isEmpty(approval)) {\n return null\n }\n\n return (\n <ConfirmTransferModal\n title='Confirm transaction details'\n description={`Huma keeps your Tradable Stream NFT as collateral until it's fully paid.`}\n items={[\n { leftText: 'Tradable Stream', rightText: 'Huma' },\n {\n leftText: `${borrowAmount!.toFixed(2)} ${approval?.token.symbol}`,\n rightText: 'You',\n },\n ]}\n actionText='APPROVE TRANSFER'\n handleAction={handleAction}\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useDispatch()\n const { borrowAmountBN } = useAppSelector(selectWidgetState)\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Permit))\n }, [dispatch])\n\n return (\n <ApproveAllowanceModal\n poolInfo={poolInfo}\n allowanceAmount={borrowAmountBN!}\n handleSuccess={handleSuccess}\n spender={poolInfo.poolProcessor!}\n />\n )\n}\n","import {\n CHAINS,\n Erc2612,\n PoolInfoType,\n SuperfluidPoolProcessor,\n useERC2612Permit,\n useMount,\n} from '@huma-finance/shared'\nimport ERC2612Abi from '@huma-finance/shared/dist/abis/erc2612.json'\nimport PoolProcessorAbi from '@huma-finance/shared/dist/abis/SuperfluidPoolProcessor.json'\nimport { Contract, ethers } from 'ethers'\nimport React from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport {\n setError,\n setMultisend,\n setStep,\n} from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { LoadingModal } from '../../LoadingModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n payerAddress: string\n chainId: number\n borrower: string\n superToken: string\n}\n\nexport function Permit({\n poolInfo,\n payerAddress,\n chainId,\n borrower,\n superToken,\n}: Props): React.ReactElement | null {\n const dispatch = useDispatch()\n const { address: tokenAddress } = poolInfo.poolUnderlyingToken\n const { borrowAmountBN, stream } = useAppSelector(selectWidgetState)\n const { getERC2612PermitMessage, getTradableStreamPermitMessage } =\n useERC2612Permit()\n\n const getApproveAllowanceCallData = async () => {\n const erc2612PermitResult = await getERC2612PermitMessage(\n tokenAddress,\n poolInfo.poolProcessor!,\n borrowAmountBN!,\n )\n const tokenContract = new Contract(tokenAddress, ERC2612Abi) as Erc2612\n return tokenContract.interface.encodeFunctionData('permit', [\n poolInfo.poolProcessor!,\n borrowAmountBN!,\n erc2612PermitResult.nonce,\n erc2612PermitResult.deadline,\n erc2612PermitResult.v,\n erc2612PermitResult.r,\n erc2612PermitResult.s,\n ])\n }\n\n const getDrawdownCallData = async () => {\n const NFTPermitResult = await getTradableStreamPermitMessage(\n poolInfo.assetAddress!,\n borrower,\n superToken,\n payerAddress,\n poolInfo.poolProcessor!,\n stream!.borrowFlowrate!,\n stream!.durationInSeconds!,\n )\n\n const drawdownEncodedData = ethers.utils.defaultAbiCoder.encode(\n [\n 'address',\n 'address',\n 'address',\n 'int96',\n 'uint256',\n 'uint256',\n 'uint8',\n 'bytes32',\n 'bytes32',\n ],\n [\n borrower,\n superToken,\n payerAddress,\n stream?.borrowFlowrate,\n stream?.durationInSeconds,\n NFTPermitResult.expiry,\n NFTPermitResult.v,\n NFTPermitResult.r,\n NFTPermitResult.s,\n ],\n )\n const poolProcessorContract = new Contract(\n poolInfo.poolProcessor!,\n PoolProcessorAbi,\n ) as SuperfluidPoolProcessor\n\n return poolProcessorContract.interface.encodeFunctionData(\n 'mintAndDrawdown',\n [borrower, borrowAmountBN!, poolInfo.assetAddress!, drawdownEncodedData],\n )\n }\n\n useMount(async () => {\n try {\n const callData = []\n const addresses: string[] = []\n\n // The token in Goerli hasn't integrated ERC-2612\n if (!CHAINS[chainId].isTestnet) {\n const approveAllowanceCallData = await getApproveAllowanceCallData()\n addresses.push(tokenAddress)\n callData.push(approveAllowanceCallData)\n }\n\n const drawdownCalldata = await getDrawdownCallData()\n addresses.push(poolInfo.poolProcessor!)\n callData.push(drawdownCalldata)\n\n dispatch(setMultisend({ addresses, callData }))\n dispatch(setStep(WIDGET_STEP.Transfer))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n let errorMessage = e.reason || `Sign permit failed`\n if (e.code === 4001 || e.code === 'ACTION_REJECTED') {\n errorMessage = 'User has rejected the permit sign'\n }\n dispatch(setError({ errorMessage, errorReason: errorMessage }))\n }\n })\n\n return (\n <LoadingModal\n title='Sign Token and NFT'\n description='Waiting for signing...'\n />\n )\n}\n","import { PoolInfoType, useMultiSendContract } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { TxSendModal } from '../../TxSendModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function Transfer({ poolInfo }: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n const multiSendContract = useMultiSendContract()\n const { multisend } = useAppSelector(selectWidgetState)\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\n\n if (!multisend || !multiSendContract) {\n return null\n }\n\n return (\n <TxSendModal\n poolInfo={poolInfo}\n contract={multiSendContract}\n title='Transfer Tradable Stream and Money'\n method='multisend'\n params={[multisend.addresses, multisend.callData]}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import React from 'react'\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { TxDoneModal } from '../../TxDoneModal'\n\ntype Props = {\n handleAction: () => void\n}\n\nexport function Success({ handleAction }: Props): React.ReactElement {\n const { borrowAmount, approval } = useAppSelector(selectWidgetState)\n\n const content = [\n `${borrowAmount?.toFixed(2)} ${\n approval?.token.symbol\n } is now in your wallet.`,\n ]\n\n return <TxDoneModal handleAction={handleAction} content={content} />\n}\n","import { useWeb3React } from '@web3-react/core'\nimport { POOL_NAME, POOL_TYPE, usePoolInfo } from '@huma-finance/shared'\nimport React, { useEffect } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useAppSelector } from '../../../hooks/useRedux'\nimport { setStep } from '../../../store/widgets.reducers'\nimport { selectWidgetState } from '../../../store/widgets.selectors'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { ErrorModal } from '../../ErrorModal'\nimport { WidgetWrapper } from '../../WidgetWrapper'\nimport { Evaluation } from './1-Evaluation'\nimport { ChooseAmount } from './2-ChooseAmount'\nimport { ConfirmTransfer } from './3-ConfirmTransfer'\nimport { ApproveAllowance } from './4-ApproveAllowance'\nimport { Permit } from './5-Permit'\nimport { Transfer } from './6-Transfer'\nimport { Success } from './7-Success'\n\nexport type StreamFactoringBorrowProps = {\n poolName: POOL_NAME\n poolType: POOL_TYPE\n payerAddress: string\n superToken: string\n currentFlowRate: string\n isOpen: boolean\n handleClose: () => void\n handleSuccess: (blockNumber: number) => void\n}\n\nexport function StreamFactoringBorrow({\n poolName,\n poolType,\n payerAddress,\n superToken,\n currentFlowRate,\n isOpen,\n handleClose,\n handleSuccess,\n}: StreamFactoringBorrowProps): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account, chainId } = useWeb3React()\n const poolInfo = usePoolInfo(poolName, poolType)\n const { step, errorMessage } = useAppSelector(selectWidgetState)\n\n useEffect(() => {\n dispatch(setStep(WIDGET_STEP.Evaluation))\n }, [dispatch])\n\n if (!poolInfo) {\n return null\n }\n\n return (\n <WidgetWrapper\n isOpen={isOpen}\n handleClose={handleClose}\n handleSuccess={handleSuccess}\n >\n {step === WIDGET_STEP.Evaluation && (\n <Evaluation\n poolInfo={poolInfo}\n payerAddress={payerAddress}\n superToken={superToken}\n />\n )}\n {step === WIDGET_STEP.ChooseAmount && (\n <ChooseAmount poolInfo={poolInfo} currentFlowRate={currentFlowRate} />\n )}\n {step === WIDGET_STEP.ConfirmTransfer && <ConfirmTransfer />}\n {step === WIDGET_STEP.ApproveAllowance && (\n <ApproveAllowance poolInfo={poolInfo} />\n )}\n {step === WIDGET_STEP.Permit && account && chainId && (\n <Permit\n poolInfo={poolInfo}\n payerAddress={payerAddress}\n chainId={chainId}\n borrower={account}\n superToken={superToken}\n />\n )}\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\n {step === WIDGET_STEP.Done && <Success handleAction={handleClose} />}\n {step === WIDGET_STEP.Error && (\n <ErrorModal\n title='Stream Borrowing'\n errorMessage={errorMessage}\n handleOk={handleClose}\n />\n )}\n </WidgetWrapper>\n )\n}\n","import { Box, css, LinearProgress, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { useMQ } from '@huma-finance/shared'\nimport React from 'react'\n\nimport { ColumnType, WCProps } from '../../utilTypes'\nimport { HumaTable } from '../HumaTable'\n\ntype Props<T> = {\n items: T[] | undefined\n loading: boolean\n columns: ColumnType<T>[]\n title: string\n connectWalletDesc: string\n noItemDesc: string\n}\n\nexport function UpcomingList<T>({\n items,\n loading,\n columns,\n title,\n connectWalletDesc,\n noItemDesc,\n children,\n}: WCProps<Props<T>>): React.ReactElement {\n const theme = useTheme()\n const { isActive } = useWeb3React()\n const { isMdSize, isSmSize } = useMQ()\n\n const getPadding = () => {\n if (isMdSize) {\n return '0 8px 8px 8px'\n }\n return '0 16px 16px 16px'\n }\n\n const styles = {\n title: css`\n font-family: 'Uni-Neue-Black';\n color: ${theme.palette.text.primary};\n font-size: 24px;\n margin-bottom: 16px;\n `,\n description: css`\n font-family: 'Uni-Neue-Regular';\n color: ${theme.palette.text.primary};\n font-size: 1rem;\n `,\n tableWrapper: css`\n margin-top: 24px;\n padding: ${getPadding()};\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n `,\n progress: css`\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: 15px;\n `,\n }\n\n return (\n <Box>\n <Box css={styles.title}>{title}</Box>\n <Box css={styles.description} marginBottom='47px'>\n {!isActive && <Box component='span'>{connectWalletDesc}</Box>}\n {isActive && !items?.length && <Box>{noItemDesc}</Box>}\n {isActive && !!items?.length && (\n <Box css={styles.tableWrapper}>\n {loading && (\n <Box css={styles.progress}>\n <LinearProgress />\n </Box>\n )}\n <HumaTable\n columns={columns}\n rows={items}\n hideRowsPerPage={isSmSize}\n />\n </Box>\n )}\n {children}\n </Box>\n </Box>\n )\n}\n","import { Box, css, LinearProgress, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport {\n AccountStats,\n downScale,\n formatMoney,\n hasRFActiveLoan,\n PoolInfoType,\n timestampToLL,\n useMQ,\n usePoolUnderlyingToken,\n} from '@huma-finance/shared'\nimport React, { useEffect, useState } from 'react'\n\nimport { ColumnType } from '../../utilTypes'\nimport { HumaTable } from '../HumaTable'\nimport { ReceiptIcon } from '../icons'\n\ntype Props<T> = {\n title: 'Streams' | 'Invoices'\n poolInfo: PoolInfoType\n loading: boolean\n accountStats: AccountStats\n handlePayManually: (item: T) => void\n getColumns: (handlePayManually: (item: T) => void) => ColumnType<T>[]\n setItem?: (\n accountStats: AccountStats,\n ) => Promise<{ name?: string; payer?: string }>\n}\n\nexport function FactoredList<T>({\n title,\n poolInfo,\n loading,\n accountStats,\n handlePayManually,\n getColumns,\n setItem,\n}: Props<T>): React.ReactElement {\n const theme = useTheme()\n const { isMdSize } = useMQ()\n const { isActive } = useWeb3React()\n const { decimals } = usePoolUnderlyingToken(\n poolInfo.poolName,\n poolInfo.poolType,\n )\n const [factoredItem, setFactoredItem] = useState<Partial<T>>()\n const { creditRecord, receivableInfo } = accountStats\n const hasActiveLoan = hasRFActiveLoan(creditRecord, receivableInfo)\n\n useEffect(() => {\n const fetchData = async () => {\n if (creditRecord && receivableInfo?.receivableParam.gt(0) && decimals) {\n const id = receivableInfo.receivableParam.toString()\n const dueDate = timestampToLL(creditRecord.dueDate.toNumber())\n const { receivableAmount } = receivableInfo\n const { totalDue } = creditRecord\n let factoredItem = {\n id,\n due: dueDate,\n icon: <ReceiptIcon css={{ width: '24px' }} />,\n amount: formatMoney(downScale(receivableAmount.toString(), decimals)),\n factored: formatMoney(downScale(totalDue.toString(), decimals)),\n remained: formatMoney(\n downScale(receivableAmount.sub(totalDue).toString(), decimals),\n ),\n } as T\n if (setItem) {\n const customProps = await setItem(accountStats)\n factoredItem = { ...factoredItem, ...customProps }\n }\n setFactoredItem(factoredItem)\n }\n }\n fetchData()\n }, [accountStats, creditRecord, decimals, receivableInfo, setItem])\n\n const getPadding = () => {\n if (isMdSize) {\n return '0 8px 8px 8px'\n }\n return '0 16px 16px 16px'\n }\n\n const styles = {\n title: css`\n font-family: 'Uni-Neue-Black';\n color: ${theme.palette.text.primary};\n font-size: 24px;\n margin-bottom: 16px;\n `,\n description: css`\n font-family: 'Uni-Neue-Regular';\n color: ${theme.palette.text.primary};\n font-size: 1rem;\n `,\n tableWrapper: css`\n margin-top: 24px;\n padding: ${getPadding()};\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\n border: 1px solid #ffffff;\n border-radius: 24px;\n position: relative;\n `,\n progress: css`\n width: calc(100% - 30px);\n position: absolute;\n top: 0;\n left: 15px;\n `,\n }\n\n return (\n <Box>\n <Box css={styles.title}>Factored {title}</Box>\n <Box css={styles.description} marginBottom='47px'>\n {!isActive && (\n <Box component='span'>\n Please connect wallet to check your factored {title.toLowerCase()}.\n </Box>\n )}\n {isActive && !hasActiveLoan && (\n <Box component='span'>\n You don’t have any factored {title.toLowerCase()}.\n </Box>\n )}\n {isActive && hasActiveLoan && factoredItem && (\n <Box css={styles.tableWrapper}>\n {loading && (\n <Box css={styles.progress}>\n <LinearProgress />\n </Box>\n )}\n <HumaTable\n columns={getColumns(handlePayManually)}\n rows={[factoredItem]}\n />\n </Box>\n )}\n </Box>\n </Box>\n )\n}\n","import { EmotionJSX } from '@emotion/react/types/jsx-namespace'\nimport { AccountStats, PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { ColumnType } from '../../utilTypes'\nimport { FactoredList } from '../Factoring'\n\ntype FactoredStreamType = {\n id: string\n icon: EmotionJSX.Element\n name: string\n payer: string\n amount?: string | number\n factored?: string | number\n token: string\n tokenId: string\n flowrate: string\n flowrateMonth: string\n due?: string\n remained?: string | number\n}\n\ntype Props = {\n poolInfo: PoolInfoType\n loading: boolean\n accountStats: AccountStats\n handlePayManually: (item: FactoredStreamType) => void\n}\n\nconst getColumns = (): ColumnType<FactoredStreamType>[] => [\n {\n title: '',\n dataIndex: 'icon',\n noSeparator: true,\n width: 10,\n style: { padding: '0 0 0 16px' },\n },\n { title: 'Streams', dataIndex: 'name' },\n { title: 'Due', dataIndex: 'due' },\n { title: 'Amount', dataIndex: 'amount' },\n { title: 'Factored', dataIndex: 'factored' },\n { title: 'Remaining', dataIndex: 'remained' },\n]\n\nexport function SuperfluidFactoredList({\n poolInfo,\n loading,\n accountStats,\n handlePayManually,\n}: Props): React.ReactElement {\n const setItem = useCallback(\n () =>\n Promise.resolve({\n name: poolInfo?.extra?.superTokens?.[0].symbol ?? '',\n }),\n [poolInfo?.extra?.superTokens],\n )\n\n return (\n <FactoredList\n title='Streams'\n poolInfo={poolInfo}\n loading={loading}\n handlePayManually={handlePayManually}\n getColumns={getColumns}\n accountStats={accountStats}\n setItem={setItem}\n />\n )\n}\n","import { Box, Button, css } from '@mui/material'\n\ntype Props = {\n title: string\n className?: string\n handleClick: () => void\n disabled?: boolean\n}\n\nexport function TableActionButton({\n title,\n className,\n handleClick,\n disabled = false,\n}: Props): React.ReactElement {\n const styles = css`\n border: none;\n padding: 0;\n background: ${disabled ? 'unset !important' : 'inherit'};\n &:hover {\n border: none;\n }\n `\n\n return (\n <Button\n className={className}\n variant={disabled ? undefined : 'outlined'}\n onClick={handleClick}\n css={styles}\n disabled={disabled}\n >\n <Box>{title}</Box>\n </Button>\n )\n}\n","import { gql, useQuery } from '@apollo/client'\nimport { EmotionJSX } from '@emotion/react/types/jsx-namespace'\nimport {\n downScale,\n getWalletAddressAbbr,\n PoolInfoType,\n toBigNumber,\n} from '@huma-finance/shared'\nimport { Button } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { ColumnType } from '../../utilTypes'\nimport { TableActionButton } from '../buttons'\nimport { UpcomingList } from '../Factoring'\nimport { ReceiptIcon } from '../icons'\n\nconst GET_RECEIVED_STREAMS = gql`\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`\n\nexport type StreamItem = {\n id: string\n icon: EmotionJSX.Element\n token: string\n tokenId: string\n payer: string\n flowrate: string\n flowrateMonth: string\n}\n\ntype Stream = {\n id: string\n currentFlowRate: string\n sender: {\n id: string\n }\n token: {\n id: string\n symbol: string\n decimals: number\n }\n}\n\ntype Props = {\n hasActiveLoan: boolean\n poolInfo?: PoolInfoType\n loading: boolean\n handleGetPaid: (item: StreamItem) => void\n}\n\nconst getUpcomingColumns = (\n userHasActiveLoan: boolean,\n handleGetPaid: (id: StreamItem) => void,\n): ColumnType<StreamItem>[] => [\n {\n title: '',\n dataIndex: 'icon',\n noSeparator: true,\n width: 10,\n style: { padding: '0 0 0 16px' },\n },\n { title: 'Stream', dataIndex: 'token' },\n {\n title: 'Payer',\n dataIndex: 'payerAbbr',\n },\n { title: 'Flow rate', dataIndex: 'flowrateMonth' },\n {\n title: 'Get Paid',\n action: (record) => (\n <TableActionButton\n title='GET PAID NOW'\n handleClick={() => handleGetPaid(record)}\n disabled={userHasActiveLoan}\n />\n ),\n },\n]\n\nexport function SuperfluidUpcomingList({\n hasActiveLoan,\n poolInfo,\n loading,\n handleGetPaid,\n}: Props): React.ReactElement {\n const { account, isActive } = useWeb3React()\n const [streams, setStreams] = useState<StreamItem[] | undefined>()\n const { data } = useQuery<{ streams: Stream[] }>(GET_RECEIVED_STREAMS, {\n variables: {\n receiver: account ? account.toLowerCase() : undefined,\n tokenIds: poolInfo?.extra?.superTokens?.map((item) => item.id) ?? [],\n },\n })\n\n useEffect(() => {\n if (data?.streams?.length) {\n let result: Array<StreamItem | undefined> = data.streams.map((item) => {\n const ONE_MONTH_SECONDS = 30 * 24 * 60 * 60\n const flowrateMonth = downScale(\n toBigNumber(item.currentFlowRate).mul(ONE_MONTH_SECONDS),\n item.token.decimals,\n )\n if (Number(Number(flowrateMonth).toFixed(0)) > 0) {\n return {\n id: item.id,\n icon: <ReceiptIcon css={{ width: '24px' }} />,\n token: item.token.symbol,\n tokenId: item.token.id,\n payer: item.sender.id,\n payerAbbr: getWalletAddressAbbr(item.sender.id),\n flowrate: item.currentFlowRate,\n flowrateMonth: `${Number(flowrateMonth).toFixed(0)}/mo`,\n }\n }\n return undefined\n })\n result = result.filter((item) => !!item)\n setStreams(result as StreamItem[])\n }\n }, [data])\n\n const goToCreateStream = useCallback(() => {}, [])\n\n return (\n <UpcomingList<StreamItem>\n items={streams}\n loading={loading}\n columns={getUpcomingColumns(hasActiveLoan, handleGetPaid)}\n title='Ongoing Streams'\n connectWalletDesc='Please connect wallet to check your ongoing streams.'\n noItemDesc='You don’t have any ongoing streams eligible for factoring. For now, you can click the button\n below to create streams.'\n >\n {isActive && (\n <Button\n onClick={goToCreateStream}\n type='link'\n size='small'\n variant='contained'\n sx={{ marginTop: '20px' }}\n href='https://app.superfluid.finance/'\n target='_blank'\n >\n CREATE STREAM\n </Button>\n )}\n </UpcomingList>\n )\n}\n","import { Box } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport {\n CreditEvent,\n POOL_NAME,\n POOL_TYPE,\n PoolMap,\n PoolSubgraphMap,\n useFactoring,\n} from '@huma-finance/shared'\nimport React from 'react'\n\nimport { Activity } from '../Activity'\nimport { ApolloWrapper } from '../ApolloWrapper'\nimport { StreamFactoringBorrow } from '../StreamFactoring/borrow'\nimport { SuperfluidFactoredList } from './SuperfluidFactoredList'\nimport { StreamItem, SuperfluidUpcomingList } from './SuperfluidUpcomingList'\n\nexport function SuperfluidFactoring(): React.ReactElement {\n const poolName = POOL_NAME.Superfluid\n const { chainId } = useWeb3React()\n const {\n accountStats,\n accountHasActiveLoan,\n actionType,\n loading,\n poolInfo,\n modalIsOpen,\n selectedItem,\n styles,\n handleGetPaid,\n handleGetPaidSuccess,\n handlePayManually,\n handleClose,\n } = useFactoring<StreamItem>(poolName, POOL_TYPE.Stream)\n\n return (\n <Box css={styles.wrapper}>\n <Box css={styles.title}>Stream Factoring</Box>\n <Box css={styles.description} marginBottom='47px'>\n {PoolMap.Stream[poolName]?.borrowDesc}\n </Box>\n {poolInfo && (\n <SuperfluidFactoredList\n poolInfo={poolInfo}\n handlePayManually={handlePayManually}\n loading={loading && actionType === 'payment'}\n accountStats={accountStats}\n />\n )}\n <ApolloWrapper uri={poolInfo?.extra?.subgraph!}>\n <SuperfluidUpcomingList\n poolInfo={poolInfo}\n handleGetPaid={handleGetPaid}\n hasActiveLoan={accountHasActiveLoan}\n loading={loading && actionType === 'borrow'}\n />\n </ApolloWrapper>\n <ApolloWrapper uri={PoolSubgraphMap[chainId!]?.subgraph}>\n {poolInfo && (\n <Activity\n poolInfo={poolInfo}\n targetEvents={[\n CreditEvent.DrawdownMadeWithReceivable,\n CreditEvent.PaymentMade,\n CreditEvent.ReceivedPaymentProcessed,\n ]}\n />\n )}\n </ApolloWrapper>\n {poolInfo && selectedItem && actionType === 'borrow' && (\n <StreamFactoringBorrow\n poolName={POOL_NAME.Superfluid}\n poolType={POOL_TYPE.Stream}\n payerAddress={selectedItem.payer}\n superToken={selectedItem.tokenId}\n currentFlowRate={selectedItem.flowrate}\n isOpen={modalIsOpen}\n handleClose={handleClose}\n handleSuccess={handleGetPaidSuccess}\n />\n )}\n </Box>\n )\n}\n","import {\n Action,\n ActionCreator,\n AnyAction,\n configureStore,\n ThunkAction,\n} from '@reduxjs/toolkit'\n\nimport widgetsReducers from './widgets.reducers'\n\nexport const store = configureStore({\n reducer: {\n widget: widgetsReducers,\n },\n})\n\nexport type AppDispatch = typeof store.dispatch\nexport type RootState = ReturnType<typeof store.getState>\nexport type AppThunk<ReturnType = void> = ThunkAction<\n ReturnType,\n RootState,\n unknown,\n Action<string>\n>\nexport type AppActionThunk<ReturnType = void> = ActionCreator<\n ThunkAction<ReturnType, RootState, unknown, AnyAction>\n>\n","import { Breakpoints } from '@mui/system'\n\nexport const breakpoints: Partial<\n {\n step: number\n unit: string\n } & Breakpoints\n> = {\n values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },\n}\n","/**\n * This file can be used to override default props and styles on the various Material components\n * see: https://mui.com/customization/theme-components/\n */\nimport { Theme, ThemeOptions } from '@mui/material'\n\nexport function components(theme: Theme): ThemeOptions['components'] {\n return {\n MuiButton: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n contained: {\n // align outlined vs contained borders\n border: '1px solid transparent',\n background:\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',\n },\n outlined: {\n '.MuiBox-root': {\n background:\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',\n backgroundClip: 'text',\n textFillColor: 'transparent',\n },\n },\n root: {\n fontFamily: 'Uni-Neue-Bold',\n fontSize: '15px',\n borderRadius: '32px',\n '&.MuiButton-containedPrimary': {\n '&:hover': {\n backgroundColor: theme.palette.primary.main,\n },\n boxShadow:\n '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',\n },\n '&.MuiButton-outlinedPrimary': {\n '&:hover': {\n backgroundColor: theme.palette.common.white,\n },\n },\n textTransform: 'none',\n '&.Mui-disabled': {\n border: 'none',\n background: 'rgba(0, 0, 0, 0.12)',\n boxShadow: 'unset',\n },\n },\n },\n },\n MuiButtonBase: {\n defaultProps: {},\n },\n MuiCssBaseline: {\n styleOverrides: {\n dd: {\n margin: 0,\n },\n dl: {\n margin: 0,\n },\n dt: {\n margin: 0,\n },\n },\n },\n }\n}\n","export const coreThemeConstants = {\n borderRadius: {\n md: 4,\n },\n fontFamily: [\n 'Roboto',\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n '\"Helvetica Neue\"',\n 'Arial',\n 'sans-serif',\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n ].join(','),\n letterSpacing: {\n lg: '2px',\n md: '1px',\n sm: '0.45px',\n xs: '0.25px',\n },\n lineHeight: {\n lg: 1.4, // 22.4px on 16\n md: 1.1875, // 19px on 16, 47.5 on 40\n xl: 1.5, // 24px on 16\n },\n spacingBase: 8, // 8px grid\n}\n","import { css, SerializedStyles } from '@emotion/react'\nimport { createTheme } from '@mui/material'\n\nimport { coreThemeConstants } from './coreThemeConstants'\n\nconst theme = createTheme({\n spacing: coreThemeConstants.spacingBase,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n} as any)\n\nexport const cssMixins = {\n appHeaderHeight: '80px',\n appFooterHeight: '80px',\n colCentered: css`\n flex-direction: column;\n align-items: center;\n display: flex;\n justify-content: center;\n `,\n colHCentered: css`\n flex-direction: column;\n display: flex;\n justify-content: center;\n `,\n colStretch: css`\n display: flex;\n flex-direction: column;\n `,\n colVCentered: css`\n flex-direction: column;\n align-items: center;\n display: flex;\n `,\n rowCentered: css`\n align-items: center;\n display: flex;\n justify-content: center;\n `,\n rowHCentered: css`\n display: flex;\n justify-content: center;\n `,\n rowStretch: css`\n display: flex;\n `,\n rowSpaceBetweened: css`\n display: flex;\n justify-content: space-between;\n `,\n rowFlexEnd: css`\n justify-content: flex-end;\n display: flex;\n `,\n rowVCentered: css`\n align-items: center;\n display: flex;\n `,\n spaceSimpleH: (spacing: number): SerializedStyles => css`\n margin-right: ${theme.spacing(spacing)};\n\n &:last-child {\n margin-right: 0;\n }\n `,\n spaceSimpleV: (spacing: number): SerializedStyles => css`\n margin-bottom: ${theme.spacing(spacing)};\n\n &:last-child {\n margin-bottom: 0;\n }\n\n + & {\n margin-top: ${theme.spacing(spacing)};\n }\n `,\n stretchAll: css`\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n `,\n stretchBottom: css`\n right: 0;\n bottom: 0;\n left: 0;\n `,\n stretchTop: css`\n top: 0;\n right: 0;\n left: 0;\n `,\n}\n","import { ThemeOptions } from '@mui/material'\n\nimport { coreThemeConstants } from './coreThemeConstants'\n\nexport const shape: ThemeOptions['shape'] = {\n borderRadius: coreThemeConstants.borderRadius.md,\n}\n","import { ThemeOptions } from '@mui/material'\nimport { coreThemeConstants } from './coreThemeConstants'\n\nexport const typography: ThemeOptions['typography'] = {\n body1: {\n fontWeight: 400,\n fontSize: '1.5rem',\n letterSpacing: coreThemeConstants.letterSpacing.md,\n lineHeight: coreThemeConstants.lineHeight.lg,\n },\n body2: {\n fontWeight: 400,\n fontSize: '1rem',\n letterSpacing: coreThemeConstants.letterSpacing.xs,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n body2Small: {\n fontSize: '0.875rem',\n fontWeight: 400,\n letterSpacing: coreThemeConstants.letterSpacing.xs,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n fontFamily: coreThemeConstants.fontFamily,\n fontWeightBold: 600,\n fontWeightLight: 300,\n fontWeightMedium: 500,\n fontWeightRegular: 400,\n h1: {\n /**\n * h1 in design\n * Used for\n * - title in ProductCard\n * - Apy value in ProductCard\n * - title in protocol-position block\n */\n fontSize: '1.5rem',\n fontWeight: 900,\n letterSpacing: coreThemeConstants.letterSpacing.xs,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h2: {\n /**\n * h2 in design\n * Used for\n * - amount in small AmountDetail\n * - Alert titles\n */\n fontSize: '1.25rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.sm,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h3: {\n /**\n * h3 in design\n * Used for\n * - Secondary headers in below fold content\n */\n fontSize: '1rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.md,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h3Large: {\n /**\n * h3 in design\n * Used for\n * - Secondary headers in below fold content\n */\n fontSize: '1.875rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.md,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h4: {\n /**\n * Used for\n * - large feature text on product home pages\n */\n fontSize: '2.5rem',\n fontWeight: 700,\n letterSpacing: coreThemeConstants.letterSpacing.lg,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h5: {\n /**\n * Used for\n * - main title of scenes,\n */\n fontSize: '1.75rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.md,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n h6: {\n fontSize: '1.25rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.sm,\n lineHeight: coreThemeConstants.lineHeight.md,\n color: 'rgba(0, 0, 0, 0.87)',\n },\n labsSmall: {\n fontSize: '0.75rem',\n },\n nav: {\n fontSize: '0.875rem',\n fontWeight: 400,\n letterSpacing: coreThemeConstants.letterSpacing.sm,\n lineHeight: coreThemeConstants.lineHeight.md,\n },\n navSub: {\n fontSize: '0.75rem',\n fontWeight: 500,\n letterSpacing: coreThemeConstants.letterSpacing.md,\n // lineHeight: '1rem',\n },\n}\n","import { createTheme } from '@mui/material'\n\nimport { breakpoints } from './breakpoints'\nimport { components } from './components'\nimport { coreThemeConstants } from './coreThemeConstants'\nimport { cssMixins } from './cssMixins'\nimport { paletteCore } from './palette'\nimport { shape } from './shape'\nimport { typography } from './typography'\n\nexport * from './components'\n\nconst themeBase = createTheme({\n breakpoints,\n cssMixins,\n palette: paletteCore,\n shape,\n spacing: coreThemeConstants.spacingBase,\n typography,\n})\n\nexport const themeHuma = createTheme(themeBase, {\n components: components(themeBase),\n})\n","import './index.css'\n\nimport { JsonRpcProvider } from '@ethersproject/providers'\nimport {\n Provider as Web3Provider,\n ProviderProps as Web3Props,\n supportedChainId,\n} from '@huma-finance/shared'\nimport { ThemeProvider } from '@mui/material'\nimport { Provider as Eip1193Provider } from '@web3-react/types'\nimport { Provider as AtomProvider } from 'jotai'\nimport { useCallback, useEffect, useState } from 'react'\nimport { Provider as ReduxProvider } from 'react-redux'\n\nimport { ChainNotSupportedModal } from './components/ChainNotSupportedModal'\nimport {\n CreditLineBorrow,\n CreditLineBorrowProps,\n} from './components/CreditLine/borrow'\nimport {\n CreditLinePayment,\n CreditLinePaymentProps,\n} from './components/CreditLine/payment'\nimport {\n InvoiceFactoringBorrow,\n InvoiceFactoringBorrowProps,\n} from './components/InvoiceFactoring/borrow'\nimport {\n InvoiceFactoringPayment,\n InvoiceFactoringPaymentProps,\n} from './components/InvoiceFactoring/payment'\nimport { LendSupply, LendSupplyProps } from './components/Lend/supply'\nimport { LendWithdraw, LendWithdrawProps } from './components/Lend/withdraw'\nimport { SuperfluidFactoring } from './components/SuperfluidFactoring'\nimport { store } from './store'\nimport { themeHuma } from './theme'\nimport { WCProps } from './utilTypes'\n\n/**\n * Mapping of your JSON-RPC connections indexed by chainId\n * @typedef {Object} JsonRpcConnectionMap\n * @property {Object.<number, string|Array<string>|JsonRpcProvider|Array<JsonRpcProvider>>} chainId Chain id to map the JSON-RPC URL/URLs or JsonRpcProvider/JsonRpcProviders\n */\ntype JsonRpcConnectionMap = {\n [chainId: number]: string | string[] | JsonRpcProvider | JsonRpcProvider[]\n}\n\n/**\n * Object representing the props passed to web3 provider\n * @typedef {Object} WidgetProps\n * @property {desiredChainId|undefined} desiredChainId Optional desired chain id, will trigger the switch network action if different from the current chain id\n * @property {JsonRpcConnectionMap|undefined} jsonRpcUrlMap Optional mapping of your JSON-RPC connections indexed by chainId\n * @property {Eip1193Provider|JsonRpcProvider|null|undefined} provider Optional EIP-1193 provider or JsonRpc Provider\n */\ntype WidgetProps = {\n handleClose?: () => void\n desiredChainId?: number\n jsonRpcUrlMap?: JsonRpcConnectionMap\n provider?: Eip1193Provider | JsonRpcProvider | null\n}\n\nfunction Widget(props: WCProps<WidgetProps>) {\n const { children, desiredChainId } = props\n const { ethereum } = window\n // @ts-ignore\n const netWorkVersion = ethereum?.networkVersion || ethereum?.chainId\n const [currentChainId, setCurrentChainId] = useState<number | undefined>(\n netWorkVersion ? Number(netWorkVersion) : undefined,\n )\n const chainSupported = !!supportedChainId(currentChainId)\n const [chainNotSupportedOpen, setChainNotSupportedOpen] = useState(false)\n\n useEffect(() => {\n setCurrentChainId(netWorkVersion ? Number(netWorkVersion) : undefined)\n }, [netWorkVersion])\n\n useEffect(() => {\n if (chainSupported) {\n setChainNotSupportedOpen(false)\n } else {\n setChainNotSupportedOpen(true)\n }\n }, [chainSupported])\n\n useEffect(() => {\n const chainChangeListener = (chainId: number) => {\n setCurrentChainId(chainId)\n }\n\n if (window.ethereum) {\n // @ts-ignore\n window.ethereum?.on('chainChanged', chainChangeListener)\n }\n return () => {\n if (window.ethereum) {\n // @ts-ignore\n window.ethereum?.removeListener('chainChanged', chainChangeListener)\n }\n }\n }, [])\n\n useEffect(() => {\n if (\n window.ethereum &&\n desiredChainId &&\n currentChainId !== desiredChainId\n ) {\n const changeNetwork = async () => {\n try {\n // @ts-ignore\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: `0x${Number(desiredChainId).toString(16)}` }],\n })\n } catch (error) {\n console.error(error)\n }\n }\n changeNetwork()\n }\n }, [currentChainId, desiredChainId])\n\n const handleCloseCallback = useCallback(() => {\n setChainNotSupportedOpen(false)\n }, [])\n\n if (!chainSupported) {\n return (\n <ThemeProvider theme={themeHuma}>\n <ReduxProvider store={store}>\n <ChainNotSupportedModal\n isOpen={chainNotSupportedOpen}\n handleClose={handleCloseCallback}\n />\n </ReduxProvider>\n </ThemeProvider>\n )\n }\n\n return (\n <ThemeProvider theme={themeHuma}>\n <ReduxProvider store={store}>\n <Web3Provider {...(props as Web3Props)}>\n <AtomProvider>{children}</AtomProvider>\n </Web3Provider>\n </ReduxProvider>\n </ThemeProvider>\n )\n}\n\n/**\n * Invoice factoring pool borrow widget props\n * @typedef {Object} InvoiceFactoringBorrowWidgetProps\n * @property {InvoiceFactoringBorrowProps} InvoiceFactoringBorrowProps - Invoice factoring pool borrow props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype InvoiceFactoringBorrowWidgetProps = InvoiceFactoringBorrowProps &\n WidgetProps\n\n/**\n * Invoice factoring borrow widget\n *\n * @param {InvoiceFactoringBorrowProps | WidgetProps} props - The invoice factoring pool borrow widget props.\n * @returns Invoice factoring pool borrow widget component\n */\nexport function InvoiceFactoringBorrowWidget(\n props: InvoiceFactoringBorrowWidgetProps,\n) {\n return (\n <Widget {...props}>\n <InvoiceFactoringBorrow {...props} />\n </Widget>\n )\n}\n\n/**\n * Invoice factoring pool payment widget props\n * @typedef {Object} InvoiceFactoringPaymentWidgetProps\n * @property {InvoiceFactoringPaymentProps} InvoiceFactoringPaymentProps - Invoice factoring pool payment props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype InvoiceFactoringPaymentWidgetProps = InvoiceFactoringPaymentProps &\n WidgetProps\n\n/**\n * Invoice factoring payment widget\n *\n * @param {InvoiceFactoringPaymentProps | WidgetProps} props - The invoice factoring pool payment widget props.\n * @returns Invoice factoring pool payment widget component\n */\nexport function InvoiceFactoringPaymentWidget(\n props: InvoiceFactoringPaymentWidgetProps,\n) {\n return (\n <Widget {...props}>\n <InvoiceFactoringPayment {...props} />\n </Widget>\n )\n}\n\n/**\n * Credit line pool borrow widget props\n * @typedef {Object} CreditLineBorrowWidgetProps\n * @property {CreditLineBorrowProps} CreditLineBorrowProps - Credit line pool borrow props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype CreditLineBorrowWidgetProps = CreditLineBorrowProps & WidgetProps\n\n/**\n * Credit line borrow widget\n *\n * @param {CreditLineBorrowProps | WidgetProps} props - The credit line pool borrow widget props.\n * @returns Credit line pool borrow widget component\n */\nexport function CreditLineBorrowWidget(props: CreditLineBorrowWidgetProps) {\n return (\n <Widget {...props}>\n <CreditLineBorrow {...props} />\n </Widget>\n )\n}\n\n/**\n * Credit line pool payment widget props\n * @typedef {Object} CreditLinePaymentWidgetProps\n * @property {CreditLinePaymentProps} CreditLinePaymentProps - Credit line pool payment props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype CreditLinePaymentWidgetProps = CreditLinePaymentProps & WidgetProps\n\n/**\n * Credit line payment widget\n *\n * @param {CreditLinePaymentProps | WidgetProps} props - The credit line pool payment widget props.\n * @returns Credit line pool payment widget component\n */\nexport function CreditLinePaymentWidget(props: CreditLinePaymentWidgetProps) {\n return (\n <Widget {...props}>\n <CreditLinePayment {...props} />\n </Widget>\n )\n}\n\n/**\n * Lend pool supply widget props\n * @typedef {Object} LendSupplyWidgetProps\n * @property {LendSupplyProps} LendSupplyProps - Lend pool supply props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype LendSupplyWidgetProps = LendSupplyProps & WidgetProps\n\n/**\n * Lend supply widget\n *\n * @param {LendSupplyProps | WidgetProps} props - The lend pool supply widget props.\n * @returns Lend pool supply widget component\n */\nexport function LendSupplyWidget(props: LendSupplyWidgetProps) {\n return (\n <Widget {...props}>\n <LendSupply {...props} />\n </Widget>\n )\n}\n\n/**\n * Lend pool withdraw widget props\n * @typedef {Object} LendWithdrawWidgetProps\n * @property {LendWithdrawProps} LendWithdrawProps - Lend pool withdraw props.\n * @property {WidgetProps} WidgetProps - Widget general props.\n */\ntype LendWithdrawWidgetProps = LendWithdrawProps & WidgetProps\n\n/**\n * Lend withdraw widget\n *\n * @param {LendWithdrawProps | WidgetProps} props The lend pool withdraw widget props\n * @returns Lend pool withdraw widget component\n */\nexport function LendWithdrawWidget(props: LendWithdrawWidgetProps) {\n return (\n <Widget {...props}>\n <LendWithdraw {...props} />\n </Widget>\n )\n}\n\n/**\n * Superfluid factoring widget\n *\n * @param {WidgetProps} props - The superfluid factoring widget props.\n * @returns Superfluid factoring widget component\n */\nexport function SuperfluidFactoringWidget(props: WidgetProps) {\n return (\n <Widget {...props}>\n <SuperfluidFactoring />\n </Widget>\n )\n}\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_toPrimitive","input","hint","prim","toPrimitive","undefined","res","call","TypeError","String","Number","_toPropertyKey","arg","key","_defineProperty","value","toPropertyKey","Object","defineProperty","enumerable","configurable","writable","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","i","_i","_s","_e","_x","_r","_arr","_n","_d","next","push","length","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","toString","slice","name","from","test","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","module","exports","__esModule","require$$0","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","Function","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","useAppDispatch","useDispatch","useAppSelector","useSelector","WIDGET_STEP","initialWidgetState","widgetSlice","createSlice","initialState","reducers","resetState","errorReason","errorMessage","step","approval","borrowAmount","borrowAmountBN","chargedFees","borrowAmountNet","remainder","tokenId","paymentAmount","remainDueAmount","stream","multisend","supplyAmount","withdrawAmount","setStep","_ref","payload","setApproval","_ref2","terms","creditLimit","nextStep","setBorrowInfo","_ref3","setTokenId","_ref4","setPaymentAmount","_ref5","setSupplyAmount","_ref6","setWithdrawAmount","_ref7","setStream","_ref8","_state$stream","_objectSpread","setMultisend","_ref9","setError","_ref10","_widgetSlice$actions","actions","reducer","_path","_extends","React","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","_path24","_path25","_path26","_path27","_path28","_defs","ReceiptIcon","props","_jsx","ReceiptSvg","SeparatorIcon","SeparatorSvg","LoaderIcon","LoaderSvg","SorryIcon","SorrySvg","CheckIcon","CheckSvg","CheckGreenIcon","CheckGreenSvg","CheckCircleIcon","CheckCircleSvg","AutoPaybackIcon","AutoPaybackSvg","ApproveLenderIcon","ApproveLenderSvg","UsdcIcon","UsdcSvg","getIcon","icon","ErrorModal","title","handleOk","_ref$okText","okText","_ref$shouldResetState","shouldResetState","theme","useTheme","dispatch","useResetAtom","txAtom","styles","wrapper","css","_templateObject","header","_templateObject2","cssMixins","rowHCentered","sorry","_templateObject3","content","_templateObject4","errorIcon","_templateObject5","messageWrapper","_templateObject6","_templateObject7","okButton","_templateObject8","handleCloseModal","useCallback","_jsxs","Box","children","Typography","variant","ErrorOutlineIcon","Tooltip","placement","Button","onClick","primaryPurple","primaryBlueLight","pendingBlue","pendingBlueMid","pendingBlueLight","warningRed","warningRedLight","warningRedPastel","darkBackground","white","black","orange","yellow","grey","green","blue","paletteCore","alert","contrastText","dark","light","main","background","default","paper","common","divider","superDark","superLight","mode","primary","secondary","success","text","tertiary","quaternary","warning","HumaModal","isOpen","onClose","overflow","overflowY","_ref$width","width","_ref$padding","padding","_ref$disableBackdropC","disableBackdropClick","_useMQ","useMQ","isXsSize","process","env","NODE_ENV","handleClose","reason","Dialog","disableScrollLock","maxWidth","fullScreen","open","PaperProps","style","borderRadius","event","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","HumaModalHeader","hideClose","allowBack","_ref$onBack","onBack","_ref$height","height","_excluded","buttonBackWrapper","spacing","buttonClose","palette","buttonCloseWrapper","headerBand","ChevronLeftOutlinedIcon","CloseIcon","ChainNotSupportedModal","selectWidgetState","widget","map","_EMOTION_STRINGIFIED_CSS_ERROR__","HumaLoading","_ref2$fullScreen","_ref2$minHeight","minHeight","pathLength","_useState","useState","_useState2","count","setCount","intervalTime","useEffect","interval","setInterval","element","document","querySelector","concat","visibility","pre","elements","querySelectorAll","clearInterval","rowCentered","id","WrapperModal","subTitle","bottom","LoadingModal","description","_ref$hideLoader","hideLoader","loader","WidgetWrapper","_ref$isLoading","isLoading","_ref$loadingTitle","loadingTitle","handleSuccess","_useAppSelector","_useAtom","useAtom","sendTxAtom","_useAtom2","_useAtom2$","failReason","txReceipt","isTxFailed","Done","blockNumber","checkIsDev","window","location","hostname","startsWith","envUtil","useEA","_useWeb3React","useWeb3React","chainId","checkingEA","_callee","_callee$","_context","EAService","approve","t0","EARejectionError","EARejectMessage","EARejectReason","message","_x2","Evaluation","poolInfo","handleApprove","_useEA","account","status","setStatus","fetchData","poolAddress","pool","borrowerWalletAddress","assetAddress","checkWrapper","rowVCentered","checkIcon","congratsWrapper","goToNextStep","ChooseAmount","sx","marginBottom","src","spinner","alt","_Fragment","marginLeft","ChooseAmountModal","tokenIcon","description1","description2","currentAmount","sliderMax","tokenSymbol","topLeft","topRight","downLeft","downRight","_ref$actionText","actionText","payoffAmount","_ref$hideTerms","hideTerms","_ref$type","handleChangeAmount","handleAction","inputTouched","setInputTouched","chosenAmountWrapper","chosenAmount","chosenAmountSymbol","inputAmountWrapper","inputAmount","rowSpaceBetweened","inputField","maxButton","_templateObject9","amountAvailable","_templateObject10","editIcon","_templateObject11","_templateObject12","slider","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","handleSliderChange","newValue","handleInputChange","handleSetMax","handleIncrement","newAmount","handleDecrement","handlePayoff","component","fontSize","size","className","toFixed","ArrowDropUpIcon","ArrowDropDownIcon","Slider","max","min","onChange","Input","placeholder","createElement","Divider","disabled","toUpperCase","accountStats","poolUnderlyingToken","symbol","decimals","_useCLFeeManager","useCLFeeManager","poolName","getFeesCharged","setChargedFees","_useState3","_useState4","setCurrentAmount","creditRecordStatic","creditAvailableAmount","newChargedFees","Transfer","upScale","aprInBps","BottomButton","_ref$disabled","ViewOnExplorer","txHash","chain","CHAINS","openInNewTab","explorer","ApproveAllowanceModal","_ref$showAutoPayback","showAutoPayback","allowanceAmount","spender","provider","poolUnderlyingTokenContract","usePoolUnderlyingTokenContract","poolType","send","waitingForAccept","TxStateType","New","Success","iconWrapper","sendApprove","contract","params","MaxUint256","useMount","ApproveAllowance","TxSendModal","poolContract","usePoolContract","_useCLPoolAllowance","useCLPoolAllowance","allowance","gte","toBigNumber","TxDoneModal","colVCentered","check","doneButton","item","marginTop","creditRecord","dueDate","timeUtil","timestampToLL","toNumber","CreditLineBorrow","poolNameStr","poolTypeStr","POOL_NAME","POOL_TYPE","usePoolInfo","_useAccountStats","useAccountStats","_useAccountStats2","refreshAccountStats","accountState","CreditState","Approved","approveCallback","totalDueAmount","_poolInfo$poolUnderly","payAmount","gt","paymentBigNumber","payedAmount","setPayedAmount","_decodeLogs","decodeLogs","logs","transferAbi","_decodeLogs2","downScale","formatMoney","CreditLinePayment","_useAccountStats2$","receivable","address","param","toHexString","_receivable","_useFeeManager","useFeeManager","_useState5","amountFormatted","_useState6","setRemainder","getAvailableCreditLimit","principal","unbilledPrincipal","add","totalDue","sub","feesAndInterestDue","creditLimitFormatted","token","decimal","ConfirmTransfer","ConfirmTransferModal","items","colStretch","transferWrapper","transfer","transferItem","arrow","arrowFirst","usdcIcon","leftText","ArrowForwardIosIcon","combineStyles","rightText","ApproveNFT","isEmpty","invoiceNFTContract","useInvoiceNFTContract","requestLoanBigNumber","InvoiceFactoringBorrow","_useRFPoolAllowance","useRFPoolAllowance","remainingDue","setRemainingDue","InvoiceFactoringPayment","_poolInfo$extra","handleApproveSuccess","isDev","loading","setLoading","setDescription","KYCVerifyStatus","setKYCVerifyStatus","lenderApprovalProvider","extra","isKYC","_useState7","_useState8","buttonText","setButtonText","verificationStatus","IdentityService","getVerificationStatus","isVerified","approveLenderByEA","_callee2","_callee2$","_context2","lenderWalletAddress","approveLender","approveLenderByKYC","isNotOnboarded","documentUrl","href","issuerId","baseUrl","configUtil","getKYCProviderBaseUrl","originUrl","split","redirectUrl","providerAuthorizeUrl","providerUrl","withdrawlLockoutSeconds","underlyingTokenBalance","depositAmount","needApprove","withdrawlLockoutDays","secondsToDays","supplyBigNumber","events","_event$args","to","toLowerCase","LendSupply","_usePoolAllowance","usePoolAllowance","_useLenderApproved","useLenderApproved","_useLenderApproved2","lenderApproved","refreshLenderApproved","_useLenderPosition","useLenderPosition","_useLenderPosition2","refreshLenderPosition","useWithdrawlLockoutInSeconds","usePoolUnderlyingTokenBalance","balanceWithoutDecimals","handleSupplySuccess","CheckWithdrawable","lastDepositTime","useLastDepositTime","currentTimestamp","getUnixTimestamp","lenderPosition","withdrawableAmount","withdrawBigNumber","LendWithdraw","handleWithdrawSuccess","HumaTable","columns","rows","_ref$hideRowsPerPage","hideRowsPerPage","_React$useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","rowsPerPage","setRowsPerPage","noPagination","rowperPageOptions","tableHeader","tableBody","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","TableContainer","Table","TableHead","TableRow","column","TableCell","noSeparator","TableBody","row","index","scope","dataIndex","display","alignItems","action","lineHeight","TablePagination","rowsPerPageOptions","onPageChange","onRowsPerPageChange","GET_ACTIVITY","gql","amount","Activity","targetEvents","setEvents","_useQuery","useQuery","variables","owner","data","isSmSize","getPadding","creditEvents","JSON","parse","stringify","eventText","CreditEventText","timestamp","tableWrapper","ApolloWrapper","uri","client","ApolloClient","cache","InMemoryCache","ApolloProvider","payerAddress","superToken","payerWalletAddress","currentFlowRate","borrowPeriodInSeconds","intervalInDays","getBorrowFlowrateAndAmount","currentFlowRateBN","totalAmountInBorrowPeriod","mul","borrowFlowrate","div","newBorrowAmountBN","newBorrowAmount","_getBorrowFlowrateAnd","durationInSeconds","isTestnet","Permit","poolProcessor","borrower","tokenAddress","_useERC2612Permit","useERC2612Permit","getERC2612PermitMessage","getTradableStreamPermitMessage","getApproveAllowanceCallData","erc2612PermitResult","tokenContract","Contract","ERC2612Abi","interface","encodeFunctionData","nonce","deadline","v","r","s","getDrawdownCallData","NFTPermitResult","drawdownEncodedData","poolProcessorContract","ethers","utils","defaultAbiCoder","encode","expiry","PoolProcessorAbi","_callee3","callData","addresses","approveAllowanceCallData","drawdownCalldata","_callee3$","_context3","code","multiSendContract","useMultiSendContract","StreamFactoringBorrow","UpcomingList","connectWalletDesc","noItemDesc","isActive","isMdSize","progress","LinearProgress","FactoredList","handlePayManually","getColumns","setItem","_usePoolUnderlyingTok","usePoolUnderlyingToken","factoredItem","setFactoredItem","receivableInfo","hasActiveLoan","hasRFActiveLoan","receivableAmount","_factoredItem","customProps","receivableParam","due","factored","remained","SuperfluidFactoredList","_poolInfo$extra2","_poolInfo$extra$super","_poolInfo$extra$super2","superTokens","TableActionButton","handleClick","GET_RECEIVED_STREAMS","getUpcomingColumns","userHasActiveLoan","handleGetPaid","SuperfluidUpcomingList","streams","setStreams","receiver","tokenIds","_data$streams","ONE_MONTH_SECONDS","flowrateMonth","payer","sender","payerAbbr","getWalletAddressAbbr","flowrate","filter","goToCreateStream","SuperfluidFactoring","_PoolMap$Stream$poolN","_PoolSubgraphMap","Superfluid","_useFactoring","useFactoring","Stream","accountHasActiveLoan","actionType","modalIsOpen","selectedItem","handleGetPaidSuccess","PoolMap","borrowDesc","subgraph","PoolSubgraphMap","CreditEvent","DrawdownMadeWithReceivable","PaymentMade","ReceivedPaymentProcessed","store","configureStore","widgetsReducers","breakpoints","xs","sm","md","lg","xl","components","MuiButton","defaultProps","disableElevation","styleOverrides","contained","border","outlined","backgroundClip","textFillColor","root","fontFamily","backgroundColor","boxShadow","textTransform","MuiButtonBase","MuiCssBaseline","dd","margin","dl","dt","coreThemeConstants","join","letterSpacing","spacingBase","createTheme","appHeaderHeight","appFooterHeight","colCentered","colHCentered","rowStretch","rowFlexEnd","spaceSimpleH","spaceSimpleV","stretchAll","stretchBottom","stretchTop","shape","typography","body1","fontWeight","body2","body2Small","fontWeightBold","fontWeightLight","fontWeightMedium","fontWeightRegular","h1","h2","h3","h3Large","h4","h5","h6","color","labsSmall","nav","navSub","themeBase","themeHuma","Widget","desiredChainId","_window","ethereum","netWorkVersion","networkVersion","currentChainId","setCurrentChainId","chainSupported","supportedChainId","chainNotSupportedOpen","setChainNotSupportedOpen","chainChangeListener","_window$ethereum","on","_window$ethereum2","removeListener","changeNetwork","request","console","handleCloseCallback","ThemeProvider","ReduxProvider","Web3Provider","AtomProvider","InvoiceFactoringBorrowWidget","InvoiceFactoringPaymentWidget","CreditLineBorrowWidget","CreditLinePaymentWidget","LendSupplyWidget","LendWithdrawWidget","SuperfluidFactoringWidget"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../node_modules/@babel/runtime/helpers/typeof.js","../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../../../node_modules/@babel/runtime/regenerator/index.js","../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../src/hooks/useRedux.ts","../src/store/widgets.store.ts","../src/store/widgets.reducers.ts","../src/components/icons/receipt.svg","../src/components/icons/separator.svg","../src/components/icons/loader.svg","../src/components/icons/sorry.svg","../src/components/icons/check.svg","../src/components/icons/check-green.svg","../src/components/icons/check-circle.svg","../src/components/icons/auto-payback.svg","../src/components/icons/approve-lender.svg","../src/components/icons/usdc.svg","../src/components/icons/index.tsx","../src/components/ErrorModal.tsx","../src/theme/palette.ts","../src/components/humaModal/HumaModal.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../src/components/humaModal/HumaModalHeader.tsx","../src/components/ChainNotSupportedModal.tsx","../src/store/widgets.selectors.ts","../src/components/HumaLoading.tsx","../src/components/WrapperModal.tsx","../src/components/LoadingModal.tsx","../src/components/WidgetWrapper.tsx","../src/utils/env.ts","../src/hooks/useEA.ts","../src/components/icons/spinner.gif","../src/components/CreditLine/borrow/1-Evaluation.tsx","../src/components/ChooseAmountModal.tsx","../src/components/CreditLine/borrow/2-ChooseAmount.tsx","../src/components/BottomButton.tsx","../src/components/ViewOnExplorer.tsx","../src/components/ApproveAllowanceModal.tsx","../src/components/CreditLine/borrow/4-ApproveAllowance.tsx","../src/components/TxSendModal.tsx","../src/components/CreditLine/borrow/3-Transfer.tsx","../src/components/TxDoneModal.tsx","../src/components/CreditLine/borrow/5-Success.tsx","../src/components/Notifi/NotifiSubscriptionModal.tsx","../src/components/CreditLine/borrow/6-Notifications.tsx","../src/hooks/useNotifi.ts","../src/components/CreditLine/borrow/index.tsx","../src/components/CreditLine/payment/1-ChooseAmount.tsx","../src/components/CreditLine/payment/2-ApproveAllowance.tsx","../src/components/CreditLine/payment/3-Transfer.tsx","../src/components/CreditLine/payment/4-Success.tsx","../src/components/CreditLine/payment/index.tsx","../src/components/InvoiceFactoring/borrow/1-Evaluation.tsx","../src/components/InvoiceFactoring/borrow/2-ChooseAmount.tsx","../src/components/ConfirmTransferModal.tsx","../src/components/InvoiceFactoring/borrow/3-ConfirmTransfer.tsx","../src/components/InvoiceFactoring/borrow/4-ApproveNFT.tsx","../src/components/InvoiceFactoring/borrow/5-Transfer.tsx","../src/components/InvoiceFactoring/borrow/6-Success.tsx","../src/components/InvoiceFactoring/borrow/index.tsx","../src/components/InvoiceFactoring/payment/1-ChooseAmount.tsx","../src/components/InvoiceFactoring/payment/2-ApproveAllowance.tsx","../src/components/InvoiceFactoring/payment/3-Transfer.tsx","../src/components/InvoiceFactoring/payment/4-Success.tsx","../src/components/InvoiceFactoring/payment/index.tsx","../src/components/Lend/supply/1-Evaluation/EvaluationEA.tsx","../src/components/HumaSnackBar.tsx","../src/components/Lend/supply/1-Evaluation/EvaluationKYC.tsx","../src/components/Lend/supply/1-Evaluation/index.tsx","../src/components/Lend/supply/2-ChooseAmount.tsx","../src/components/Lend/supply/3-ApproveAllowance.tsx","../src/components/Lend/supply/4-Transfer.tsx","../src/components/Lend/supply/5-Success.tsx","../src/components/Lend/supply/6-Notifications.tsx","../src/components/Lend/supply/index.tsx","../src/components/Lend/withdraw/1-CheckWithdrawble.tsx","../src/components/Lend/withdraw/2-ChooseAmount.tsx","../src/components/Lend/withdraw/3-Transfer.tsx","../src/components/Lend/withdraw/4-Success.tsx","../src/components/Lend/withdraw/index.tsx","../src/components/HumaTable.tsx","../src/components/Activity.tsx","../src/components/ApolloWrapper.tsx","../src/components/StreamFactoring/borrow/1-Evaluation.tsx","../src/components/StreamFactoring/borrow/2-ChooseAmount.tsx","../src/components/StreamFactoring/borrow/3-ConfirmTransfer.tsx","../src/components/StreamFactoring/borrow/4-ApproveAllowance.tsx","../src/components/StreamFactoring/borrow/5-Permit.tsx","../src/components/StreamFactoring/borrow/6-Transfer.tsx","../src/components/StreamFactoring/borrow/7-Success.tsx","../src/components/StreamFactoring/borrow/index.tsx","../src/components/Factoring/UpcomingList.tsx","../src/components/Factoring/FactoredList.tsx","../src/components/SuperfluidFactoring/SuperfluidFactoredList.tsx","../src/components/buttons/TableActionButton.tsx","../src/components/SuperfluidFactoring/SuperfluidUpcomingList.tsx","../src/components/SuperfluidFactoring/index.tsx","../src/store/index.ts","../src/theme/breakpoints.ts","../src/theme/components.ts","../src/theme/coreThemeConstants.ts","../src/theme/cssMixins.ts","../src/theme/shape.ts","../src/theme/typography.ts","../src/theme/index.ts","../src/index.tsx"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'\r\nimport type { RootState, AppDispatch } from '../store'\r\n\r\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\r\nexport const useAppDispatch = () => useDispatch<AppDispatch>()\r\nexport const useAppSelector: TypedUseSelectorHook<RootState> = useSelector\r\n","import { Approval } from '@huma-finance/shared'\r\n\r\nexport enum WIDGET_TYPE {\r\n BORROW = 'BORROW',\r\n PAYMENT = 'PAYMENT',\r\n}\r\n\r\nexport enum WIDGET_STEP {\r\n Evaluation = 'Evaluation',\r\n ChooseAmount = 'ChooseAmount',\r\n Permit = 'Permit',\r\n ApproveAllowance = 'ApproveAllowance',\r\n MintNFT = 'MintNFT',\r\n ConfirmTransfer = 'ConfirmTransfer',\r\n ApproveNFT = 'ApproveNFT',\r\n Transfer = 'Transfer',\r\n CheckWithdrawable = 'CheckWithdrawable',\r\n Notifications = 'Notifications',\r\n Done = 'Done',\r\n Error = 'Error',\r\n}\r\n\r\nexport type WidgetStream = Partial<{\r\n borrowFlowrate: string\r\n durationInSeconds: number\r\n}>\r\n\r\nexport type MultisendPayload = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n addresses: any[]\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n callData: any[]\r\n}\r\n\r\nexport type WidgetState = {\r\n step?: WIDGET_STEP\r\n type?: WIDGET_TYPE\r\n approval?: Approval\r\n borrowAmount?: number\r\n borrowAmountBN?: string\r\n chargedFees?: number\r\n borrowAmountNet?: number\r\n remainder?: number\r\n paymentAmount?: number\r\n remainDueAmount?: number\r\n supplyAmount?: number\r\n withdrawAmount?: number\r\n errorMessage?: string\r\n errorReason?: string\r\n tokenId?: string\r\n stream?: WidgetStream\r\n multisend?: MultisendPayload\r\n}\r\n\r\nexport const initialWidgetState: WidgetState = {}\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\r\nimport { Approval } from '@huma-finance/shared'\r\n\r\nimport {\r\n initialWidgetState,\r\n MultisendPayload,\r\n WIDGET_STEP,\r\n WidgetStream,\r\n} from './widgets.store'\r\n\r\nexport const widgetSlice = createSlice({\r\n name: 'widget',\r\n initialState: initialWidgetState,\r\n reducers: {\r\n resetState: (state) => {\r\n state.errorReason = ''\r\n state.errorMessage = ''\r\n state.step = undefined\r\n state.approval = undefined\r\n state.borrowAmount = undefined\r\n state.borrowAmountBN = undefined\r\n state.chargedFees = undefined\r\n state.borrowAmountNet = undefined\r\n state.remainder = undefined\r\n state.tokenId = undefined\r\n state.paymentAmount = undefined\r\n state.remainDueAmount = undefined\r\n state.stream = undefined\r\n state.multisend = undefined\r\n state.supplyAmount = undefined\r\n state.withdrawAmount = undefined\r\n },\r\n setStep: (state, { payload }: PayloadAction<WIDGET_STEP>) => {\r\n state.step = payload\r\n },\r\n setApproval: (\r\n state,\r\n { payload }: PayloadAction<Approval & { nextStep: WIDGET_STEP }>,\r\n ) => {\r\n state.approval = payload\r\n if (Number(payload.terms.creditLimit) > 0) {\r\n state.step = payload.nextStep\r\n } else {\r\n state.errorMessage =\r\n 'Sorry, there was an error with your transaction. Please try submitting again.'\r\n state.step = WIDGET_STEP.Error\r\n }\r\n },\r\n setBorrowInfo: (\r\n state,\r\n {\r\n payload,\r\n }: PayloadAction<{\r\n borrowAmount: number\r\n borrowAmountBN: string\r\n chargedFees: number\r\n nextStep: WIDGET_STEP\r\n remainder?: number\r\n }>,\r\n ) => {\r\n state.borrowAmount = payload.borrowAmount\r\n state.borrowAmountBN = payload.borrowAmountBN\r\n state.remainder = payload.remainder\r\n state.chargedFees = payload.chargedFees\r\n state.borrowAmountNet = payload.borrowAmount - payload.chargedFees\r\n state.step = payload.nextStep\r\n },\r\n setTokenId: (state, { payload }: PayloadAction<string>) => {\r\n state.tokenId = payload\r\n },\r\n setPaymentAmount: (\r\n state,\r\n {\r\n payload,\r\n }: PayloadAction<{ paymentAmount: number; remainDueAmount?: number }>,\r\n ) => {\r\n state.paymentAmount = payload.paymentAmount\r\n state.remainDueAmount = payload.remainDueAmount\r\n },\r\n setSupplyAmount: (state, { payload }: PayloadAction<number>) => {\r\n state.supplyAmount = payload\r\n },\r\n setWithdrawAmount: (state, { payload }: PayloadAction<number>) => {\r\n state.withdrawAmount = payload\r\n },\r\n setStream: (state, { payload }: PayloadAction<WidgetStream>) => {\r\n const stream = state.stream ?? {}\r\n state.stream = { ...stream, ...payload }\r\n },\r\n setMultisend: (state, { payload }: PayloadAction<MultisendPayload>) => {\r\n state.multisend = payload\r\n },\r\n setError: (\r\n state,\r\n {\r\n payload,\r\n }: PayloadAction<{ errorMessage: string; errorReason?: string }>,\r\n ) => {\r\n state.errorMessage = payload.errorMessage\r\n state.errorReason = payload.errorReason\r\n state.step = WIDGET_STEP.Error\r\n },\r\n },\r\n})\r\n\r\nexport const {\r\n resetState,\r\n setStep,\r\n setApproval,\r\n setBorrowInfo,\r\n setError,\r\n setTokenId,\r\n setPaymentAmount,\r\n setStream,\r\n setMultisend,\r\n setSupplyAmount,\r\n setWithdrawAmount,\r\n} = widgetSlice.actions\r\n\r\nexport default widgetSlice.reducer\r\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18%2017H6V15H18V17ZM18%2013H6V11H18V13ZM18%209H6V7H18V9ZM3%2022L4.5%2020.5L6%2022L7.5%2020.5L9%2022L10.5%2020.5L12%2022L13.5%2020.5L15%2022L16.5%2020.5L18%2022L19.5%2020.5L21%2022V2L19.5%203.5L18%202L16.5%203.5L15%202L13.5%203.5L12%202L10.5%203.5L9%202L7.5%203.5L6%202L4.5%203.5L3%202V22Z%22%20fill%3D%22%2376707E%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%222%22%20height%3D%2214%22%20viewBox%3D%220%200%202%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%222%22%20height%3D%2214%22%20fill%3D%22%23E0E0E0%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20id%3D%22huma-loader%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2081%2080%22%3E%20%20%3Cpath%20stroke%3D%22url%28%23SS%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M40.976%200v26.34%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23bbb%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M42.877%2026.471%2046.542.39%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23dd%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m44.742%2026.866%207.26-25.317%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ff%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m46.533%2027.518%2010.712-24.06%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23hh%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M48.215%2028.414%2062.172%206.078%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23jj%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M49.756%2029.536%2066.687%209.358%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ll%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m51.127%2030.86%2019.575-17.625%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23nn%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m52.302%2032.36%2021.835-14.728%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23pp%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m53.256%2034.01%2023.671-11.545%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23rr%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m53.97%2035.778%2025.049-8.139%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23tt%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m54.43%2037.628%2025.938-4.574%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23vv%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m54.627%2039.523%2026.324-.92%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23xx%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m80.756%2044.181-26.194-2.753%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23zz%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m79.787%2049.677-25.555-6.372%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23BB%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m78.063%2054.984-24.419-9.866%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23DD%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m75.617%2060-22.81-13.169%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23FF%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M72.496%2064.627%2051.74%2048.41%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23HH%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M68.763%2068.774%2050.465%2049.826%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23JJ%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M64.487%2072.36%2049.005%2051.053%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23LL%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M59.754%2075.318%2047.39%2052.063%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23NN%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M54.657%2077.588%2045.649%2052.84%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23PP%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m49.292%2079.126-5.476-25.762%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23RR%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m43.766%2079.903-1.837-26.276%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23aaa%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m38.185%2079.903%201.838-26.276%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ccc%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m32.66%2079.126%205.475-25.762%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ee%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m27.295%2077.588%209.007-24.748%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23gg%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m22.196%2075.318%2012.365-23.255%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ii%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m17.464%2072.36%2015.482-21.308%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23kk%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m13.188%2068.774%2018.298-18.948%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23mm%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M9.455%2064.627%2030.211%2048.41%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23oo%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m6.334%2060%2022.81-13.169%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23qq%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m3.889%2054.984%2024.418-9.866%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ss%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m2.164%2049.677%2025.555-6.372%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23uu%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22m1.194%2044.181%2026.195-2.753%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23ww%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.324%2039.523%201%2038.603%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23yy%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.52%2037.628%201.584%2033.054%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23AA%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M27.98%2035.778%202.934%2027.639%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23CC%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M28.695%2034.01%205.023%2022.465%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23EE%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M29.65%2032.36%207.814%2017.632%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23GG%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M30.825%2030.86%2011.25%2013.235%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23II%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M32.195%2029.536%2015.264%209.358%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23KK%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M33.736%2028.414%2019.778%206.078%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23MM%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M35.418%2027.518%2024.706%203.458%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23OO%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M37.21%2026.866%2029.95%201.549%22%2F%3E%20%20%3Cpath%20stroke%3D%22url%28%23QQ%29%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%22.5%22%20d%3D%22M39.075%2026.471%2035.409.39%22%2F%3E%20%20%3Cdefs%3E%20%20%20%20%3ClinearGradient%20id%3D%22aaa%22%20x1%3D%2240.023%22%20x2%3D%2234.391%22%20y1%3D%2256.16%22%20y2%3D%2256.46%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22bbb%22%20x1%3D%2246.542%22%20x2%3D%2235.401%22%20y1%3D%222.903%22%20y2%3D%224.096%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ccc%22%20x1%3D%2238.135%22%20x2%3D%2221.729%22%20y1%3D%2255.847%22%20y2%3D%2258.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22dd%22%20x1%3D%2252.002%22%20x2%3D%2230.699%22%20y1%3D%223.989%22%20y2%3D%228.642%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ee%22%20x1%3D%2236.302%22%20x2%3D%2210.586%22%20y1%3D%2255.225%22%20y2%3D%2262.354%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ff%22%20x1%3D%2257.245%22%20x2%3D%2227.708%22%20y1%3D%225.777%22%20y2%3D%2215.793%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22gg%22%20x1%3D%2234.561%22%20x2%3D%221.902%22%20y1%3D%2254.305%22%20y2%3D%2267.53%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22hh%22%20x1%3D%2262.172%22%20x2%3D%2227.185%22%20y1%3D%228.231%22%20y2%3D%2224.881%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ii%22%20x1%3D%2232.946%22%20x2%3D%22-3.495%22%20y1%3D%2253.106%22%20y2%3D%2273.27%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22jj%22%20x1%3D%2266.687%22%20x2%3D%2229.728%22%20y1%3D%2211.303%22%20y2%3D%2234.922%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22kk%22%20x1%3D%2231.486%22%20x2%3D%22-5.021%22%20y1%3D%2251.653%22%20y2%3D%2278.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ll%22%20x1%3D%2270.702%22%20x2%3D%2235.621%22%20y1%3D%2214.934%22%20y2%3D%2244.607%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22mm%22%20x1%3D%2230.211%22%20x2%3D%22-2.509%22%20y1%3D%2249.974%22%20y2%3D%2281.869%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22nn%22%20x1%3D%2274.137%22%20x2%3D%2244.628%22%20y1%3D%2219.052%22%20y2%3D%2252.371%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22oo%22%20x1%3D%2229.143%22%20x2%3D%223.551%22%20y1%3D%2248.1%22%20y2%3D%2281.86%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22pp%22%20x1%3D%2276.927%22%20x2%3D%2255.762%22%20y1%3D%2223.578%22%20y2%3D%2256.629%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22qq%22%20x1%3D%2228.307%22%20x2%3D%2211.82%22%20y1%3D%2246.069%22%20y2%3D%2277.149%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22rr%22%20x1%3D%2279.019%22%20x2%3D%2267.161%22%20y1%3D%2228.424%22%20y2%3D%2256.218%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ss%22%20x1%3D%2227.719%22%20x2%3D%2220.115%22%20y1%3D%2243.919%22%20y2%3D%2267.15%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22tt%22%20x1%3D%2280.368%22%20x2%3D%2276.311%22%20y1%3D%2233.495%22%20y2%3D%2251.018%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22uu%22%20x1%3D%2227.389%22%20x2%3D%2225.884%22%20y1%3D%2241.694%22%20y2%3D%2252.599%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22vv%22%20x1%3D%2280.951%22%20x2%3D%2280.781%22%20y1%3D%2238.692%22%20y2%3D%2242.397%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22ww%22%20x1%3D%2227.324%22%20x2%3D%2227.154%22%20y1%3D%2238.692%22%20y2%3D%2242.397%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22xx%22%20x1%3D%2280.756%22%20x2%3D%2279.251%22%20y1%3D%2241.694%22%20y2%3D%2252.599%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22yy%22%20x1%3D%2227.521%22%20x2%3D%2223.464%22%20y1%3D%2233.495%22%20y2%3D%2251.018%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22zz%22%20x1%3D%2279.787%22%20x2%3D%2272.183%22%20y1%3D%2243.919%22%20y2%3D%2267.15%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22AA%22%20x1%3D%2227.981%22%20x2%3D%2216.123%22%20y1%3D%2228.424%22%20y2%3D%2256.218%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22BB%22%20x1%3D%2278.063%22%20x2%3D%2261.576%22%20y1%3D%2246.069%22%20y2%3D%2277.149%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22CC%22%20x1%3D%2228.695%22%20x2%3D%227.529%22%20y1%3D%2223.578%22%20y2%3D%2256.629%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22DD%22%20x1%3D%2275.617%22%20x2%3D%2250.025%22%20y1%3D%2248.1%22%20y2%3D%2281.86%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22EE%22%20x1%3D%2229.649%22%20x2%3D%22.14%22%20y1%3D%2219.052%22%20y2%3D%2252.371%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22FF%22%20x1%3D%2272.496%22%20x2%3D%2239.777%22%20y1%3D%2249.974%22%20y2%3D%2281.869%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22GG%22%20x1%3D%2230.825%22%20x2%3D%22-4.256%22%20y1%3D%2214.934%22%20y2%3D%2244.607%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22HH%22%20x1%3D%2268.763%22%20x2%3D%2232.255%22%20y1%3D%2251.653%22%20y2%3D%2278.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22II%22%20x1%3D%2232.195%22%20x2%3D%22-4.765%22%20y1%3D%2211.303%22%20y2%3D%2234.922%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22JJ%22%20x1%3D%2264.487%22%20x2%3D%2228.046%22%20y1%3D%2253.106%22%20y2%3D%2273.27%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22KK%22%20x1%3D%2233.736%22%20x2%3D%22-1.251%22%20y1%3D%228.231%22%20y2%3D%2224.881%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22LL%22%20x1%3D%2259.754%22%20x2%3D%2227.096%22%20y1%3D%2254.305%22%20y2%3D%2267.53%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22MM%22%20x1%3D%2235.418%22%20x2%3D%225.881%22%20y1%3D%225.777%22%20y2%3D%2215.793%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22NN%22%20x1%3D%2254.657%22%20x2%3D%2228.94%22%20y1%3D%2255.225%22%20y2%3D%2262.354%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22OO%22%20x1%3D%2237.21%22%20x2%3D%2215.907%22%20y1%3D%223.989%22%20y2%3D%228.642%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22PP%22%20x1%3D%2249.292%22%20x2%3D%2232.887%22%20y1%3D%2255.847%22%20y2%3D%2258.503%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22QQ%22%20x1%3D%2239.075%22%20x2%3D%2227.933%22%20y1%3D%222.903%22%20y2%3D%224.096%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22RR%22%20x1%3D%2243.766%22%20x2%3D%2238.134%22%20y1%3D%2256.16%22%20y2%3D%2256.46%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%20%20%3ClinearGradient%20id%3D%22SS%22%20x1%3D%2241.976%22%20x2%3D%2238.904%22%20y1%3D%222.539%22%20y2%3D%222.628%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cstop%20stop-color%3D%22%237632E0%22%2F%3E%20%20%20%20%20%20%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FE557A%22%2F%3E%20%20%20%20%3C%2FlinearGradient%3E%20%20%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22324%22%20height%3D%22242%22%20fill%3D%22none%22%20viewBox%3D%220%200%20324%20242%22%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M4.494%20215.76h313.958%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M287.935%20135.475a.524.524%200%201%200%200-1.048.524.524%200%200%200%200%201.048ZM78.84%20116.228a.524.524%200%201%200-.001-1.048.524.524%200%200%200%200%201.048Zm-18.97%2087.197a.524.524%200%201%200-.001-1.048.524.524%200%200%200%20.001%201.048Zm.919-186.026a.524.524%200%201%200%200-1.048.524.524%200%200%200%200%201.048Zm144.574%2026.3a.524.524%200%201%200%200-1.05.524.524%200%200%200%200%201.05Zm-68.49%20140.617a.524.524%200%201%200-.001-1.047.524.524%200%200%200%20.001%201.047Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m240.004%20112.677%202.903%202.117m-76.084%2048.731%202.903%202.107m-9.273-133.11%202.903%202.117M159.26%202.76%20162.38%201m-46.155%20237.883%202.903%202.117m-81.554-87.306-2.943%202.057m135.638%2068.751-2.943%202.057m113.115-47.436-2.943%202.058M41.602%2051.017%2039.52%2048.09m229.397%2015.301%203.338-1.315m5.243-44.272%201.955%203.017M34.6%20232.949l1.946%203.016%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m60.979%20130.112%201.461%207.932%206.241-2.601-5.786%204.55%205.174%202.552-5.994-1.118%201.254%207.448-3.09-7.24-5.452%205.914%203.595-6.735-5.392-1.81%205.155-.327-1.55-3.323%203.001%202.384%201.383-7.626Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M51.446%2098.154%2053.5%20109.27l8.749-3.64-8.117%206.389%207.258%203.571-8.413-1.573%201.757%2010.445-4.335-10.158-7.643%208.299%205.036-9.456-7.564-2.542%207.229-.455-2.173-4.668%204.217%203.343%201.945-10.672Zm56.671-82.694%202.153%2011.662%209.183-3.818L110.932%2030l7.613%203.748-8.818-1.641%201.846%2010.959-4.542-10.653-8.028%208.694%205.283-9.91-7.94-2.67%207.584-.476-2.281-4.895%204.424%203.5%202.044-11.196Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M101.305%2079.493H47.34c.869-5.4%203.89-4.025%205.302-2.65%209.056-19.209%2017.508-8.408%2020.6-.604%204.433-7.24%209.074-3.017%2010.841%200%209.154-6.083%2015.296-.366%2017.222%203.254ZM205.66%2026.34h34.344c-.553-3.442-2.478-2.561-3.377-1.691-5.767-12.225-11.139-5.351-13.113-.386-2.825-4.609-5.777-1.919-6.903%200-5.816-3.857-9.726-.217-10.951%202.077Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m96.84%20129.006-.257%202.097-14.99%201.296c-1.451.089-1.787.752-.82%201.434-1.016-.237-2.646.88-1.293%202.413-.898-.009-1.836.94-.938%202.008.089.109.385.366.8.475.415.109%201.669.277%202.242.336l-2.884.871c-.889.267-1.076%201.988.593%201.968l12.728-1.375-5.984%203.689c-.74.782-.563%202.839%201.61%202.008%201.046-.316%2010.131-2.215%2014.239-4.282l3.634-3.591%204.167-10.603%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m80.724%20133.823%207.88.05m-9.213%202.373%208.551.089m-6.715%202.8%205.757-.989m58.479-92.014c.878%202.334%201.965%208.16-.721%2012.769a3.662%203.662%200%200%201-.277.375m-7.781-1.048c-.306-.445-1.017-1.553-1.363-2.473m1.363%202.473c.454.623%201.116%201.316%201.758%201.74%202.824%201.712%204.631.525%205.322%200%20.247-.187.484-.425.711-.692m-7.791-1.048v2.997m7.791-1.949v2.374%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22M154.904%2062.926c-3.417-1.246-7.979-1.998-10.013-1.988-2.242%201.86-6.814.781-8.631%200%200%200-3.624.692-5.915%201.553-7.722%202.077-11.948%208.931-13.4%2012.284l-22.474%2054.222h16.056v7.477h8.413c7.268-13.857%2022.969-43.203%2027.313-50.918%204.345-7.715%2010.784-16.666%2014.2-19.05-.237.01-2.133-2.334-5.549-3.58Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m208.167%2072.036.02%201.206c-.03%202.7%203.15%203.61%203.653.445.069-1.72-.108-6.567-.345-10.731-.247-1.731-2.331-2.265-3.358-1.039m-.009-.01-.08-1.552c-.078-1.583-1.323-3.007-2.764-1.939m2.844%203.491.394%207.963m-3.238-11.454c-.06-1.128-.81-2.8-2.913-2.067-1.985.781-4.306%202.532-6.32%204.233m9.233-2.166.483%209.693m-4.196-6.815.503%207.527m-91.123%2058.435%2018.1-42.936m17.142-34.766c-.622%200-2.182.326-2.646%201.453-.464%201.128.079%204.036.967%205.56-.464-.14-1.155-.199-2.182-1.514m-1.411-4.589c-.514-.455-1.847-1.058-3.062.128m2.162%206.458c.366-.128%201.255-.207%201.896.465m-5.55-3.155c-.207-.326-.839-.949-1.767-.84%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M135.479%2053.728c-.247.079-.642.425-.208%201.137%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M147.043%2048.02c3.535%202.157.958%204.382-.711%205.114.148-1.147-.138-3.244-.138-3.353-.682-.326-.692-.86-.613-1.088l-1.807-1.81-6.122.247c.326%201.988-1.452%204.056-2.251%204.748.385.316.256.83.256.722-1.481-.455-2.034.415-2.123.91-.523-.534-1.55-1.89-1.461-3.076.089-1.187%201.56-2.107%202.291-2.423-1.422-4.926%201.501-5.668%203.14-5.42-.129-.614.089-2.463%201.609-2.889%204.79-.94%205.175%204.105%205.175%203.996%202.972-.296%203.081%202.75%202.755%204.323Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M136.231%2055.547c-.78.139-2.439.1-2.814-1.147-.474-1.553.967-2.225%202.271-1.681%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M136.042%2057.13c.563-.643.533-1.217.444-1.424h-1.215l.771%201.424Zm.435-5.747%205.766.485-1.293%202.76-3.525.237-.948-3.482Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m140.407%2051.72.553.05-1.007%202.937-.504.04.958-3.027Zm-.898-.08.523.05-1.057%203.086-.424.03.958-3.165Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m149.265%2051.383-5.767.485%201.294%202.76%203.525.237.948-3.482Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m147.032%2051.571.583-.059-1.096%203.234-.484-.03.997-3.145Zm-.967.079.582-.049-1.066%203.086-.425-.03.909-3.007Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M144.179%2052.798h-2.736m-4.236-.258-2.202-.593%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m144.457%2060.977.098-1.473c-1.481%201.671-4.779%201.177-6.25.732%202.3%202.571%205.075%201.384%206.152.742Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m178.276%2097.969%206.221%2013.313c-5.836%206.706-12.008%204.332-14.368%202.305l8.147-15.618Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m178.089%2098.068%2012.985%2025.667%205.836-.772m-18.821-24.895-20.095%2038h-10.319m30.414-38-3.387-6.933-27.027%2044.933m0%200h-22.189m0%200h-6.556s20.815-39.019%2029.624-54.172c8.808-15.162%2018.258-24.133%2031.47-21.126%2013.213%203.006%2018.446%2014.025%2021.033%2020.395%201.501%202.76%2015.859%2039.147%2015.859%2039.147l-20.016%202.651m-71.414%2013.105%2052.593-65.694%2018.821%2052.589%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M180.271%2060.859c2.499-1.86%2010.902-4.669%2021.458%203.383m14.97%2055.338%2010.961-1.918c-2.893-10.732-9.164-29.346-16.787-42.125%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M204.661%20136.484h-7.899l.79-13.442%2013.795-1.82v3.234l23.245%2012.028h-26.85l-2.577-3.521-.504%203.521Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M223.335%20121.213v-2.671m0%202.671v3.234l23.245%2012.027h-26.849l-2.578-3.521-.513%203.521h-7.9l.79-13.442%2013.805-1.819Z%22%2F%3E%20%20%3Cmask%20id%3D%22a%22%20width%3D%22324%22%20height%3D%2271%22%20x%3D%220%22%20y%3D%22135.504%22%20fill%3D%22%23000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%20135.504h324v71H0z%22%2F%3E%20%20%20%20%3Cpath%20d%3D%22M39.722%20158.337c-.174-2.179-.99-3.879-2.447-5.099-1.436-1.22-3.622-1.83-6.56-1.83-1.87%200-3.404.229-4.6.686-1.175.436-2.045%201.035-2.61%201.798a4.448%204.448%200%200%200-.882%202.615c-.044.806.098%201.536.424%202.19.348.631.892%201.209%201.632%201.732.74.501%201.686.959%202.839%201.373%201.153.414%202.523.784%204.111%201.111l5.482%201.177c3.699.784%206.864%201.819%209.496%203.105%202.632%201.285%204.786%202.8%206.461%204.543%201.675%201.721%202.904%203.66%203.688%205.818.804%202.157%201.218%204.51%201.24%207.06-.022%204.401-1.12%208.127-3.296%2011.178-2.176%203.05-5.287%205.371-9.333%206.962-4.024%201.59-8.865%202.386-14.52%202.386-5.81%200-10.878-.861-15.207-2.583-4.307-1.721-7.658-4.368-10.05-7.942-2.372-3.595-3.568-8.193-3.59-13.793h17.23c.108%202.048.62%203.77%201.533%205.164.914%201.395%202.197%202.452%203.85%203.171%201.676.719%203.666%201.078%205.972%201.078%201.936%200%203.557-.239%204.862-.719%201.305-.479%202.295-1.144%202.97-1.994a4.708%204.708%200%200%200%201.044-2.908%204.142%204.142%200%200%200-1.012-2.681c-.63-.784-1.675-1.481-3.132-2.091-1.458-.632-3.427-1.221-5.907-1.765l-6.656-1.439c-5.918-1.285-10.584-3.431-14-6.438-3.393-3.029-5.079-7.158-5.057-12.388-.022-4.249%201.11-7.964%203.393-11.145%202.306-3.203%205.494-5.698%209.561-7.485%204.09-1.787%208.778-2.68%2014.065-2.68%205.395%200%2010.061.904%2013.998%202.712%203.938%201.809%206.973%204.358%209.105%207.649%202.153%203.268%203.241%207.092%203.263%2011.472h-17.36Zm71.251%2012.551c0-4.009-.533-7.387-1.599-10.132-1.045-2.768-2.6-4.859-4.667-6.276-2.045-1.438-4.568-2.157-7.57-2.157-3.002%200-5.537.719-7.603%202.157-2.045%201.417-3.6%203.508-4.666%206.276-1.045%202.745-1.567%206.123-1.567%2010.132%200%204.009.522%207.398%201.567%2010.165%201.065%202.745%202.62%204.837%204.666%206.275%202.066%201.417%204.6%202.125%207.603%202.125%203.002%200%205.525-.708%207.57-2.125%202.067-1.438%203.622-3.53%204.667-6.275%201.066-2.767%201.599-6.156%201.599-10.165Zm27.059%2033.469v-66.938h28.846c4.96%200%209.3.904%2013.02%202.713%203.72%201.808%206.614%204.412%208.68%207.811%202.067%203.4%203.1%207.474%203.1%2012.224%200%204.794-1.066%208.836-3.198%2012.126-2.11%203.291-5.079%205.775-8.908%207.453-3.807%201.677-8.256%202.516-13.346%202.516h-17.23v-14.12h13.575c2.132%200%203.948-.261%205.449-.784%201.523-.545%202.687-1.405%203.492-2.582.827-1.177%201.24-2.713%201.24-4.609%200-1.917-.413-3.475-1.24-4.674-.805-1.22-1.969-2.113-3.492-2.68-1.501-.588-3.317-.882-5.449-.882h-6.396v52.426h-18.143Zm39.158-30.724%2016.707%2030.724h-19.709l-16.316-30.724h19.318Zm22.222%2030.724v-66.938h28.846c4.96%200%209.3.904%2013.02%202.713%203.72%201.808%206.613%204.412%208.68%207.811%202.067%203.4%203.1%207.474%203.1%2012.224%200%204.794-1.066%208.836-3.198%2012.126-2.11%203.291-5.08%205.775-8.908%207.453-3.807%201.677-8.256%202.516-13.347%202.516h-17.229v-14.12h13.575c2.132%200%203.948-.261%205.449-.784%201.523-.545%202.687-1.405%203.492-2.582.826-1.177%201.24-2.713%201.24-4.609%200-1.917-.414-3.475-1.24-4.674-.805-1.22-1.969-2.113-3.492-2.68-1.501-.588-3.317-.882-5.449-.882h-6.396v52.426h-18.143Zm39.158-30.724%2016.707%2030.724h-19.709l-16.316-30.724h19.318Zm16.34-36.214h20.231l13.053%2027.194h.522l13.052-27.194H322l-24.539%2045.889v21.049h-18.012v-21.049l-24.539-45.889Z%22%2F%3E%20%20%3C%2Fmask%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m125.298%20189.747.435.247v-.001l-.435-.246Zm-11.715%2011.603.235.442.001-.001-.236-.441Zm-32.958-.033-.238.44.002.001.236-.441Zm-11.682-11.635-.436.244.001.002.435-.246Zm0-37.62-.435-.246.435.246Zm44.64-11.603-.236.44.001.001.235-.441Zm11.715%2011.603-.436.246h.001l.435-.246Zm3.84%2018.826c0%207.388-1.434%2013.585-4.276%2018.613l.871.492c2.946-5.213%204.405-11.589%204.405-19.105h-1Zm-4.275%2018.612c-2.849%205.021-6.687%208.82-11.516%2011.409l.472.882c5.004-2.684%208.976-6.621%2011.914-11.797l-.87-.494Zm-11.515%2011.409c-4.838%202.573-10.238%203.863-16.211%203.863v1c6.122%200%2011.686-1.324%2016.681-3.98l-.47-.883Zm-16.211%203.863c-6.017%200-11.438-1.301-16.275-3.895l-.473.881c4.996%202.679%2010.582%204.014%2016.748%204.014v-1Zm-16.273-3.894c-4.808-2.611-8.636-6.421-11.486-11.443l-.87.493c2.937%205.176%206.898%209.123%2011.879%2011.829l.477-.879Zm-11.485-11.441c-2.82-5.029-4.243-11.204-4.243-18.549h-1c0%207.472%201.448%2013.826%204.371%2019.038l.872-.489Zm-4.243-18.549c0-7.389%201.424-13.575%204.243-18.581l-.871-.491c-2.924%205.192-4.372%2011.557-4.372%2019.072h1Zm48.212-29.988c4.828%202.567%208.665%206.365%2011.514%2011.408l.871-.492c-2.937-5.199-6.91-9.137-11.915-11.799l-.47.883Zm11.515%2011.408c2.84%205.006%204.275%2011.191%204.275%2018.58h1c0-7.516-1.459-13.881-4.405-19.073l-.87.493Zm-55.484%200c2.295-4.062%205.223-7.314%208.783-9.767l-.567-.823c-3.695%202.544-6.723%205.914-9.087%2010.098l.87.492Zm36.457-14.288a31.998%2031.998%200%200%201%207.511%202.879l.472-.881a32.94%2032.94%200%200%200-7.744-2.969l-.239.971Zm-66.114%2020.317-.997.08.074.92h.923v-1Zm-2.447-5.099-.648.762.006.005.642-.767Zm-11.16-1.144.347.938.01-.004-.357-.934Zm-2.61%201.798-.804-.596.803.596Zm-.882%202.615.999.054v-.032l-.999-.022Zm.424%202.19-.895.446.01.018.01.018.875-.482Zm1.632%201.732-.577.816.008.006.008.006.56-.828Zm6.95%202.484.21-.978-.008-.002-.202.98Zm5.482%201.177-.21.977.003.001.207-.978Zm15.957%207.648-.72.693.004.004.716-.697Zm3.688%205.818-.94.341.003.008.936-.349Zm1.24%207.06%201%20.004v-.013l-1%20.009ZM54.7%20195.794l.814.58-.814-.58Zm-9.333%206.962-.366-.931-.001.001.367.93Zm-29.727-.197-.371.929.001.001.37-.93Zm-10.05-7.942-.835.551.004.005.83-.556ZM2%20180.824v-1H.996L1%20180.828l1-.004Zm17.23%200%20.998-.053-.05-.947h-.949v1Zm1.533%205.164-.836.548.836-.548Zm3.85%203.171-.398.917.004.002.395-.919Zm10.834.359.345.939-.345-.939Zm2.97-1.994.783.622-.783-.622Zm1.044-2.908%201%20.02v-.042l-1%20.022Zm-1.012-2.681-.779.627.01.012.01.012.76-.651Zm-3.132-2.091-.398.917.012.005.386-.922Zm-5.907-1.765.215-.977-.003-.001-.212.978Zm-6.656-1.439-.213.978h.001l.212-.978Zm-14-6.438-.665.746.005.004.66-.75Zm-5.057-12.388%201%20.004v-.009l-1%20.005Zm3.393-11.145-.811-.585v.001l.811.584Zm9.561-7.485-.4-.917-.002.001.402.916Zm28.064.032-.418.909.418-.909Zm9.104%207.649-.84.544.005.006.835-.55Zm3.263%2011.472v1h1.005l-.005-1.005-1%20.005Zm52.292%202.419-.936.353.003.009.933-.362Zm-4.667-6.276-.575.818.01.007.565-.825Zm-15.173%200%20.57.822.001-.001-.571-.821Zm-4.666%206.276-.934-.36-.001.004.934.356Zm0%2020.297-.936.353.003.009.933-.362Zm4.666%206.275-.576.818.01.007.566-.825Zm15.173%200%20.57.822.002-.001-.572-.821Zm4.667-6.275-.933-.36-.002.004.935.356Zm28.658%2023.304h-1v1h1v-1Zm0-66.938v-1h-1v1h1Zm50.546%2010.524.855-.519-.855.519Zm-.098%2024.35-.839-.543-.002.004.841.539Zm-8.908%207.453-.401-.916h-.002l.403.916Zm-30.576%202.516h-1v1h1v-1Zm0-14.12v-1h-1v1h1Zm19.024-.784.33.944.007-.002-.337-.942Zm3.492-2.582-.818-.575-.007.01.825.565Zm0-9.283-.835.551.006.009.006.008.823-.568Zm-3.492-2.68-.364.931.008.004.008.003.348-.938Zm-11.845-.882v-1h-1v1h1Zm0%2052.426v1h1v-1h-1Zm21.015-30.724.878-.477-.284-.523h-.594v1Zm16.707%2030.724v1h1.682l-.803-1.478-.879.478Zm-19.709%200-.883.469.282.531h.601v-1Zm-16.316-30.724v-1h-1.663l.78%201.47.883-.47Zm41.54%2030.724h-1v1h1v-1Zm0-66.938v-1h-1v1h1Zm50.546%2010.524.854-.519-.854.519Zm-.098%2024.35-.839-.543-.003.004.842.539Zm-8.908%207.453-.402-.916h-.002l.404.916Zm-30.576%202.516h-1v1h1v-1Zm0-14.12v-1h-1v1h1Zm19.024-.784.329.944.008-.002-.337-.942Zm3.492-2.582-.819-.575-.007.01.826.565Zm0-9.283-.835.551.006.009.006.008.823-.568Zm-3.492-2.68-.365.931.008.004.008.003.349-.938Zm-11.845-.882v-1h-1v1h1Zm0%2052.426v1h1v-1h-1Zm21.015-30.724.878-.477-.284-.523h-.594v1Zm16.707%2030.724v1h1.682l-.804-1.478-.878.478Zm-19.709%200-.884.469.282.531h.602v-1Zm-16.316-30.724v-1h-1.663l.78%201.47.883-.47Zm35.658-36.214v-1h-1.669l.787%201.471.882-.471Zm20.231%200%20.902-.433-.272-.567h-.63v1Zm13.053%2027.194-.902.432.273.568h.629v-1Zm.522%200v1h.629l.272-.568-.901-.432Zm13.052-27.194v-1h-.629l-.272.567.901.433Zm20.232%200%20.882.471.787-1.471H322v1Zm-24.539%2045.889-.882-.471-.118.221v.25h1Zm0%2021.049v1h1v-1h-1Zm-18.012%200h-1v1h1v-1Zm0-21.049h1v-.25l-.119-.221-.881.471Zm-238.73-25.051c-.192-2.402-1.108-4.367-2.803-5.786l-1.283%201.534c1.22%201.022%201.936%202.456%202.092%204.412l1.994-.16Zm-2.797-5.781c-1.694-1.439-4.158-2.068-7.206-2.068v2c2.825%200%204.733.591%205.911%201.592l1.295-1.524Zm-7.206-2.068c-1.942%200-3.608.236-4.959.752l.715%201.868c1.043-.399%202.444-.62%204.244-.62v-2Zm-4.95.749c-1.299.482-2.352%201.178-3.065%202.139l1.606%201.192c.419-.565%201.105-1.067%202.155-1.456l-.695-1.875Zm-3.065%202.139a5.448%205.448%200%200%200-1.078%203.189l2%20.044c.017-.781.246-1.451.684-2.041l-1.606-1.192Zm-1.076%203.157c-.052.96.116%201.866.527%202.69l1.79-.893c-.241-.483-.356-1.038-.32-1.689l-1.997-.108Zm.546%202.726c.438.794%201.098%201.478%201.93%202.066l1.155-1.633c-.647-.457-1.074-.928-1.333-1.398l-1.752.965Zm1.947%202.078c.83.562%201.857%201.053%203.062%201.486l.676-1.883c-1.101-.395-1.966-.818-2.616-1.259l-1.122%201.656Zm3.062%201.486c1.209.434%202.627.816%204.248%201.149l.403-1.959c-1.556-.32-2.878-.679-3.975-1.073l-.676%201.883Zm4.24%201.148%205.482%201.176.42-1.955-5.483-1.177-.42%201.956Zm5.484%201.177c3.64.772%206.723%201.784%209.264%203.025l.878-1.797c-2.724-1.33-5.97-2.388-9.727-3.185l-.415%201.957Zm9.264%203.025c2.549%201.245%204.6%202.695%206.18%204.338l1.441-1.386c-1.771-1.844-4.027-3.422-6.743-4.749l-.878%201.797Zm6.184%204.342c1.58%201.625%202.731%203.444%203.464%205.462l1.88-.683c-.834-2.296-2.142-4.356-3.911-6.174l-1.433%201.395Zm3.467%205.47c.76%202.037%201.156%204.274%201.176%206.719l2-.017c-.022-2.653-.453-5.124-1.303-7.401l-1.873.699Zm1.176%206.706c-.02%204.232-1.074%207.748-3.11%2010.602l1.629%201.161c2.315-3.246%203.459-7.183%203.481-11.754l-2-.009Zm-3.11%2010.602c-2.045%202.869-4.988%205.08-8.884%206.612l.732%201.861c4.197-1.65%207.476-4.079%209.78-7.312l-1.627-1.161ZM45%20201.826c-3.878%201.532-8.587%202.316-14.154%202.316v2c5.745%200%2010.717-.808%2014.889-2.456l-.735-1.86Zm-14.154%202.316c-5.712%200-10.65-.847-14.837-2.512l-.739%201.859c4.472%201.778%209.671%202.653%2015.576%202.653v-2Zm-14.835-2.511c-4.135-1.653-7.319-4.178-9.59-7.57l-1.662%201.112c2.514%203.755%206.03%206.525%2010.51%208.315l.742-1.857Zm-9.587-7.565c-2.236-3.39-3.403-7.783-3.424-13.246l-2%20.008c.022%205.737%201.249%2010.54%203.755%2014.34l1.67-1.102ZM2%20181.824h17.23v-2H2v2Zm16.23-.947c.117%202.184.666%204.087%201.697%205.659l1.672-1.096c-.796-1.216-1.27-2.757-1.371-4.669l-1.997.106Zm1.697%205.659c1.029%201.571%202.47%202.75%204.288%203.54l.797-1.834c-1.49-.648-2.614-1.584-3.413-2.802l-1.672%201.096Zm4.292%203.542c1.828.784%203.96%201.159%206.366%201.159v-2c-2.205%200-4.055-.344-5.577-.997l-.789%201.838Zm6.366%201.159c2.011%200%203.757-.248%205.207-.78l-.69-1.877c-1.16.426-2.656.657-4.517.657v2Zm5.207-.78c1.43-.525%202.591-1.282%203.408-2.311l-1.567-1.243c-.532.67-1.35%201.243-2.53%201.677l.689%201.877Zm3.408-2.311a5.708%205.708%200%200%200%201.26-3.51l-1.999-.04a3.713%203.713%200%200%201-.828%202.307l1.567%201.243Zm1.26-3.552a5.136%205.136%200%200%200-1.25-3.309l-1.52%201.301c.498.583.754%201.253.771%202.051l2-.043Zm-1.232-3.285c-.778-.968-1.993-1.747-3.525-2.388l-.773%201.845c1.384.579%202.257%201.195%202.74%201.796l1.558-1.253Zm-3.514-2.383c-1.54-.668-3.579-1.273-6.09-1.824l-.428%201.953c2.45.538%204.349%201.11%205.723%201.706l.795-1.835Zm-6.092-1.825-6.657-1.438-.423%201.955%206.657%201.438.423-1.955Zm-6.656-1.438c-5.804-1.261-10.298-3.349-13.55-6.212l-1.322%201.501c3.578%203.151%208.417%205.355%2014.447%206.666l.425-1.955ZM9.42%20169.456c-3.147-2.809-4.745-6.647-4.724-11.638l-2-.008c-.023%205.468%201.752%209.889%205.392%2013.138l1.332-1.492Zm-4.724-11.647c-.021-4.057%201.055-7.562%203.206-10.557l-1.625-1.167c-2.418%203.368-3.604%207.293-3.581%2011.734l2-.01Zm3.205-10.556c2.189-3.041%205.226-5.429%209.152-7.154l-.805-1.831c-4.21%201.85-7.547%204.451-9.97%207.816l1.623%201.169Zm9.15-7.153c3.942-1.722%208.49-2.596%2013.664-2.596v-2c-5.4%200-10.228.912-14.465%202.763l.8%201.833Zm13.664-2.596c5.285%200%209.803.886%2013.581%202.621l.835-1.817c-4.096-1.882-8.912-2.804-14.416-2.804v2Zm13.581%202.621c3.784%201.738%206.664%204.169%208.683%207.283l1.678-1.087c-2.246-3.466-5.435-6.134-9.526-8.013l-.835%201.817Zm8.687%207.29c2.034%203.088%203.077%206.717%203.098%2010.927l2-.01c-.023-4.55-1.156-8.568-3.428-12.017l-1.67%201.1Zm4.098%209.922h-17.36v2h17.36v-2Zm54.891%2013.551c0-4.091-.543-7.6-1.667-10.494l-1.865.724c1.009%202.596%201.532%205.843%201.532%209.77h2Zm-1.664-10.485c-1.103-2.924-2.772-5.196-5.036-6.748l-1.131%201.65c1.869%201.281%203.311%203.192%204.296%205.804l1.871-.706Zm-5.026-6.741c-2.245-1.578-4.98-2.339-8.146-2.339v2c2.838%200%205.15.678%206.995%201.975l1.151-1.636Zm-8.146-2.339c-3.166%200-5.91.761-8.174%202.336l1.142%201.642c1.869-1.3%204.194-1.978%207.032-1.978v-2Zm-8.173%202.335c-2.239%201.551-3.906%203.82-5.03%206.738l1.867.719c1.008-2.617%202.452-4.531%204.302-5.813l-1.139-1.644Zm-5.031%206.742c-1.1%202.892-1.632%206.399-1.632%2010.488h2c0-3.929.513-7.178%201.501-9.777l-1.87-.711ZM82.3%20170.888c0%204.09.532%207.606%201.63%2010.518l1.872-.706c-.99-2.622-1.502-5.883-1.502-9.812h-2Zm1.634%2010.527c1.125%202.896%202.79%205.161%205.023%206.731l1.151-1.636c-1.856-1.305-3.302-3.224-4.31-5.819l-1.864.724Zm5.034%206.738c2.263%201.552%205.005%202.3%208.168%202.3v-2c-2.841%200-5.168-.668-7.038-1.95l-1.13%201.65Zm8.168%202.3c3.163%200%205.896-.748%208.14-2.303l-1.139-1.644c-1.846%201.279-4.16%201.947-7.001%201.947v2Zm8.142-2.304c2.258-1.571%203.926-3.839%205.029-6.741l-1.869-.711c-.985%202.59-2.428%204.506-4.303%205.811l1.143%201.641Zm5.028-6.737c1.123-2.914%201.666-6.432%201.666-10.524h-2c0%203.927-.523%207.185-1.532%209.805l1.866.719Zm28.725%2022.945v-66.938h-2v66.938h2Zm-1-65.938h28.846v-2h-28.846v2Zm28.846%200c4.839%200%209.024.882%2012.583%202.612l.875-1.799c-3.881-1.886-8.376-2.813-13.458-2.813v2Zm12.583%202.612c3.555%201.728%206.3%204.203%208.263%207.432l1.709-1.039c-2.171-3.57-5.212-6.303-9.097-8.192l-.875%201.799Zm8.263%207.432c1.954%203.214%202.954%207.102%202.954%2011.704h2c0-4.897-1.066-9.159-3.245-12.743l-1.709%201.039Zm2.954%2011.704c0%204.644-1.031%208.487-3.037%2011.583l1.679%201.087c2.258-3.485%203.358-7.726%203.358-12.67h-2Zm-3.039%2011.587c-1.997%203.112-4.807%205.471-8.468%207.076l.802%201.831c3.997-1.751%207.125-4.36%209.349-7.828l-1.683-1.079Zm-8.47%207.076c-3.655%201.611-7.961%202.432-12.943%202.432v2c5.199%200%209.79-.857%2013.749-2.601l-.806-1.831Zm-12.943%202.432h-17.23v2h17.23v-2Zm-16.23%201v-14.12h-2v14.12h2Zm-1-13.12h13.575v-2h-13.575v2Zm13.575%200c2.208%200%204.142-.27%205.778-.84l-.658-1.888c-1.366.476-3.064.728-5.12.728v2Zm5.786-.842c1.694-.606%203.041-1.586%203.98-2.959l-1.65-1.13c-.671.98-1.651%201.722-3.003%202.205l.673%201.884Zm3.973-2.949c.978-1.391%201.422-3.147%201.422-5.184h-2c0%201.755-.382%203.072-1.058%204.034l1.636%201.15Zm1.422-5.184c0-2.056-.443-3.83-1.417-5.241l-1.646%201.135c.68.986%201.063%202.328%201.063%204.106h2Zm-1.405-5.224c-.935-1.417-2.279-2.435-3.978-3.067l-.697%201.875c1.347.501%202.33%201.27%203.005%202.293l1.67-1.101Zm-3.962-3.061c-1.648-.646-3.595-.951-5.814-.951v2c2.045%200%203.731.283%205.085.813l.729-1.862Zm-5.814-.951h-6.396v2h6.396v-2Zm-7.396%201v52.426h2v-52.426h-2Zm1%2051.426h-18.143v2h18.143v-2Zm20.136-29.246%2016.708%2030.724%201.757-.956-16.708-30.723-1.757.955Zm17.586%2029.246h-19.709v2h19.709v-2Zm-18.826.531-16.316-30.724-1.766.939%2016.316%2030.723%201.766-.938Zm-17.199-29.255h19.318v-2h-19.318v2Zm42.54%2029.724v-66.938h-2v66.938h2Zm-1-65.938h28.846v-2h-28.846v2Zm28.846%200c4.838%200%209.024.882%2012.583%202.612l.874-1.799c-3.88-1.886-8.375-2.813-13.457-2.813v2Zm12.583%202.612c3.554%201.728%206.3%204.203%208.263%207.432l1.708-1.039c-2.17-3.57-5.211-6.303-9.097-8.192l-.874%201.799Zm8.263%207.432c1.954%203.214%202.954%207.102%202.954%2011.704h2c0-4.897-1.067-9.159-3.246-12.743l-1.708%201.039Zm2.954%2011.704c0%204.644-1.031%208.487-3.037%2011.583l1.678%201.087c2.258-3.485%203.359-7.726%203.359-12.67h-2Zm-3.04%2011.587c-1.996%203.112-4.806%205.471-8.468%207.076l.803%201.831c3.996-1.751%207.125-4.36%209.349-7.828l-1.684-1.079Zm-8.47%207.076c-3.654%201.611-7.961%202.432-12.943%202.432v2c5.2%200%209.791-.857%2013.75-2.601l-.807-1.831Zm-12.943%202.432h-17.229v2h17.229v-2Zm-16.229%201v-14.12h-2v14.12h2Zm-1-13.12h13.575v-2h-13.575v2Zm13.575%200c2.208%200%204.142-.27%205.778-.84l-.658-1.888c-1.366.476-3.065.728-5.12.728v2Zm5.786-.842c1.694-.606%203.041-1.586%203.98-2.959l-1.651-1.13c-.67.98-1.651%201.722-3.003%202.205l.674%201.884Zm3.973-2.949c.977-1.391%201.422-3.147%201.422-5.184h-2c0%201.755-.383%203.072-1.058%204.034l1.636%201.15Zm1.422-5.184c0-2.056-.444-3.83-1.417-5.241l-1.646%201.135c.68.986%201.063%202.328%201.063%204.106h2Zm-1.405-5.224c-.935-1.417-2.28-2.435-3.978-3.067l-.698%201.875c1.348.501%202.331%201.27%203.006%202.293l1.67-1.101Zm-3.962-3.061c-1.648-.646-3.596-.951-5.814-.951v2c2.045%200%203.73.283%205.084.813l.73-1.862Zm-5.814-.951h-6.396v2h6.396v-2Zm-7.396%201v52.426h2v-52.426h-2Zm1%2051.426h-18.143v2h18.143v-2Zm20.136-29.246%2016.707%2030.724%201.757-.956-16.707-30.723-1.757.955Zm17.586%2029.246h-19.709v2h19.709v-2Zm-18.826.531-16.316-30.724-1.766.939%2016.315%2030.723%201.767-.938Zm-17.199-29.255h19.318v-2h-19.318v2Zm35.658-36.214h20.231v-2h-20.23v2Zm19.33-.567%2013.052%2027.193%201.803-.865-13.052-27.194-1.803.866Zm13.954%2027.761h.522v-2h-.522v2Zm1.423-.568%2013.053-27.193-1.803-.866-13.053%2027.194%201.803.865Zm12.151-26.626H322v-2h-20.232v2Zm19.35-1.472-24.539%2045.89%201.764.943%2024.539-45.89-1.764-.943Zm-24.657%2046.361v21.049h2v-21.049h-2Zm1%2020.049h-18.012v2h18.012v-2Zm-17.012%201v-21.049h-2v21.049h2Zm-.119-21.52-24.538-45.89-1.764.943%2024.539%2045.89%201.763-.943Z%22%20mask%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2260%22%20r%3D%2260%22%20fill%3D%22%23F7F1FF%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M83.7014%2047.556L69.2159%2062.0532L54.7304%2076.5504C54.4962%2076.7143%2054.2854%2076.8314%2054.0044%2076.8314C53.7233%2076.8314%2053.5126%2076.7143%2053.2784%2076.5504L36.2986%2059.5472C35.9005%2059.1725%2035.9005%2058.4933%2036.2986%2058.1185L39.9375%2054.3438C40.3122%2053.969%2040.9914%2053.969%2041.3661%2054.3438L54.0044%2066.8436L78.4464%2042.281C78.8211%2041.9063%2079.5003%2041.9063%2079.875%2042.281L83.7014%2046.1273C84.0995%2046.5021%2084.0995%2047.1812%2083.7014%2047.556Z%22%20fill%3D%22url%28%23paint0_linear_158_26261%29%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_158_26261%22%20x1%3D%2284%22%20y1%3D%2245.3572%22%20x2%3D%2213.7792%22%20y2%3D%22119.057%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23A363F4%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23FF6A8A%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%3E%20%20%3Cpath%20fill%3D%22%2345CB71%22%20fill-rule%3D%22evenodd%22%20d%3D%22m20.888%207.333-5.432%205.437-5.432%205.436a.458.458%200%200%201-.272.106.458.458%200%200%201-.273-.106L3.112%2011.83a.376.376%200%200%201%200-.536L4.477%209.88c.14-.14.395-.14.535%200l4.74%204.687%209.165-9.21a.392.392%200%200%201%20.536%200l1.435%201.442c.15.14.15.395%200%20.535Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2222%22%20height%3D%2222%22%20fill%3D%22none%22%20viewBox%3D%220%200%2022%2022%22%3E%20%20%3Cpath%20fill%3D%22%232E7D32%22%20d%3D%22m15.207%206.948-6.04%206.041-3.291-3.282L4.583%2011l4.583%204.583L16.5%208.25l-1.293-1.302ZM11%201.833C5.94%201.833%201.833%205.94%201.833%2011S5.94%2020.167%2011%2020.167%2020.166%2016.06%2020.166%2011%2016.06%201.833%2011%201.833Zm0%2016.5A7.331%207.331%200%200%201%203.666%2011%207.331%207.331%200%200%201%2011%203.667%207.331%207.331%200%200%201%2018.333%2011%207.331%207.331%200%200%201%2011%2018.333Z%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22320%22%20height%3D%22240%22%20fill%3D%22none%22%20viewBox%3D%220%200%20320%20240%22%3E%20%20%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M75.485%20131.459a.458.458%200%201%201-.001-.917.458.458%200%200%201%200%20.917Zm74.89-125.824a.458.458%200%201%201%200-.916.458.458%200%200%201%200%20.916ZM252.461%2084.67a.458.458%200%201%201%200-.917.458.458%200%200%201%200%20.917Zm-73.903%20105.961a.459.459%200%201%201%200-.918.459.459%200%200%201%200%20.918ZM43.08%2091.663a.459.459%200%201%201%200-.918.459.459%200%200%201%200%20.918Zm134.651-48.684a.46.46%200%201%201%200-.918.46.46%200%200%201%200%20.918ZM52.01%20186.308a.458.458%200%201%201-.002-.917.458.458%200%200%201%20.001.917Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m39.732%20206.948-2.526%201.838M220.815.385l-2.525%201.837m-47.262%20114.98-2.526%201.838M144.87%20225.973l2.563%201.786m-77.277-9.808%202.563%201.785M247.603%2037.505l2.563%201.785M200.82%2084.813l2.563%201.785m-82.998-75.102-2.907-1.142M56.587%205.177l-1.7%202.62m159.509%20219.961-1.699%202.621%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M198.977%20194.782c.254%201.317.406%203.395-.134%204.74m-11.086%203.863c.373.201.733.36%201.081.484m9.822-3.968a2.204%202.204%200%200%201-.273.377m-.181.174a1.58%201.58%200%200%201-.458.266m-.164.052a2.103%202.103%200%200%201-.825.034c-2.779-.389-3.433-3.685-3.412-5.284.056-1.216.797-2.775%202.058-1.009%201.261%201.764.334%205.212-.287%206.715-.511%201.114-1.843%202.731-3.932%202.956m-.419.026a5.71%205.71%200%200%201-.291-.004m-.217-.015a5.354%205.354%200%200%201-.513-.072m-.208-.043a6.4%206.4%200%200%201-.521-.144%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M83.541%2030.684c-2.207%201.12-5.82%202.445-8.481%202.169M62.572%2015.138a14.378%2014.378%200%200%200-.31%202.164M74.294%2032.72a4.037%204.037%200%200%201-.806-.292m-.4-.234a2.929%202.929%200%200%201-.706-.678m-.175-.264c-.234-.396-.399-.875-.48-1.448-.72-5.13%204.798-7.965%207.647-8.741%202.185-.517%205.328.006%202.836%203.14-2.491%203.136-9.082%203.241-12.066%202.902-2.236-.34-5.783-1.884-7.243-5.476m-.259-.73a8.837%208.837%200%200%201-.14-.52m-.085-.393a9.679%209.679%200%200%201-.133-.946m-.029-.392c-.017-.32-.02-.653-.009-.996%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M182.929%20128.653h47.014c-.755-4.702-3.393-3.498-4.617-2.308-7.892-16.708-15.252-7.312-17.946-.525-3.862-6.297-7.906-2.624-9.445%200-7.976-5.289-13.328-.315-15.006%202.833ZM81.015%2048.952H34c.755-4.701%203.393-3.498%204.617-2.308%207.892-16.708%2015.252-7.312%2017.946-.525%203.862-6.297%207.906-2.624%209.445%200%207.976-5.29%2013.328-.315%2015.007%202.833Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m228.409%2053.234-2.354%2012.722-10.03-4.167%209.304%207.304-8.315%204.089%209.636-1.797-2.018%2011.95%204.97-11.622%208.764%209.487-5.77-10.812%208.668-2.91-8.287-.52%202.486-5.337-4.826%203.822-2.228-12.209Zm-67.077-25.837-.982%205.306-4.184-1.738%203.881%203.046-3.468%201.706%204.019-.75-.841%204.985%202.073-4.848%203.655%203.957-2.407-4.51%203.615-1.213-3.456-.217%201.037-2.226-2.013%201.594-.929-5.092Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m225.61%20151.6-2.799%2015.13-11.929-4.955%2011.066%208.686-9.89%204.864%2011.46-2.137-2.4%2014.213%205.912-13.823%2010.422%2011.282-6.862-12.858%2010.309-3.462-9.856-.617%202.958-6.349-5.741%204.547-2.65-14.521Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m188.864%2070.503-58.299%20169.882m12.274-179.498-9.088%2026.48M84.541%20230.77l24.605-71.701m37.444%2034.772-47.162-6.32m78.64-85.303-42.198-5.73m27.153%2048.865-15.899-2.131%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m79.598%2091.473-8.975%2011.928c-1.322%201.36-2.992%200-2.06-2.332%200-.466%201.58-3.794%202.37-5.4l-4.662%203.07-11.034.582-5.595-4.623c-1.438-1.166-.614-2.455%201.282-2.02-1.01-.894-1.515-3.07%201.593-1.944-.466-.918-1.15-2.455.777-2.02.442.136%202.653%202.02%202.653%202.02s2.842.17%203.641.506l-6.294-4.39c-.738-.506-.233-1.865%201.126-1.438.312%200%204.767%202.046%206.955%203.07l10.568-5.362%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M70.9%2095.639c-1.29-1.308-3.287-4.776-.967-8.187m60.492-13.734%2018.16%2076.235H83.138l21.396-82.528%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M173.246%2053.62c.141-.187%207.521-13.674%2011.193-20.394.694-1.269%202.344-.867%201.641%201.758a73.353%2073.353%200%200%201-1.992%206.212c3.672%201.27%2010.536%205.673%208.614%2013.128-1.993%207.911-2.52-2.872-3.927-2.93-1.124-.048-5.313%206.309-7.266%209.493%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M102.434%20149.862c-4.488-3.272-10.571-11.831%201.007-19.885%2014.473-10.068%205.286-14.347%200-25.799-3.139-6.804-4.153-11.327%207.3-17.745%209.162-5.136%203.314-14.474-.755-18.5%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M140.517%2030.061c-1.02-.528-1.774-1.359-2.338-2.395a9.116%209.116%200%200%200-.865-1.304c-1.205-1.514-2.759-2.5-4.287-2.88-1.527-.38-3.009-.151-4.114.727-1.104.879-1.659%202.27-1.633%203.844.026%201.574.636%203.31%201.841%204.825%201.204%201.515%202.759%202.5%204.287%202.88%201.527.38%203.008.152%204.113-.727%201.198-.953%201.752-2.513%201.614-4.251l-.022-.284.275-.075c.348-.095.767-.233%201.129-.36Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M133.255%2030.553c1.925-2.782%201.062-6.004.49-7.076-.421-.286-1.672-.734-3.311-.238-2.05.62-3.098%202.025-3.36%205.027-.21%202.402%202.153%205.147%203.36%206.219%201.124-.23%201.723-1.24%201.882-1.716-.929-.19-2.216-1.072-1.644-2.216.571-1.143%202.668-.125%202.583%200Z%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M121.715%2021.585c3.537-1.488%206.223%201.064%207.124%202.526l-.176.913c-.222-.304-2.059-.352-3.298%200-3.761%201.067-3.123%207.65-3.123%209.51l-7.896-6.913c.982-1.392%203.832-4.548%207.369-6.036Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M136.909%2027.408c-.519-.294-1.762-.578-2.589.64m4.04%204.942c-.316.107-1.091.175-1.651-.41m.449-3.703c-.476-.404-1.623-.872-2.396.488%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M136.047%2029.55a.5.5%200%201%201-.2-.98.5.5%200%200%201%20.2.98Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M133.094%2031.48c-.23-.242-.882-.665-1.651-.41%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M132.229%2031.098c-.198.113-.472.473.02%201.008m3.197%204.038-1.076%202.967m-3.942-4.596-.945%202.269%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m134.734%2038.21.712-1.993c-1.943.081-3.835-.84-4.538-1.31%201.35%202.025%203.113%203.046%203.826%203.303Z%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22M141.165%2041.471s-14.678-6.193-20.004-6.874c-5.326-.682-11.591%202.632-13.759%204.738l-38.74%2041.369%2013.934%2014.36%2021.895-27.44%2029.998%207.534%203.413-8.814c.522%202.938%202.787%2010.805%207.678%2018.767s14.265%205.024%2018.34%202.559l25.876-21.326-16.776-15.355-13.649%2019.193c-1.185-2.89-3.798-10.327-7.21-16.924-3.412-6.597-4.678-8.442-10.996-11.787Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m104.764%2066.084%205.3-16.963m28.308%2015.664%202.027-7.182m15.737%2016.599%202.63-3.38%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m109.966%20188.991-5.416-.861-.652-29.167h14.777l1.629%2014.15%2026.955%2020.677-32.986-4.799-2.584-5.047-1.723%205.047Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m103.659%20150.058.239%208.905m13.768-8.905%201.009%208.905m0%200%201.629%2014.15%2026.955%2020.677-32.986-4.799-2.584-5.047-1.723%205.047-5.416-.862-.652-29.166m14.777%200h-14.777%22%2F%3E%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m129.428%20189.024-5.414-.861-.653-29.167h14.777l1.63%2014.151%2026.954%2020.678-32.985-4.801-2.585-5.046-1.724%205.046Z%22%2F%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m123.121%20150.092.24%208.905m13.769-8.905%201.008%208.905m0%200%201.63%2014.15%2026.954%2020.678-32.985-4.801-2.585-5.045-1.724%205.045-5.414-.861-.653-29.166m14.777%200h-14.777m-9.093-8.905.646%207.174m-3.569-7.174%201.257%207.684m-4.624-7.684.238%207.174m25.512-7.14.646%207.174m-3.57-7.174%201.257%207.683m-4.623-7.683.238%207.174m-76.87-64.7%205.206%203.73%203.07-.428m-6.605-5.206%203.73%202.526%202.875-.35%22%2F%3E%20%20%20%20%3Cmask%20id%3D%22b%22%20width%3D%22103%22%20height%3D%2236%22%20x%3D%22192%22%20y%3D%226%22%20fill%3D%22%23000%22%20maskUnits%3D%22userSpaceOnUse%22%3E%20%20%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M192%206h103v36H192z%22%2F%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M217.151%2021.981h-4.33l4.878-14.779h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.83h8.14v3.001h-8.14V16.15Zm21.889-8.949h4.013v9.468c0%201.126-.27%202.1-.808%202.923-.534.817-1.28%201.45-2.238%201.898-.957.442-2.068.663-3.333.663-1.275%200-2.392-.22-3.349-.663-.957-.448-1.703-1.08-2.237-1.898-.529-.823-.794-1.797-.794-2.923V7.202h4.013v9.122c0%20.457.101.866.303%201.226.202.356.481.635.837.837.361.203.769.304%201.227.304.461%200%20.87-.101%201.226-.303.356-.203.635-.482.837-.838.202-.36.303-.77.303-1.226V7.202Zm5.516%203.233V7.202h12.845v3.233h-4.445v11.546h-3.955V10.435h-4.445Zm27.978%204.157c0%201.645-.32%203.033-.96%204.164-.64%201.125-1.504%201.98-2.591%202.561-1.087.578-2.299.866-3.637.866-1.347%200-2.564-.29-3.651-.873-1.083-.587-1.944-1.443-2.584-2.569-.635-1.13-.952-2.514-.952-4.15%200-1.645.317-3.03.952-4.156.64-1.13%201.501-1.985%202.584-2.562%201.087-.582%202.304-.873%203.651-.873%201.338%200%202.55.291%203.637.873%201.087.577%201.951%201.431%202.591%202.562.64%201.126.96%202.511.96%204.157Zm-4.128%200c0-.886-.118-1.631-.354-2.237-.231-.611-.575-1.073-1.032-1.386-.452-.317-1.01-.476-1.674-.476-.664%200-1.224.159-1.681.476-.453.313-.797.775-1.032%201.386-.231.606-.347%201.351-.347%202.237%200%20.885.116%201.633.347%202.244.235.606.579%201.068%201.032%201.386.457.312%201.017.469%201.681.469.664%200%201.222-.157%201.674-.47.457-.317.801-.779%201.032-1.385.236-.611.354-1.36.354-2.244ZM193%2040.045v-14.78h6.379c1.097%200%202.057.217%202.88.65a4.717%204.717%200%200%201%201.919%201.826c.457.784.686%201.7.686%202.75%200%201.058-.236%201.974-.707%202.749a4.649%204.649%200%200%201-1.971%201.79c-.841.418-1.825.627-2.951.627h-3.81V32.54h3.002c.471%200%20.873-.082%201.205-.246.337-.168.594-.406.772-.714.183-.308.274-.671.274-1.09%200-.423-.091-.784-.274-1.082a1.719%201.719%200%200%200-.772-.693c-.332-.164-.734-.245-1.205-.245h-1.415v11.575H193Zm15.329%200H204l4.878-14.78h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.116l-3.233%2010.71Zm-.808-5.831h8.14v3.002h-8.14v-3.002Zm11.029-8.949h4.474l2.886%206.005h.116l2.886-6.005h4.475l-5.427%2010.132v4.648h-3.984v-4.648l-5.426-10.131Zm16.145%2014.78v-14.78h6.408c1.125%200%202.071.152%202.836.455.77.303%201.349.731%201.739%201.285.394.553.592%201.205.592%201.955%200%20.544-.121%201.04-.361%201.487a3.19%203.19%200%200%201-.996%201.126%203.966%203.966%200%200%201-1.501.62v.145a3.707%203.707%200%200%201%201.732.483c.519.294.933.7%201.241%201.22.308.514.462%201.12.462%201.818%200%20.808-.212%201.528-.635%202.158-.419.63-1.015%201.126-1.79%201.486-.774.361-1.698.542-2.771.542h-6.956Zm4.012-3.204h1.876c.674%200%201.179-.126%201.516-.376.336-.255.505-.63.505-1.125%200-.347-.08-.64-.238-.88a1.485%201.485%200%200%200-.679-.55c-.288-.124-.637-.187-1.046-.187h-1.934v3.118Zm0-5.6h1.645c.351%200%20.662-.056.931-.166.27-.11.479-.27.628-.477.154-.211.231-.469.231-.772%200-.457-.164-.806-.491-1.046-.327-.245-.741-.368-1.241-.368h-1.703v2.829Zm13.401%208.804h-4.33l4.878-14.78h5.485l4.878%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.831h8.141v3.002h-8.141v-3.002Zm26.247-3.406h-4.071a2.74%202.74%200%200%200-.23-.917%202.075%202.075%200%200%200-.506-.707%202.102%202.102%200%200%200-.772-.462%202.994%202.994%200%200%200-1.032-.166c-.673%200-1.243.164-1.71.49-.462.328-.813.797-1.054%201.408-.235.611-.353%201.345-.353%202.201%200%20.905.12%201.662.361%202.273.245.606.599%201.064%201.06%201.371.462.303%201.018.455%201.667.455.371%200%20.703-.046.996-.137.294-.096.549-.233.765-.411.217-.178.392-.393.527-.643.14-.255.233-.54.281-.858l4.071.028a5.539%205.539%200%200%201-.527%201.913%206.22%206.22%200%200%201-1.292%201.79c-.553.543-1.239.98-2.057%201.313-.818.332-1.768.498-2.85.498-1.357%200-2.574-.291-3.652-.873-1.072-.583-1.922-1.439-2.547-2.57-.621-1.13-.931-2.513-.931-4.149%200-1.645.318-3.03.953-4.157.635-1.13%201.491-1.984%202.569-2.561%201.077-.582%202.28-.874%203.608-.874.933%200%201.792.128%202.576.383a6.202%206.202%200%200%201%202.064%201.118%205.524%205.524%200%200%201%201.429%201.797c.361.712.58%201.528.657%202.447Zm1.82%209.237v-14.78h4.012v5.976h.202l4.446-5.976h4.676l-4.994%206.582%205.109%208.198h-4.791l-3.32-5.543-1.328%201.732v3.81h-4.012Z%22%2F%3E%20%20%20%20%3C%2Fmask%3E%20%20%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20d%3D%22M217.151%2021.981h-4.33l4.878-14.779h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.83h8.14v3.001h-8.14V16.15Zm21.889-8.949h4.013v9.468c0%201.126-.27%202.1-.808%202.923-.534.817-1.28%201.45-2.238%201.898-.957.442-2.068.663-3.333.663-1.275%200-2.392-.22-3.349-.663-.957-.448-1.703-1.08-2.237-1.898-.529-.823-.794-1.797-.794-2.923V7.202h4.013v9.122c0%20.457.101.866.303%201.226.202.356.481.635.837.837.361.203.769.304%201.227.304.461%200%20.87-.101%201.226-.303.356-.203.635-.482.837-.838.202-.36.303-.77.303-1.226V7.202Zm5.516%203.233V7.202h12.845v3.233h-4.445v11.546h-3.955V10.435h-4.445Zm27.978%204.157c0%201.645-.32%203.033-.96%204.164-.64%201.125-1.504%201.98-2.591%202.561-1.087.578-2.299.866-3.637.866-1.347%200-2.564-.29-3.651-.873-1.083-.587-1.944-1.443-2.584-2.569-.635-1.13-.952-2.514-.952-4.15%200-1.645.317-3.03.952-4.156.64-1.13%201.501-1.985%202.584-2.562%201.087-.582%202.304-.873%203.651-.873%201.338%200%202.55.291%203.637.873%201.087.577%201.951%201.431%202.591%202.562.64%201.126.96%202.511.96%204.157Zm-4.128%200c0-.886-.118-1.631-.354-2.237-.231-.611-.575-1.073-1.032-1.386-.452-.317-1.01-.476-1.674-.476-.664%200-1.224.159-1.681.476-.453.313-.797.775-1.032%201.386-.231.606-.347%201.351-.347%202.237%200%20.885.116%201.633.347%202.244.235.606.579%201.068%201.032%201.386.457.312%201.017.469%201.681.469.664%200%201.222-.157%201.674-.47.457-.317.801-.779%201.032-1.385.236-.611.354-1.36.354-2.244ZM193%2040.045v-14.78h6.379c1.097%200%202.057.217%202.88.65a4.717%204.717%200%200%201%201.919%201.826c.457.784.686%201.7.686%202.75%200%201.058-.236%201.974-.707%202.749a4.649%204.649%200%200%201-1.971%201.79c-.841.418-1.825.627-2.951.627h-3.81V32.54h3.002c.471%200%20.873-.082%201.205-.246.337-.168.594-.406.772-.714.183-.308.274-.671.274-1.09%200-.423-.091-.784-.274-1.082a1.719%201.719%200%200%200-.772-.693c-.332-.164-.734-.245-1.205-.245h-1.415v11.575H193Zm15.329%200H204l4.878-14.78h5.484l4.879%2014.78h-4.33l-3.233-10.71h-.116l-3.233%2010.71Zm-.808-5.831h8.14v3.002h-8.14v-3.002Zm11.029-8.949h4.474l2.886%206.005h.116l2.886-6.005h4.475l-5.427%2010.132v4.648h-3.984v-4.648l-5.426-10.131Zm16.145%2014.78v-14.78h6.408c1.125%200%202.071.152%202.836.455.77.303%201.349.731%201.739%201.285.394.553.592%201.205.592%201.955%200%20.544-.121%201.04-.361%201.487a3.19%203.19%200%200%201-.996%201.126%203.966%203.966%200%200%201-1.501.62v.145a3.707%203.707%200%200%201%201.732.483c.519.294.933.7%201.241%201.22.308.514.462%201.12.462%201.818%200%20.808-.212%201.528-.635%202.158-.419.63-1.015%201.126-1.79%201.486-.774.361-1.698.542-2.771.542h-6.956Zm4.012-3.204h1.876c.674%200%201.179-.126%201.516-.376.336-.255.505-.63.505-1.125%200-.347-.08-.64-.238-.88a1.485%201.485%200%200%200-.679-.55c-.288-.124-.637-.187-1.046-.187h-1.934v3.118Zm0-5.6h1.645c.351%200%20.662-.056.931-.166.27-.11.479-.27.628-.477.154-.211.231-.469.231-.772%200-.457-.164-.806-.491-1.046-.327-.245-.741-.368-1.241-.368h-1.703v2.829Zm13.401%208.804h-4.33l4.878-14.78h5.485l4.878%2014.78h-4.33l-3.233-10.71h-.115l-3.233%2010.71Zm-.809-5.831h8.141v3.002h-8.141v-3.002Zm26.247-3.406h-4.071a2.74%202.74%200%200%200-.23-.917%202.075%202.075%200%200%200-.506-.707%202.102%202.102%200%200%200-.772-.462%202.994%202.994%200%200%200-1.032-.166c-.673%200-1.243.164-1.71.49-.462.328-.813.797-1.054%201.408-.235.611-.353%201.345-.353%202.201%200%20.905.12%201.662.361%202.273.245.606.599%201.064%201.06%201.371.462.303%201.018.455%201.667.455.371%200%20.703-.046.996-.137.294-.096.549-.233.765-.411.217-.178.392-.393.527-.643.14-.255.233-.54.281-.858l4.071.028a5.539%205.539%200%200%201-.527%201.913%206.22%206.22%200%200%201-1.292%201.79c-.553.543-1.239.98-2.057%201.313-.818.332-1.768.498-2.85.498-1.357%200-2.574-.291-3.652-.873-1.072-.583-1.922-1.439-2.547-2.57-.621-1.13-.931-2.513-.931-4.149%200-1.645.318-3.03.953-4.157.635-1.13%201.491-1.984%202.569-2.561%201.077-.582%202.28-.874%203.608-.874.933%200%201.792.128%202.576.383a6.202%206.202%200%200%201%202.064%201.118%205.524%205.524%200%200%201%201.429%201.797c.361.712.58%201.528.657%202.447Zm1.82%209.237v-14.78h4.012v5.976h.202l4.446-5.976h4.676l-4.994%206.582%205.109%208.198h-4.791l-3.32-5.543-1.328%201.732v3.81h-4.012Z%22%20mask%3D%22url%28%23b%29%22%2F%3E%20%20%3C%2Fg%3E%20%20%3Cdefs%3E%20%20%20%20%3CclipPath%20id%3D%22a%22%3E%20%20%20%20%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h320v240H0z%22%2F%3E%20%20%20%20%3C%2FclipPath%3E%20%20%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22246%22%20height%3D%22231%22%20fill%3D%22none%22%20viewBox%3D%220%200%20246%20231%22%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M217.875%20117.345a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974ZM61.268%20163.38a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974Zm-36.873%2014.304a.487.487%200%201%200%200-.974.487.487%200%200%200%200%20.974Zm-.908-162.709a.487.487%200%201%200%200-.975.487.487%200%200%200%200%20.975Zm135.609%2015.076a.488.488%200%201%200%200-.976.488.488%200%200%200%200%20.976ZM93.62%20189.508a.487.487%200%201%200%200-.975.487.487%200%200%200%200%20.975Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m214.338%2044.34%202.684%201.952%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M15.164%20171c-2.998%204.153-6.873%2011.115-7.164%2016.646m32.208%2031.238a29.811%2029.811%200%200%201-4.524-.062m-27.66-29.566c.055.609.165%201.193.338%201.745m.348.892c.29.607.671%201.165%201.158%201.66m.485.444c.735.607%201.662%201.097%202.808%201.446%2010.258%203.126%2017.831-7.246%2020.335-12.822%201.761-4.303%201.703-10.9-5.51-6.812-7.212%204.086-9.55%2017.53-9.817%2023.742-.022%204.682%201.991%2012.432%208.867%2016.574m1.411.764c.33.16.67.312%201.019.455m.776.299c.603.218%201.233.411%201.892.577m.791.185c.651.139%201.33.252%202.035.339%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M171%2036.624c7.505-11.578%2022.634-31.055%2023.108-16.338.594%2018.395-5.272%209.529-3.431%204.138%202.297-6.723%209.495-11.486%2017.612-7.198m-46.81%2052.681%202.684%201.953M115%202.626%20117.893%201M76.568%20210.462l2.684%201.952m-75.505-80.7-2.723%201.897m159.434%2068.13-2.723%201.897m70.875-48.419-2.724%201.898M14.323%2050.414l-1.925-2.704m217.698-31.277%203.089-1.213M211%205l1.806%202.785M1%20204.976l1.805%202.784%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20d%3D%22m153.061%2080.582%2019.053.451m-40.582%20107.563%2044.841.879m10.574-108.09%2019.94.474v108.197l-21.926-.425%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23A363F4%22%20stroke-linecap%3D%22round%22%20d%3D%22M172.855%2093.715h19.711m-31.083%2012.003h27.799m-36.012%2012.13h37.275m-35.885%2011.246h32.473m-33.863%2014.784h33.863m-29.946%2013.773%2023.123%201.39%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m39.007%2039.073%2023.1-23.686m-23.1%2023.686%202.154%20136.638H99.9M39.007%2039.073l23.1%204.11V15.388m0%200h91.026v142.48m-10.536%2017.844h-15.049%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m52.5%20113%204.684%206.127L69.5%20105.5m-17-21c.254.635%202.5%204%204.684%206.387L68%2077.085M52.5%2055.5l4.684%206.037%204.124-6.037m3.967%206.989h50.648m18.364%200H119.41M66.703%2089.777h11.105m-11.106%2027.922h37.918%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M82.439%20111.271c-10.332-6.935-12.36-34.654-12.22-48.7%202.774%2010.675%209.102%2033.31%2012.22%2038.451%203.119%205.141%209.797%202.984%2012.746%201.263l12.326-5.583-1.42%2011.537c-5.878%204.306-17.587%207.102-23.652%203.032Zm58.592-4.658%2012.008%2051.485-7.925-58.605%207.925%206.259v3.174c2.955%201.85%207.132%202.875%2011.835%202.468%2012.346-1.066%2015.158-17.043%2018.675-25.652l6.547-4.686h-2.417l-5.452%203.364-1.146%202.115c-2.978%205.326-10.388%2016.796-16.207%2020.078-5.819%203.283-10.314-1.367-11.835-4.102l-12.008-12.345v16.447Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M105.467%20110.895c-1.692%2013.658-5.128%2043.751-5.73%2055.781-.6%2012.029%202.256%2034.333%203.759%2043.982l33.269-3.196-11.465-39.095%201.599-21.217m1.22-16.187-1.22%2016.187m0%200c.407%207.698%205.619%2025.089%2023.211%2033.058%2017.593%207.969%2030.387%2010.464%2034.585%2010.714l6.766-22.555-38.72-10.526-10.697-50.524%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M126.49%20229.746h7.797l-3.936-21.82-14.189%201.567%201.251%203.96-31.537%2016.293H122.3l3.492-4.772.698%204.772Zm83.397-45.501%202.365-7.429-22.188-2.953-4.259%2014.079%205.804.01%205.956%2034.994%2011.052-34.709-3.488-4.774%204.758.782Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m115.14%2068.176-.054-.298-.303-.004a19.468%2019.468%200%200%201-1.257-.065c.905-.818%201.457-1.875%201.758-3.093a9.582%209.582%200%200%201%20.539-1.573c.83-1.88%202.162-3.313%203.631-4.115%201.468-.801%203.052-.966%204.423-.36%201.373.606%202.319%201.887%202.716%203.511.396%201.626.236%203.575-.594%205.456-.83%201.882-2.163%203.313-3.631%204.115-1.467.802-3.052.967-4.424.36-1.488-.657-2.477-2.11-2.804-3.934Z%22%20clip-rule%3D%22evenodd%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M121.125%2066.359c-2.728-2.343-2.709-5.886-2.41-7.142%204.517-4.153%2010.992-1.8%2011.644%203.331%200%203.115.34%204.73%201.447%205.528%202.598%201.353%202.535%204.133%202.374%205.715l-9.096.541-.591-4.732c-.911-.178-1.564-.846-1.806-1.216.904-.447%201.989-1.7%201.094-2.72-.896-1.023-2.778.588-2.656.695Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M116.521%2064.11c.455-.443%201.657-1.07%202.835-.04m-2.432%205.632c.355.026%201.17-.112%201.587-.865m-1.852-3.151c.382-.544%201.434-1.334%202.594-.143%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M117.981%2066.08a.531.531%200%201%200-.059-1.061.531.531%200%200%200%20.059%201.06Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M121.541%2067.269c.17-.312.726-.923%201.586-.867%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M122.324%2066.642c.234.063.613.359.251%201.043m-3.537%205.037.22%202.24m5.353-4.649.492%204.24%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m119.549%2074.485-.642-2.155c2.057.197%204.117-.67%204.891-1.13-1.549%202.072-3.479%203.053-4.249%203.285Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M14.943%20230h229.992%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m180.362%2087.471%201.694-2.987%2014.07-8.565c1.385-.793%201.391-1.613.104-1.803%201.109-.264%202.164-2.151.098-2.991.883-.424%201.342-1.813-.052-2.425-.144-.064-.549-.168-1.01-.078-.461.091-1.765.544-2.36.76l2.409-2.255c.746-.699.088-2.47-1.531-1.637l-10.001%206.718%202.258-5.695c.346-1.129-.823-3.052-2.559-1.186-.873.816-7.142%209.072-10.167%2013.098l-1.499%204.046%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m196.293%2074.098-7.753%203.785m7.881-6.8-8.428%204.077m5.222-6.013-5.167%203.768%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22M82.297%2058.438c-.149-.2-7.991-14.531-11.894-21.672-.737-1.349-2.491-.922-1.744%201.868a77.534%2077.534%200%200%200%202.118%206.601c-3.903%201.35-11.198%206.029-9.155%2013.95%202.117%208.407%202.678-3.052%204.172-3.114%201.196-.05%205.647%206.705%207.723%2010.089%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M118.822%2072.413c-1.906-.158-3.156-2.239-3.544-3.26.294-.142.21-.153-2.467.936-2.676%201.088-2.645%203.95-2.295%205.244l8.646-.68-.34-2.24Z%22%2F%3E%20%20%3Cpath%20fill%3D%22%23A363F4%22%20d%3D%22m108.855%2075.05%2028.279-1.54c4.59.573%209.197%204.569%2010.926%206.495l13.057%2015.42%2010.694-15.42%2010.197%206.058c-2.528%205.359-9.078%2017.022-15.046%2020.802-5.969%203.78-11.357-.083-13.306-2.488L141.47%2091.196l1.367%2017.907-37.802%202.238%201.492-13.679-12.433%206.715c-5.258%202.488-10.026%201.652-14.427-5.222-4.239-6.622-8.487-27.382-9.684-37.218l13.626-4.294%205.227%2028.42c1.897-1.09%205.775-3.86%207.716-5.167%205.712-4.144%209.307-5.595%2012.303-5.846Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22m106.595%2096.192.181-6.024m34.632-.643.181-6.023m19.279%2018.713.181-6.023m-77.904-6.226%204.84-3.589%22%2F%3E%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22m104.823%20115.177.416-3.865%2010.194-.603v3.941l-10.61.527Zm37.637-6.066.9%204.154-6.466.32-.357-4.123%205.923-.351Zm-24.019%205.39v-3.969l15.575-.922v4.118l-15.575.773Z%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20d%3D%22M107.275%20116.857c.274%202.189%201.79%206.023%205.613%208.526m6.525%202.28c-2.688-.327-4.832-1.173-6.525-2.28m0%200-8.869%2039.138%2017.023%2044.407%22%2F%3E%20%20%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m127.554%20140.837%2021.167%2031.677%2041.595-.889%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20data-name%3D%2286977684-12db-4850-8f30-233a7c267d11%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%202000%202000%22%3E%20%20%3Cpath%20d%3D%22M1000%202000c554.17%200%201000-445.83%201000-1000S1554.17%200%201000%200%200%20445.83%200%201000s445.83%201000%201000%201000z%22%20fill%3D%22%232775ca%22%2F%3E%20%20%3Cpath%20d%3D%22M1275%201158.33c0-145.83-87.5-195.83-262.5-216.66-125-16.67-150-50-150-108.34s41.67-95.83%20125-95.83c75%200%20116.67%2025%20137.5%2087.5%204.17%2012.5%2016.67%2020.83%2029.17%2020.83h66.66c16.67%200%2029.17-12.5%2029.17-29.16v-4.17c-16.67-91.67-91.67-162.5-187.5-170.83v-100c0-16.67-12.5-29.17-33.33-33.34h-62.5c-16.67%200-29.17%2012.5-33.34%2033.34v95.83c-125%2016.67-204.16%20100-204.16%20204.17%200%20137.5%2083.33%20191.66%20258.33%20212.5%20116.67%2020.83%20154.17%2045.83%20154.17%20112.5s-58.34%20112.5-137.5%20112.5c-108.34%200-145.84-45.84-158.34-108.34-4.16-16.66-16.66-25-29.16-25h-70.84c-16.66%200-29.16%2012.5-29.16%2029.17v4.17c16.66%20104.16%2083.33%20179.16%20220.83%20200v100c0%2016.66%2012.5%2029.16%2033.33%2033.33h62.5c16.67%200%2029.17-12.5%2033.34-33.33v-100c125-20.84%20208.33-108.34%20208.33-220.84z%22%20fill%3D%22%23fff%22%2F%3E%20%20%3Cpath%20d%3D%22M787.5%201595.83c-325-116.66-491.67-479.16-370.83-800%2062.5-175%20200-308.33%20370.83-370.83%2016.67-8.33%2025-20.83%2025-41.67V325c0-16.67-8.33-29.17-25-33.33-4.17%200-12.5%200-16.67%204.16-395.83%20125-612.5%20545.84-487.5%20941.67%2075%20233.33%20254.17%20412.5%20487.5%20487.5%2016.67%208.33%2033.34%200%2037.5-16.67%204.17-4.16%204.17-8.33%204.17-16.66v-58.34c0-12.5-12.5-29.16-25-37.5zM1229.17%20295.83c-16.67-8.33-33.34%200-37.5%2016.67-4.17%204.17-4.17%208.33-4.17%2016.67v58.33c0%2016.67%2012.5%2033.33%2025%2041.67%20325%20116.66%20491.67%20479.16%20370.83%20800-62.5%20175-200%20308.33-370.83%20370.83-16.67%208.33-25%2020.83-25%2041.67V1700c0%2016.67%208.33%2029.17%2025%2033.33%204.17%200%2012.5%200%2016.67-4.16%20395.83-125%20612.5-545.84%20487.5-941.67-75-237.5-258.34-416.67-487.5-491.67z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E\"","import { SvgIconProps } from '@mui/material'\r\nimport { ReactComponent as HumaLogoSvg } from './huma.svg'\r\nimport { ReactComponent as HumaFullLogoSvg } from './huma-full.svg'\r\nimport { ReactComponent as MetamaskSvg } from './metamask.svg'\r\nimport { ReactComponent as WalletConnectSvg } from './wallet-connect.svg'\r\nimport { ReactComponent as EthereumSvg } from './ethereum.svg'\r\nimport { ReactComponent as PolygonSvg } from './polygon.svg'\r\nimport { ReactComponent as ReceiptSvg } from './receipt.svg'\r\nimport { ReactComponent as SeparatorSvg } from './separator.svg'\r\nimport { ReactComponent as LoaderSvg } from './loader.svg'\r\nimport { ReactComponent as SorrySvg } from './sorry.svg'\r\nimport { ReactComponent as CheckSvg } from './check.svg'\r\nimport { ReactComponent as CheckGreenSvg } from './check-green.svg'\r\nimport { ReactComponent as CheckCircleSvg } from './check-circle.svg'\r\nimport { ReactComponent as AutoPaybackSvg } from './auto-payback.svg'\r\nimport { ReactComponent as ApproveLenderSvg } from './approve-lender.svg'\r\nimport { ReactComponent as DonutSvg } from './donut.svg'\r\nimport { ReactComponent as UsdcSvg } from './usdc.svg'\r\n\r\nexport function HumaIcon(props: SvgIconProps): React.ReactElement {\r\n return <HumaLogoSvg {...props} />\r\n}\r\n\r\nexport function HumaFullIcon(props: SvgIconProps): React.ReactElement {\r\n return <HumaFullLogoSvg {...props} />\r\n}\r\n\r\nexport function MetamaskIcon(props: SvgIconProps): React.ReactElement {\r\n return <MetamaskSvg {...props} />\r\n}\r\n\r\nexport function WalletConnectIcon(props: SvgIconProps): React.ReactElement {\r\n return <WalletConnectSvg {...props} />\r\n}\r\n\r\nexport function EthereumIcon(props: SvgIconProps): React.ReactElement {\r\n return <EthereumSvg {...props} />\r\n}\r\n\r\nexport function PolygonIcon(props: SvgIconProps): React.ReactElement {\r\n return <PolygonSvg {...props} />\r\n}\r\n\r\nexport function ReceiptIcon(props: SvgIconProps): React.ReactElement {\r\n return <ReceiptSvg {...props} />\r\n}\r\n\r\nexport function SeparatorIcon(props: SvgIconProps): React.ReactElement {\r\n return <SeparatorSvg {...props} />\r\n}\r\n\r\nexport function LoaderIcon(props: SvgIconProps): React.ReactElement {\r\n return <LoaderSvg {...props} />\r\n}\r\n\r\nexport function SorryIcon(props: SvgIconProps): React.ReactElement {\r\n return <SorrySvg {...props} />\r\n}\r\n\r\nexport function CheckIcon(props: SvgIconProps): React.ReactElement {\r\n return <CheckSvg {...props} />\r\n}\r\n\r\nexport function CheckGreenIcon(props: SvgIconProps): React.ReactElement {\r\n return <CheckGreenSvg {...props} />\r\n}\r\n\r\nexport function CheckCircleIcon(props: SvgIconProps): React.ReactElement {\r\n return <CheckCircleSvg {...props} />\r\n}\r\n\r\nexport function AutoPaybackIcon(props: SvgIconProps): React.ReactElement {\r\n return <AutoPaybackSvg {...props} />\r\n}\r\n\r\nexport function ApproveLenderIcon(props: SvgIconProps): React.ReactElement {\r\n return <ApproveLenderSvg {...props} />\r\n}\r\n\r\nexport function DonutIcon(props: SvgIconProps): React.ReactElement {\r\n return <DonutSvg {...props} />\r\n}\r\n\r\nexport function UsdcIcon(props: SvgIconProps): React.ReactElement {\r\n return <UsdcSvg {...props} />\r\n}\r\n\r\nexport function getIcon(icon: string) {\r\n if (icon === 'USDC') {\r\n return UsdcIcon\r\n }\r\n return null\r\n}\r\n","import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline'\r\nimport { Box, Button, css, Tooltip, Typography, useTheme } from '@mui/material'\r\nimport { txAtom } from '@huma-finance/shared'\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../hooks/useRedux'\r\nimport { resetState } from '../store/widgets.reducers'\r\nimport { SorryIcon } from './icons'\r\n\r\ntype Props = {\r\n title: string\r\n errorReason?: string\r\n errorMessage?: string\r\n handleOk: () => void\r\n okText?: string\r\n shouldResetState?: boolean\r\n}\r\n\r\nexport function ErrorModal({\r\n title,\r\n errorReason,\r\n errorMessage,\r\n handleOk,\r\n okText = 'OKAY',\r\n shouldResetState = true,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const reset = useResetAtom(txAtom)\r\n\r\n if (!errorReason) {\r\n errorReason = 'Oops! Something went wrong'\r\n }\r\n\r\n const styles = {\r\n wrapper: css`\r\n height: 518px;\r\n position: relative;\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: -5px;\r\n `,\r\n sorry: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: 67px;\r\n `,\r\n content: css`\r\n box-sizing: border-box;\r\n width: 100%;\r\n display: inline-table;\r\n padding: 16px 0;\r\n background: linear-gradient(\r\n 0deg,\r\n rgba(255, 255, 255, 0.9),\r\n rgba(255, 255, 255, 0.9)\r\n ),\r\n #d32f2f;\r\n border-radius: 4px;\r\n position: relative;\r\n margin-top: 30px;\r\n height: 79px;\r\n `,\r\n errorIcon: css`\r\n position: absolute;\r\n font-size: 20px;\r\n color: #d32f2f;\r\n margin: 0 15px;\r\n `,\r\n messageWrapper: css`\r\n color: #541313;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n padding-left: 50px;\r\n `,\r\n errorMessage: css`\r\n margin-top: 4px;\r\n font-size: 14px;\r\n font-family: 'Uni-Neue-Regular';\r\n color: #541313;\r\n cursor: pointer;\r\n display: -webkit-box;\r\n line-height: 16px;\r\n -webkit-line-clamp: 3;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n margin-right: 20px;\r\n `,\r\n okButton: css`\r\n & .MuiButtonBase-root {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n `,\r\n }\r\n\r\n const handleCloseModal = useCallback(() => {\r\n reset()\r\n handleOk()\r\n if (shouldResetState) {\r\n dispatch(resetState())\r\n }\r\n }, [dispatch, handleOk, reset, shouldResetState])\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n {title}\r\n </Typography>\r\n <Box css={styles.sorry}>\r\n <SorryIcon />\r\n </Box>\r\n <Box css={styles.content}>\r\n <ErrorOutlineIcon css={styles.errorIcon} />\r\n <Box css={styles.messageWrapper}>\r\n <Box>{errorReason}</Box>\r\n <Tooltip title={errorMessage} placement='top'>\r\n <Box css={styles.errorMessage}>{errorMessage}</Box>\r\n </Tooltip>\r\n </Box>\r\n </Box>\r\n <Box css={styles.okButton}>\r\n <Button variant='contained' onClick={handleCloseModal}>\r\n {okText}\r\n </Button>\r\n </Box>\r\n </Box>\r\n )\r\n}\r\n","import { ThemeOptions } from '@mui/material'\r\n\r\n// primary\r\nexport const primaryPurple = '#c265d0'\r\nexport const primaryBlueLight = '#4473EB'\r\nexport const primaryGradient =\r\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%);'\r\n\r\n// Secondary\r\nexport const pendingBlueDark = '#1148B2'\r\nexport const pendingBlue = '#226BF9'\r\nexport const pendingBlueMid = '#4584FF'\r\nexport const pendingBlueLight = '#79A5FB'\r\nexport const warningRed = '#D01638'\r\nexport const warningRedMid = '#E71E44'\r\nexport const warningRedLight = '#FF4366'\r\nexport const warningRedPastel = '#FF708B'\r\nexport const backgroundBlue = '#081824'\r\nexport const darkBackground = '#0C2436'\r\n\r\nexport const white = '#FFFFFF'\r\n\r\nexport const black = {\r\n 1: '#000000',\r\n 2: '#2A252F',\r\n 3: '#423B46',\r\n 4: '#534E59',\r\n 5: '#6B6572',\r\n 6: '#76707E',\r\n}\r\n\r\nexport const orange = {\r\n 100: '#FFA979',\r\n 300: '#FF8F51',\r\n 500: '#FD792F',\r\n 700: '#E96216',\r\n}\r\n\r\nconst yellow = {\r\n 100: '#FFECB0',\r\n 300: '#FFE07E',\r\n 500: '#FFD54F',\r\n 700: '#F8BE28',\r\n}\r\n\r\nconst grey = {\r\n 100: '#CBD6DE',\r\n 200: '#6B6B6B',\r\n 300: '#606060',\r\n 400: '#5E7485',\r\n 600: '#395062',\r\n 700: '#6B6572',\r\n 800: '#4A4A4A',\r\n}\r\n\r\nconst green = {\r\n 100: '#66F8D3',\r\n 200: '#1DE9B6',\r\n 500: '#00CA97',\r\n 700: '#0DBC90',\r\n}\r\n\r\nexport const blue = {\r\n 50: '#8AD5FF',\r\n 100: '#3DB9FF',\r\n 200: '#0BA7FE',\r\n 300: '#0095E9',\r\n 500: '#0070AF',\r\n 800: '#013859',\r\n}\r\n\r\nexport const red = {\r\n 50: '#FEAEA8',\r\n 100: '#FA8B84',\r\n 200: '#EA726A',\r\n 300: '#E75E55',\r\n 500: '#BC4E46',\r\n 800: '#472D33',\r\n}\r\n\r\nexport const purple = {\r\n 100: '#DEB8FC',\r\n 200: '#C476FF',\r\n 300: '#B452FF',\r\n 500: '#9D3BE8',\r\n 800: '#651C9C',\r\n}\r\n\r\nexport const paletteCore: ThemeOptions['palette'] = {\r\n alert: {\r\n contrastText: black[1],\r\n dark: yellow[700],\r\n light: yellow[300],\r\n main: yellow[500],\r\n },\r\n background: {\r\n default: white,\r\n paper: white,\r\n },\r\n common: {\r\n black: black[1],\r\n white,\r\n },\r\n default: {\r\n contrastText: black[1],\r\n dark: white,\r\n light: white,\r\n main: white,\r\n },\r\n divider: grey[600],\r\n error: {\r\n dark: warningRed,\r\n light: warningRedPastel,\r\n main: warningRedLight,\r\n },\r\n grey,\r\n info: {\r\n contrastText: black[1],\r\n dark: pendingBlue,\r\n light: pendingBlueLight,\r\n main: pendingBlueMid,\r\n superDark: darkBackground,\r\n superLight: blue[50],\r\n },\r\n mode: 'light',\r\n primary: {\r\n main: primaryPurple,\r\n light: primaryBlueLight,\r\n },\r\n secondary: {\r\n contrastText: black[1],\r\n main: white,\r\n },\r\n success: {\r\n light: green[100],\r\n main: green[200],\r\n },\r\n text: {\r\n primary: black[5],\r\n secondary: black[6],\r\n tertiary: black[3],\r\n quaternary: grey[400],\r\n },\r\n warning: {\r\n contrastText: black[1],\r\n light: orange[100],\r\n main: orange[500],\r\n superLight: yellow[100],\r\n },\r\n}\r\n","import { css } from '@emotion/react'\r\nimport { Dialog } from '@mui/material'\r\nimport { useMQ } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { white } from '../../theme/palette'\r\n\r\ntype HumaModalType = {\r\n children?: React.ReactNode\r\n isOpen: boolean\r\n onClose: () => void\r\n overflow?: string\r\n overflowY?: 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto'\r\n width?: string\r\n padding?: string\r\n disableBackdropClick?: boolean\r\n}\r\n\r\nexport function HumaModal({\r\n children,\r\n isOpen,\r\n onClose,\r\n overflow,\r\n overflowY,\r\n width = '480px',\r\n padding = '30px',\r\n disableBackdropClick = false,\r\n}: HumaModalType): React.ReactElement {\r\n const { isXsSize } = useMQ()\r\n\r\n const styles = {\r\n wrapper: css`\r\n max-width: 100vw;\r\n width: ${isXsSize ? '100%' : width};\r\n height: auto;\r\n padding: ${padding};\r\n box-sizing: border-box;\r\n `,\r\n }\r\n\r\n const handleClose = (reason: 'backdropClick' | 'escapeKeyDown') => {\r\n if (!disableBackdropClick) {\r\n onClose()\r\n } else if (reason !== 'backdropClick' && reason !== 'escapeKeyDown') {\r\n onClose()\r\n }\r\n }\r\n\r\n return (\r\n <Dialog\r\n disableScrollLock\r\n maxWidth={false}\r\n fullScreen={isXsSize}\r\n open={isOpen}\r\n PaperProps={{\r\n style: {\r\n background: white,\r\n borderRadius: '16px',\r\n overflow: overflow || 'inherit',\r\n overflowY: overflowY || 'inherit',\r\n },\r\n }}\r\n onClose={(event, reason) => handleClose(reason)}\r\n >\r\n <div css={styles.wrapper}>{children}</div>\r\n </Dialog>\r\n )\r\n}\r\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","/* eslint-disable jsx-a11y/no-static-element-interactions */\r\n/* eslint-disable jsx-a11y/click-events-have-key-events */\r\nimport { css } from '@emotion/react'\r\nimport ChevronLeftOutlinedIcon from '@mui/icons-material/ChevronLeftOutlined'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { useTheme } from '@mui/material'\r\nimport React from 'react'\r\n\r\ntype HumaModalHeaderType = {\r\n allowBack?: boolean\r\n children?: React.ReactNode\r\n hideClose?: boolean\r\n onBack?: () => void\r\n onClose: () => void\r\n title?: React.ReactNode\r\n height?: number\r\n}\r\n\r\nexport function HumaModalHeader({\r\n hideClose,\r\n allowBack,\r\n onBack = (): void => {},\r\n onClose,\r\n height = 52,\r\n ...props\r\n}: HumaModalHeaderType): React.ReactElement {\r\n const theme = useTheme()\r\n const styles = {\r\n buttonBackWrapper: css`\r\n cursor: pointer;\r\n position: absolute;\r\n left: ${theme.spacing(2)};\r\n top: ${theme.spacing(3)};\r\n `,\r\n buttonClose: css`\r\n &:hover {\r\n stroke: ${theme.palette.grey[200]};\r\n }\r\n stroke: ${theme.palette.common.white};\r\n `,\r\n buttonCloseWrapper: css`\r\n cursor: pointer;\r\n position: absolute;\r\n right: ${theme.spacing(3)};\r\n top: ${theme.spacing(3)};\r\n `,\r\n headerBand: css`\r\n height: ${height}px;\r\n `,\r\n }\r\n\r\n return (\r\n <div>\r\n <div css={styles.headerBand}>\r\n {props.title}\r\n {!!allowBack && (\r\n <div css={styles.buttonBackWrapper} onClick={onBack}>\r\n <ChevronLeftOutlinedIcon height={16} width={16} />\r\n </div>\r\n )}\r\n {!hideClose && (\r\n <div css={styles.buttonCloseWrapper} onClick={onClose}>\r\n <CloseIcon css={styles.buttonClose} height={16} width={16} />\r\n </div>\r\n )}\r\n </div>\r\n <div>{props.children}</div>\r\n </div>\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nimport { ErrorModal } from './ErrorModal'\r\nimport { HumaModal, HumaModalHeader } from './humaModal'\r\n\r\ntype Props = {\r\n handleClose: () => void\r\n isOpen: boolean\r\n}\r\n\r\nexport function ChainNotSupportedModal({\r\n handleClose,\r\n isOpen,\r\n}: Props): React.ReactElement | null {\r\n return (\r\n <HumaModal\r\n isOpen={isOpen}\r\n overflowY='auto'\r\n onClose={handleClose}\r\n width='480px'\r\n padding='30px 40px'\r\n disableBackdropClick\r\n >\r\n <HumaModalHeader onClose={handleClose} height={0} />\r\n <ErrorModal\r\n title='Network Not Supported'\r\n errorReason='Please switch to a supported network.'\r\n handleOk={handleClose}\r\n okText='Close'\r\n />\r\n </HumaModal>\r\n )\r\n}\r\n","import { RootState } from '.'\r\n\r\nexport const selectWidgetState = (state: RootState) => state.widget\r\n","import { css } from '@emotion/react'\r\nimport { useTheme } from '@mui/material'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { LoaderIcon } from './icons'\r\n\r\ntype Props = {\r\n fullScreen?: boolean\r\n minHeight?: string\r\n}\r\n\r\nexport function HumaLoading({\r\n fullScreen = false,\r\n minHeight = '0px',\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const pathLength = 45\r\n const [count, setCount] = useState(1)\r\n const intervalTime = 30\r\n\r\n useEffect(() => {\r\n const interval = setInterval(() => {\r\n if (count <= pathLength) {\r\n const element = document.querySelector(\r\n `#huma-loader-wrapper > svg > path:nth-of-type(${count})`,\r\n )\r\n if (element) {\r\n // @ts-ignore\r\n element.style.visibility = 'visible'\r\n setCount((pre) => pre + 1)\r\n }\r\n } else {\r\n const elements = document.querySelectorAll(\r\n `#huma-loader-wrapper > svg > path`,\r\n )\r\n if (elements) {\r\n // @ts-ignore\r\n elements.forEach((element) => {\r\n // @ts-ignore\r\n element.style.visibility = 'hidden'\r\n })\r\n setCount(1)\r\n }\r\n }\r\n }, intervalTime)\r\n return () => clearInterval(interval)\r\n }, [count])\r\n\r\n const styles = {\r\n wrapper: css`\r\n ${theme.cssMixins.rowCentered};\r\n min-height: ${fullScreen ? '100vh' : minHeight};\r\n width: 50px;\r\n height: 50px;\r\n `,\r\n icon: css`\r\n & > path {\r\n visibility: hidden;\r\n }\r\n `,\r\n }\r\n\r\n return (\r\n <div css={styles.wrapper} id='huma-loader-wrapper'>\r\n <LoaderIcon css={styles.icon} />\r\n </div>\r\n )\r\n}\r\n","import { Box, css, Typography, useTheme } from '@mui/material'\r\nimport React from 'react'\r\n\r\ntype Props = {\r\n title: string\r\n subTitle?: string | React.ReactNode\r\n children: React.ReactNode\r\n}\r\n\r\nexport function WrapperModal({\r\n title,\r\n subTitle,\r\n children,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n\r\n const styles = {\r\n wrapper: css`\r\n height: 518px;\r\n position: relative;\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n font-family: 'Uni-Neue-Bold';\r\n font-size: 20px;\r\n margin-top: -5px;\r\n `,\r\n content: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: 30px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n line-height: 24px;\r\n color: #49505b;\r\n `,\r\n bottom: css`\r\n & .MuiButtonBase-root {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n `,\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n {title}\r\n </Typography>\r\n {subTitle && <Box css={styles.content}>{subTitle}</Box>}\r\n {children}\r\n </Box>\r\n )\r\n}\r\n","import { Box, css, useTheme } from '@mui/material'\r\nimport React from 'react'\r\nimport { HumaLoading } from './HumaLoading'\r\n\r\nimport { WrapperModal } from './WrapperModal'\r\n\r\ntype Props = {\r\n title: string\r\n description?: string\r\n hideLoader?: boolean\r\n children?: React.ReactNode\r\n}\r\n\r\nexport function LoadingModal({\r\n title,\r\n description,\r\n hideLoader = false,\r\n children,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n\r\n const styles = {\r\n loader: css`\r\n width: 100%;\r\n ${theme.cssMixins.rowHCentered};\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n `,\r\n bottom: css`\r\n & .MuiButtonBase-root {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n `,\r\n }\r\n\r\n return (\r\n <WrapperModal title={title} subTitle={description}>\r\n {!hideLoader && (\r\n <Box css={styles.loader}>\r\n <HumaLoading />\r\n </Box>\r\n )}\r\n <Box css={styles.bottom}>{children}</Box>\r\n </WrapperModal>\r\n )\r\n}\r\n","import { isTxFailed, sendTxAtom, txAtom } from '@huma-finance/shared'\r\nimport { useAtom } from 'jotai'\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport React, { useCallback, useEffect } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../hooks/useRedux'\r\nimport { resetState, setError } from '../store/widgets.reducers'\r\nimport { selectWidgetState } from '../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../store/widgets.store'\r\nimport { WCProps } from '../utilTypes'\r\nimport { HumaModal, HumaModalHeader } from './humaModal'\r\nimport { LoadingModal } from './LoadingModal'\r\n\r\ntype Props = {\r\n isOpen: boolean\r\n isLoading?: boolean\r\n loadingTitle?: string\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber: number) => void\r\n}\r\n\r\nexport function WidgetWrapper({\r\n isOpen,\r\n isLoading = false,\r\n loadingTitle = '',\r\n handleClose,\r\n handleSuccess,\r\n children,\r\n}: WCProps<Props>): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { step } = useAppSelector(selectWidgetState)\r\n const [{ state, failReason, txReceipt }] = useAtom(sendTxAtom)\r\n const reset = useResetAtom(txAtom)\r\n\r\n useEffect(() => {\r\n if (isTxFailed(state) && failReason) {\r\n dispatch(setError({ errorMessage: failReason }))\r\n }\r\n }, [dispatch, failReason, state])\r\n\r\n useEffect(() => {\r\n if (step === WIDGET_STEP.Done && txReceipt) {\r\n if (handleSuccess) {\r\n handleSuccess(txReceipt.blockNumber)\r\n }\r\n }\r\n }, [handleSuccess, step, txReceipt])\r\n\r\n const handleCloseModal = useCallback(() => {\r\n reset()\r\n dispatch(resetState())\r\n handleClose()\r\n }, [dispatch, handleClose, reset])\r\n\r\n // when close modal, return null to make sure all the states are reset\r\n if (!isOpen) {\r\n return null\r\n }\r\n\r\n return (\r\n <HumaModal\r\n isOpen={isOpen}\r\n overflowY='auto'\r\n onClose={handleCloseModal}\r\n width='480px'\r\n padding='30px 40px'\r\n disableBackdropClick\r\n >\r\n <HumaModalHeader onClose={handleCloseModal} height={0} />\r\n {isLoading && <LoadingModal title={loadingTitle} />}\r\n {!isLoading && children}\r\n </HumaModal>\r\n )\r\n}\r\n","const checkIsDev = () =>\r\n !!(\r\n window.location.hostname.startsWith('dev') ||\r\n window.location.hostname.startsWith('deploy-preview') ||\r\n process.env.NODE_ENV === 'development'\r\n )\r\n\r\nexport const envUtil = {\r\n checkIsDev,\r\n}\r\n","import {\r\n EAPayload,\r\n EARejectionError,\r\n EARejectMessage,\r\n EARejectReason,\r\n EAService,\r\n} from '@huma-finance/shared'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { useCallback } from 'react'\r\n\r\nimport { setApproval, setError } from '../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../store/widgets.store'\r\nimport { envUtil } from '../utils/env'\r\nimport { useAppDispatch } from './useRedux'\r\n\r\nconst useEA = () => {\r\n const dispatch = useAppDispatch()\r\n const { chainId } = useWeb3React()\r\n\r\n const checkingEA = useCallback(\r\n async (payload: EAPayload, nextStep: WIDGET_STEP) => {\r\n try {\r\n const result = await EAService.approve(\r\n payload,\r\n chainId!,\r\n envUtil.checkIsDev(),\r\n )\r\n dispatch(setApproval({ ...result, nextStep }))\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n if (e instanceof EARejectionError) {\r\n dispatch(\r\n setError({\r\n errorMessage: EARejectMessage,\r\n errorReason: EARejectReason,\r\n }),\r\n )\r\n } else {\r\n dispatch(\r\n setError({\r\n errorMessage: e.message,\r\n }),\r\n )\r\n }\r\n }\r\n },\r\n [chainId, dispatch],\r\n )\r\n\r\n return { checkingEA }\r\n}\r\n\r\nexport default useEA\r\n","export default \"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==\"","import { Box, Button, css, Typography, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport useEA from '../../../hooks/useEA'\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { CheckCircleIcon, CheckGreenIcon } from '../../icons'\r\nimport spinner from '../../icons/spinner.gif'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleApprove: () => void\r\n}\r\n\r\nexport function Evaluation({\r\n poolInfo,\r\n handleApprove,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const { checkingEA } = useEA()\r\n const dispatch = useAppDispatch()\r\n const { account, chainId } = useWeb3React()\r\n const [status, setStatus] = useState<'checking' | 'success'>('checking')\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (account && chainId) {\r\n await checkingEA(\r\n {\r\n poolAddress: poolInfo.pool,\r\n borrowerWalletAddress: account,\r\n },\r\n WIDGET_STEP.Evaluation,\r\n )\r\n handleApprove()\r\n setStatus('success')\r\n }\r\n }\r\n fetchData()\r\n }, [\r\n account,\r\n chainId,\r\n checkingEA,\r\n handleApprove,\r\n poolInfo.assetAddress,\r\n poolInfo.pool,\r\n ])\r\n\r\n const styles = {\r\n wrapper: css`\r\n height: 518px;\r\n position: relative;\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: -5px;\r\n `,\r\n content: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: 30px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n line-height: 24px;\r\n color: #49505b;\r\n margin-bottom: 65px;\r\n `,\r\n checkWrapper: css`\r\n ${theme.cssMixins.rowVCentered}\r\n width: 100%;\r\n height: 72px;\r\n background: #f9f8fa;\r\n border-radius: 4px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #49505b;\r\n `,\r\n checkIcon: css`\r\n ${theme.cssMixins.rowCentered}\r\n width: 105px;\r\n height: 100%;\r\n\r\n & > img {\r\n max-width: 100%;\r\n max-height: 100%;\r\n }\r\n `,\r\n congratsWrapper: css`\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n padding: 0 16px;\r\n ${theme.cssMixins.rowVCentered}\r\n margin-top: 60px;\r\n height: 52px;\r\n background: linear-gradient(\r\n 0deg,\r\n rgba(255, 255, 255, 0.9),\r\n rgba(255, 255, 255, 0.9)\r\n ),\r\n #2e7d32;\r\n border-radius: 4px;\r\n `,\r\n bottom: css`\r\n & .MuiButtonBase-root {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n `,\r\n }\r\n\r\n const goToNextStep = () => {\r\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n Borrow\r\n </Typography>\r\n <Box css={styles.content}>\r\n Looks like it’s your first time around here. Let’s see if you qualify...\r\n </Box>\r\n <Box css={styles.checkWrapper} sx={{ marginBottom: '16px' }}>\r\n <Box css={styles.checkIcon}>\r\n {status === 'checking' && <img src={spinner} alt='loading...' />}\r\n {status === 'success' && <CheckGreenIcon />}\r\n </Box>\r\n <Box>Checking your income</Box>\r\n </Box>\r\n <Box css={styles.checkWrapper}>\r\n <Box css={styles.checkIcon}>\r\n {status === 'checking' && <img src={spinner} alt='loading...' />}\r\n {status === 'success' && <CheckGreenIcon />}\r\n </Box>\r\n <Box>Checking other qualifications</Box>\r\n </Box>\r\n {status === 'success' && (\r\n <>\r\n <Box css={styles.congratsWrapper}>\r\n <CheckCircleIcon />\r\n <Box sx={{ marginLeft: '16px' }}>\r\n Congrats, you are qualified to borrow\r\n </Box>\r\n </Box>\r\n <Box css={styles.bottom}>\r\n <Button variant='contained' onClick={goToNextStep}>\r\n CONTINUE TO BORROW\r\n </Button>\r\n </Box>\r\n </>\r\n )}\r\n </Box>\r\n )\r\n}\r\n","import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown'\r\nimport ArrowDropUpIcon from '@mui/icons-material/ArrowDropUp'\r\nimport {\r\n Box,\r\n Button,\r\n css,\r\n Divider,\r\n Input,\r\n Slider,\r\n useTheme,\r\n} from '@mui/material'\r\nimport { useMQ } from '@huma-finance/shared'\r\nimport React, { useState } from 'react'\r\n\r\nimport { IconType } from '../utilTypes'\r\nimport { WrapperModal } from './WrapperModal'\r\n\r\ntype Props = {\r\n title: string\r\n tokenIcon?: IconType\r\n description1?: string\r\n description2?: string\r\n currentAmount: number\r\n sliderMax: number\r\n tokenSymbol: string\r\n topLeft?: string\r\n topRight?: string\r\n downLeft?: string\r\n downRight?: string\r\n actionText?: string\r\n hideTerms?: boolean\r\n payoffAmount?: number\r\n type?: 'slider' | 'input'\r\n handleChangeAmount: (amount: number) => void\r\n handleAction: () => void\r\n}\r\n\r\nexport function ChooseAmountModal({\r\n title,\r\n tokenIcon,\r\n description1,\r\n description2,\r\n currentAmount,\r\n sliderMax,\r\n tokenSymbol,\r\n topLeft,\r\n topRight,\r\n downLeft,\r\n downRight,\r\n actionText = 'accept terms',\r\n payoffAmount,\r\n hideTerms = false,\r\n type = 'slider',\r\n handleChangeAmount,\r\n handleAction,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const { isXsSize } = useMQ()\r\n const [inputTouched, setInputTouched] = useState(false)\r\n\r\n const styles = {\r\n subTitle: css`\r\n font-family: 'Uni-Neue-Regular';\r\n `,\r\n description2: css`\r\n ${theme.cssMixins.rowCentered};\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #a8a1b2;\r\n margin-top: 16px;\r\n `,\r\n chosenAmountWrapper: css`\r\n ${theme.cssMixins.rowCentered};\r\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\r\n background-clip: text;\r\n -webkit-text-fill-color: transparent;\r\n font-weight: 700;\r\n font-size: 32px;\r\n margin-bottom: 10px;\r\n margin-top: 30px;\r\n `,\r\n chosenAmount: css`\r\n font-family: 'Inter-Bold';\r\n font-size: 32px;\r\n `,\r\n chosenAmountSymbol: css`\r\n font-size: 75%;\r\n margin-left: 5px;\r\n letter-spacing: 0.1px;\r\n `,\r\n inputAmountWrapper: css`\r\n margin-bottom: 10px;\r\n margin-top: 30px;\r\n `,\r\n inputAmount: css`\r\n ${theme.cssMixins.rowSpaceBetweened};\r\n `,\r\n inputField: css`\r\n width: 100%;\r\n `,\r\n maxButton: css`\r\n width: 80px;\r\n `,\r\n amountAvailable: css`\r\n ${theme.cssMixins.rowVCentered};\r\n margin-top: 5px;\r\n margin-bottom: 100px;\r\n font-size: 16px;\r\n & > svg {\r\n margin-right: 5px;\r\n }\r\n `,\r\n tokenIcon: {\r\n width: '16px',\r\n height: '16px',\r\n },\r\n editIcon: css`\r\n color: ${theme.palette.primary.main};\r\n cursor: pointer;\r\n display: inline-grid;\r\n vertical-align: middle;\r\n & > svg {\r\n font-size: 24px;\r\n }\r\n & > svg:first-of-type {\r\n margin-bottom: -10px;\r\n }\r\n `,\r\n input: css`\r\n font-size: 18px;\r\n -webkit-text-fill-color: ${theme.palette.primary.main};\r\n `,\r\n slider: css`\r\n margin-bottom: 54px;\r\n &.MuiSlider-root {\r\n height: 8px !important;\r\n color: #e9e9e9;\r\n }\r\n & .MuiSlider-track {\r\n height: 8px !important;\r\n background: linear-gradient(232.71deg, #a363f4 4.17%, #ff6a8a 178.69%);\r\n border-radius: 8px;\r\n }\r\n & .MuiSlider-thumb::before {\r\n background: #ffffff;\r\n border: 1px solid #f9f9f9;\r\n box-shadow: 1px 1px 12px 2px rgba(163, 100, 244, 0.6);\r\n border-radius: 50px;\r\n width: 24px;\r\n height: 24px;\r\n }\r\n `,\r\n info: css`\r\n font-family: 'Uni-Neue-Regular';\r\n ${theme.cssMixins.rowSpaceBetweened};\r\n font-weight: 400;\r\n font-size: 16px;\r\n color: #423b46;\r\n `,\r\n divider: css`\r\n margin: 16px 0;\r\n background: #49505b;\r\n border-color: #e9e3f1;\r\n `,\r\n okButton: css`\r\n font-family: 'Uni-Neue-Bold';\r\n width: 100%;\r\n position: absolute;\r\n bottom: ${isXsSize ? 20 : 0}px;\r\n `,\r\n terms: css`\r\n ${theme.cssMixins.rowHCentered};\r\n font-weight: 400;\r\n font-size: 12px;\r\n color: #a8a1b2;\r\n margin-top: 8px;\r\n letter-spacing: 0px;\r\n width: 100%;\r\n position: absolute;\r\n bottom: -22px;\r\n `,\r\n }\r\n\r\n const handleSliderChange = (event: Event, newValue: number | number[]) => {\r\n handleChangeAmount(newValue as number)\r\n }\r\n\r\n const handleInputChange = (\r\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>,\r\n ) => {\r\n setInputTouched(true)\r\n // @ts-ignore\r\n handleChangeAmount(event.target.value)\r\n }\r\n\r\n const handleSetMax = () => {\r\n handleChangeAmount(sliderMax)\r\n }\r\n\r\n const handleIncrement = () => {\r\n const newAmount = currentAmount + 1\r\n if (newAmount <= sliderMax) {\r\n handleChangeAmount(newAmount)\r\n }\r\n }\r\n\r\n const handleDecrement = () => {\r\n const newAmount = currentAmount - 1\r\n if (newAmount >= 0) {\r\n handleChangeAmount(newAmount)\r\n }\r\n }\r\n\r\n const handlePayoff = () => {\r\n if (payoffAmount) {\r\n handleChangeAmount(payoffAmount)\r\n }\r\n }\r\n\r\n const subTitle = (\r\n <Box component='span'>\r\n <Box component='span' css={styles.subTitle}>\r\n {description1}\r\n </Box>\r\n {payoffAmount && (\r\n <Button\r\n sx={{ fontSize: '12px' }}\r\n variant='text'\r\n size='small'\r\n onClick={handlePayoff}\r\n className='choose-amount-modal-select-payoff-btn'\r\n >\r\n Pay Off\r\n </Button>\r\n )}\r\n </Box>\r\n )\r\n\r\n return (\r\n <WrapperModal title={title} subTitle={subTitle}>\r\n {type === 'slider' && (\r\n <>\r\n <Box css={styles.chosenAmountWrapper}>\r\n <Box css={styles.chosenAmount}>\r\n {Number(currentAmount).toFixed(2)}\r\n <Box component='span' css={styles.chosenAmountSymbol}>\r\n {tokenSymbol}\r\n </Box>\r\n <Box component='span' css={styles.editIcon}>\r\n <ArrowDropUpIcon\r\n onClick={handleIncrement}\r\n className='choose-amount-modal-increment-icon'\r\n />\r\n <ArrowDropDownIcon onClick={handleDecrement} />\r\n </Box>\r\n </Box>\r\n </Box>\r\n <Slider\r\n max={Number(sliderMax)}\r\n min={0}\r\n css={styles.slider}\r\n aria-label='Amount'\r\n value={currentAmount}\r\n onChange={handleSliderChange}\r\n />\r\n </>\r\n )}\r\n {type === 'input' && (\r\n <Box css={styles.inputAmountWrapper}>\r\n <Box css={styles.inputAmount}>\r\n <Input\r\n css={styles.inputField}\r\n type='number'\r\n value={!inputTouched && currentAmount === 0 ? '' : currentAmount}\r\n onChange={handleInputChange}\r\n placeholder='0'\r\n />\r\n <Button\r\n variant='contained'\r\n css={styles.maxButton}\r\n onClick={handleSetMax}\r\n >\r\n Max\r\n </Button>\r\n </Box>\r\n <Box css={styles.amountAvailable}>\r\n {tokenIcon && React.createElement(tokenIcon, styles.tokenIcon)}\r\n <Box>{Number(sliderMax).toFixed(2)} Available</Box>\r\n </Box>\r\n </Box>\r\n )}\r\n <Box css={styles.info}>\r\n <Box>{topLeft}</Box>\r\n <Box>{topRight}</Box>\r\n </Box>\r\n {topLeft && downLeft && <Divider css={styles.divider} />}\r\n <Box css={styles.info}>\r\n <Box>{downLeft}</Box>\r\n <Box>{downRight}</Box>\r\n </Box>\r\n <Box css={styles.description2}>{description2}</Box>\r\n <Button\r\n className='choose-amount-modal-action-btn'\r\n variant='contained'\r\n css={styles.okButton}\r\n onClick={handleAction}\r\n disabled={\r\n !currentAmount ||\r\n Number(currentAmount) <= 0 ||\r\n Number(currentAmount) > Number(sliderMax)\r\n }\r\n >\r\n {actionText.toUpperCase()}\r\n </Button>\r\n {!hideTerms && (\r\n <Box css={styles.terms}>\r\n By clicking {actionText}, you agree to Huma’s Terms of Service.\r\n </Box>\r\n )}\r\n </WrapperModal>\r\n )\r\n}\r\n","import {\r\n AccountStats,\r\n PoolInfoType,\r\n upScale,\r\n useCLFeeManager,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setBorrowInfo } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n accountStats: AccountStats\r\n}\r\n\r\nexport function ChooseAmount({\r\n poolInfo,\r\n accountStats,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol, decimals } = poolUnderlyingToken\r\n const { getFeesCharged } = useCLFeeManager(poolInfo.poolName)\r\n const [chargedFees, setChargedFees] = useState(0)\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const { creditRecordStatic, creditAvailableAmount } = accountStats\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n setCurrentAmount(newAmount)\r\n const newChargedFees = getFeesCharged(newAmount)\r\n setChargedFees(newChargedFees)\r\n },\r\n [getFeesCharged],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n const nextStep = WIDGET_STEP.Transfer\r\n dispatch(\r\n setBorrowInfo({\r\n borrowAmount: currentAmount,\r\n borrowAmountBN: upScale(currentAmount, decimals),\r\n chargedFees,\r\n nextStep,\r\n }),\r\n )\r\n }, [chargedFees, currentAmount, decimals, dispatch])\r\n\r\n return (\r\n <ChooseAmountModal\r\n title='Borrow'\r\n description1='Choose Amount'\r\n sliderMax={creditAvailableAmount}\r\n currentAmount={currentAmount}\r\n tokenSymbol={symbol}\r\n topLeft='Origination Fee'\r\n topRight={`${chargedFees} ${symbol}`}\r\n downLeft='APR'\r\n downRight={`${creditRecordStatic!.aprInBps / 100}%`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='borrow'\r\n />\r\n )\r\n}\r\n","import { Box, Button, css } from '@mui/material'\r\nimport React from 'react'\r\n\r\nimport { WCProps } from '../utilTypes'\r\n\r\ntype Props = {\r\n variant: 'contained' | 'outlined'\r\n disabled?: boolean\r\n onClick?: () => void\r\n}\r\n\r\nexport function BottomButton({\r\n variant,\r\n disabled = false,\r\n onClick,\r\n children,\r\n}: WCProps<Props>): React.ReactElement {\r\n const styles = css`\r\n & .MuiButtonBase-root {\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n }\r\n `\r\n\r\n return (\r\n <Box css={styles}>\r\n <Button variant={variant} onClick={onClick} disabled={disabled}>\r\n {children}\r\n </Button>\r\n </Box>\r\n )\r\n}\r\n","import { Box, Button } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { CHAINS, openInNewTab } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\ntype Props = {\r\n txHash: string\r\n}\r\n\r\nexport function ViewOnExplorer({ txHash }: Props): React.ReactElement | null {\r\n const { chainId } = useWeb3React()\r\n const chain = chainId ? CHAINS[chainId] : null\r\n\r\n if (!txHash || !chain) {\r\n return null\r\n }\r\n\r\n return (\r\n <Button\r\n variant='outlined'\r\n onClick={() => openInNewTab(`${chain.explorer}/${txHash}`)}\r\n >\r\n <Box component='span'>VIEW ON EXPLORER</Box>\r\n </Button>\r\n )\r\n}\r\n","import { MaxUint256 } from '@ethersproject/constants'\r\nimport { Box, css, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { BigNumber } from 'ethers'\r\nimport {\r\n PoolInfoType,\r\n sendTxAtom,\r\n txAtom,\r\n TxStateType,\r\n useMount,\r\n usePoolUnderlyingTokenContract,\r\n} from '@huma-finance/shared'\r\nimport { useAtom } from 'jotai'\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport React, { useCallback, useEffect } from 'react'\r\n\r\nimport { BottomButton } from './BottomButton'\r\nimport { AutoPaybackIcon } from './icons'\r\nimport { LoadingModal } from './LoadingModal'\r\nimport { ViewOnExplorer } from './ViewOnExplorer'\r\nimport { WrapperModal } from './WrapperModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n showAutoPayback?: boolean\r\n allowanceAmount?: BigNumber | string\r\n spender?: string\r\n handleSuccess: () => void\r\n}\r\n\r\nexport function ApproveAllowanceModal({\r\n poolInfo,\r\n showAutoPayback = false,\r\n allowanceAmount,\r\n spender,\r\n handleSuccess,\r\n}: Props): React.ReactElement | null {\r\n const theme = useTheme()\r\n const { provider } = useWeb3React()\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol } = poolUnderlyingToken\r\n const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(\r\n poolInfo.poolName,\r\n poolInfo.poolType,\r\n )\r\n const reset = useResetAtom(txAtom)\r\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\r\n const waitingForAccept = state === TxStateType.New\r\n\r\n useEffect(() => {\r\n if (state === TxStateType.Success) {\r\n reset()\r\n handleSuccess()\r\n }\r\n }, [handleSuccess, reset, state, symbol])\r\n\r\n const styles = {\r\n iconWrapper: css`\r\n ${theme.cssMixins.rowCentered};\r\n margin-top: 30px;\r\n `,\r\n description: css`\r\n margin-top: 14px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #a8a1b2;\r\n padding: 0 12px;\r\n `,\r\n }\r\n\r\n const sendApprove = useCallback(() => {\r\n send({\r\n contract: poolUnderlyingTokenContract!,\r\n method: 'approve',\r\n params: [spender ?? poolInfo.pool, allowanceAmount ?? MaxUint256],\r\n provider,\r\n })\r\n }, [\r\n allowanceAmount,\r\n poolInfo.pool,\r\n poolUnderlyingTokenContract,\r\n provider,\r\n send,\r\n spender,\r\n ])\r\n\r\n useMount(() => {\r\n if (!showAutoPayback) {\r\n sendApprove()\r\n }\r\n })\r\n\r\n if (showAutoPayback && waitingForAccept) {\r\n return (\r\n <WrapperModal\r\n title='Auto Payback'\r\n subTitle='Enable auto payback and never miss payments. You only need to do it once.'\r\n >\r\n <Box css={styles.iconWrapper}>\r\n <AutoPaybackIcon />\r\n </Box>\r\n <Box css={styles.description}>\r\n This allowance transaction removes the need to confirm follow up{' '}\r\n {symbol} transactions. Gas is on us.\r\n </Box>\r\n <BottomButton variant='contained' onClick={sendApprove}>\r\n APPROVE {symbol} PAYMENTS\r\n </BottomButton>\r\n </WrapperModal>\r\n )\r\n }\r\n\r\n return (\r\n <LoadingModal\r\n title={`Approve ${symbol}`}\r\n description='Waiting for approval confirmation...'\r\n >\r\n <ViewOnExplorer txHash={txHash} />\r\n </LoadingModal>\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ApproveAllowance({\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <ApproveAllowanceModal\r\n poolInfo={poolInfo}\r\n handleSuccess={handleSuccess}\r\n showAutoPayback\r\n />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { Contract } from 'ethers'\r\nimport {\r\n PoolInfoType,\r\n sendTxAtom,\r\n TxStateType,\r\n useMount,\r\n usePoolContract,\r\n} from '@huma-finance/shared'\r\nimport { useAtom } from 'jotai'\r\nimport React, { useEffect } from 'react'\r\n\r\nimport { useAppDispatch } from '../hooks/useRedux'\r\nimport { LoadingModal } from './LoadingModal'\r\nimport { ViewOnExplorer } from './ViewOnExplorer'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n method: string\r\n params: unknown[]\r\n title?: string\r\n contract?: Contract\r\n handleSuccess?: () => void\r\n}\r\n\r\nexport function TxSendModal({\r\n poolInfo,\r\n title,\r\n method,\r\n params,\r\n contract,\r\n handleSuccess,\r\n}: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { provider } = useWeb3React()\r\n const poolContract = usePoolContract(poolInfo.poolName, poolInfo.poolType)\r\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\r\n\r\n useEffect(() => {\r\n if (state === TxStateType.Success) {\r\n if (handleSuccess) {\r\n handleSuccess()\r\n }\r\n }\r\n }, [dispatch, handleSuccess, state])\r\n\r\n useMount(() => {\r\n send({ contract: contract ?? poolContract!, method, params, provider })\r\n })\r\n\r\n return (\r\n <LoadingModal\r\n title={title ?? 'Transaction Pending'}\r\n description='Waiting for confirmation...'\r\n >\r\n <ViewOnExplorer txHash={txHash} />\r\n </LoadingModal>\r\n )\r\n}\r\n","import {\r\n PoolInfoType,\r\n toBigNumber,\r\n txAtom,\r\n useCLPoolAllowance,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const reset = useResetAtom(txAtom)\r\n const { account } = useWeb3React()\r\n const { borrowAmountBN } = useAppSelector(selectWidgetState)\r\n const { allowance } = useCLPoolAllowance(poolInfo.poolName, account)\r\n\r\n const handleSuccess = useCallback(() => {\r\n reset()\r\n const nextStep = allowance.gte(toBigNumber(borrowAmountBN!))\r\n ? WIDGET_STEP.Done\r\n : WIDGET_STEP.ApproveAllowance\r\n dispatch(setStep(nextStep))\r\n }, [allowance, borrowAmountBN, dispatch, reset])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n method='drawdown'\r\n params={[borrowAmountBN]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import { Box, Button, css, Typography, useTheme } from '@mui/material'\r\nimport { txAtom } from '@huma-finance/shared'\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../hooks/useRedux'\r\nimport { resetState } from '../store/widgets.reducers'\r\nimport { CheckIcon } from './icons'\r\n\r\ntype Props = {\r\n content: string[]\r\n handleAction: () => void\r\n buttonText?: string\r\n}\r\n\r\nexport function TxDoneModal({\r\n content,\r\n handleAction,\r\n buttonText,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const reset = useResetAtom(txAtom)\r\n\r\n const styles = {\r\n wrapper: css`\r\n height: 518px;\r\n position: relative;\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: -5px;\r\n `,\r\n content: css`\r\n ${theme.cssMixins.colVCentered};\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 18px;\r\n color: #423b46;\r\n margin-top: 64px;\r\n text-align: center;\r\n `,\r\n check: css`\r\n width: 100%;\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: 82px;\r\n `,\r\n doneButton: css`\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n `,\r\n }\r\n\r\n const handleCloseModal = useCallback(() => {\r\n reset()\r\n dispatch(resetState())\r\n handleAction()\r\n }, [dispatch, handleAction, reset])\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n Transaction Completed\r\n </Typography>\r\n <Box css={styles.check}>\r\n <CheckIcon />\r\n </Box>\r\n <Box css={styles.content}>\r\n {content.map((item) => (\r\n <Box sx={{ marginTop: '10px' }} key={item}>\r\n {item}\r\n </Box>\r\n ))}\r\n </Box>\r\n <Button\r\n className='transaction-done-modal-close-btn'\r\n variant='contained'\r\n css={styles.doneButton}\r\n onClick={handleCloseModal}\r\n >\r\n {buttonText == null ? 'DONE' : buttonText}\r\n </Button>\r\n </Box>\r\n )\r\n}\r\n","import { CreditRecordType, PoolInfoType, timeUtil } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n creditRecord: CreditRecordType\r\n handleAction: () => void\r\n hasNextStep: boolean\r\n}\r\n\r\nexport function Success({\r\n poolInfo,\r\n creditRecord,\r\n handleAction,\r\n hasNextStep,\r\n}: Props): React.ReactElement {\r\n const { borrowAmountNet } = useAppSelector(selectWidgetState)\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol } = poolUnderlyingToken\r\n const dueDate = timeUtil.timestampToLL(creditRecord?.dueDate.toNumber())\r\n\r\n const content = [\r\n `${borrowAmountNet} ${symbol} is now in your wallet.`,\r\n `Note: your payment will be automatically deducted on ${dueDate}.`,\r\n ]\r\n\r\n return (\r\n <TxDoneModal\r\n handleAction={handleAction}\r\n content={content}\r\n buttonText={hasNextStep ? \"WHAT'S NEXT\" : undefined}\r\n />\r\n )\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport {\r\n NotifiFrontendClient,\r\n newFrontendClient,\r\n Uint8SignMessageFunction,\r\n SignMessageParams,\r\n CardConfigItemV1,\r\n DirectPushEventTypeItem,\r\n EventTypeItem,\r\n BroadcastEventTypeItem,\r\n} from '@notifi-network/notifi-frontend-client'\r\nimport { getBlockchainConfigFromChain, txAtom } from '@huma-finance/shared'\r\nimport { ethers } from 'ethers'\r\nimport {\r\n Box,\r\n Input,\r\n InputAdornment,\r\n Typography,\r\n css,\r\n useTheme,\r\n} from '@mui/material'\r\nimport Email from '@mui/icons-material/Email'\r\nimport { useResetAtom } from 'jotai/utils'\r\n\r\nimport { WrapperModal } from '../WrapperModal'\r\nimport { envUtil } from '../../utils/env'\r\nimport { BottomButton } from '../BottomButton'\r\nimport { LoadingModal } from '../LoadingModal'\r\nimport { CheckIcon } from '../icons'\r\nimport { resetState } from '../../store/widgets.reducers'\r\nimport { useAppDispatch } from '../../hooks/useRedux'\r\n\r\ntype Props = {\r\n handleSuccess: () => void\r\n}\r\n\r\nfunction getIdFromEventType(eventType: EventTypeItem): string {\r\n if (eventType.type === 'directPush') {\r\n const directPushEventType = eventType as DirectPushEventTypeItem\r\n return (\r\n directPushEventType.directPushId as {\r\n value: string\r\n }\r\n ).value\r\n }\r\n if (eventType.type === 'broadcast') {\r\n const broadcastEventType = eventType as BroadcastEventTypeItem\r\n return (\r\n broadcastEventType.broadcastId as {\r\n value: string\r\n }\r\n ).value\r\n }\r\n\r\n return ''\r\n}\r\n\r\nasync function fetchEventTypes(\r\n notifiClient: NotifiFrontendClient,\r\n): Promise<(EventTypeItem & { enabled: boolean })[]> {\r\n const subscribedAlerts = await notifiClient.getAlerts()\r\n\r\n const subscriptionConfig = (await notifiClient.fetchSubscriptionCard({\r\n id: process.env.REACT_APP_NOTIFI_CONFIG_ID ?? '',\r\n type: 'SUBSCRIPTION_CARD',\r\n })) as CardConfigItemV1\r\n\r\n const eventTypes = subscriptionConfig?.eventTypes?.map(\r\n (eventType): EventTypeItem & { enabled: boolean } => {\r\n const eventTypeId = getIdFromEventType(eventType)\r\n let enabled = false\r\n // Check whether the user is subscribed to the event\r\n const subscribedAlert = subscribedAlerts?.find(\r\n (alert) => alert.filterOptions.indexOf(eventTypeId) >= 0,\r\n )\r\n\r\n if (subscribedAlert) {\r\n enabled = true\r\n }\r\n\r\n return {\r\n ...eventType,\r\n enabled,\r\n }\r\n },\r\n )\r\n\r\n return eventTypes\r\n}\r\n\r\nexport function NotifiSubscriptionModal({\r\n handleSuccess,\r\n}: Props): React.ReactElement {\r\n const theme = useTheme()\r\n const reset = useResetAtom(txAtom)\r\n const dispatch = useAppDispatch()\r\n const { account, chainId, provider } = useWeb3React()\r\n const [notifiClient, setNotifiClient] = useState<NotifiFrontendClient>()\r\n const [showSuccessScreen, setShowSuccessScreen] = useState<boolean>(false)\r\n const [isLoading, setIsLoading] = useState<boolean>(false)\r\n const [emailAddress, setEmailAddress] = useState<string>()\r\n const [emailValid, setEmailValid] = useState<boolean>()\r\n\r\n useEffect(() => {\r\n const initializeClient = async () => {\r\n if (account != null && chainId != null) {\r\n const client = newFrontendClient({\r\n account: { publicKey: account },\r\n tenantId: 'humadapp',\r\n env: envUtil.checkIsDev() ? 'Development' : 'Production',\r\n walletBlockchain: getBlockchainConfigFromChain(chainId),\r\n })\r\n\r\n await client.initialize()\r\n\r\n setNotifiClient(client)\r\n }\r\n }\r\n\r\n initializeClient()\r\n }, [account, chainId])\r\n\r\n const signMessage: Uint8SignMessageFunction = async (\r\n message: Uint8Array,\r\n ): Promise<Uint8Array> => {\r\n const signer = provider!.getSigner()\r\n const signature = await signer.signMessage(Buffer.from(message))\r\n return ethers.utils.arrayify(signature)\r\n }\r\n\r\n const handleEmailAddressChange = (\r\n event: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\r\n setEmailValid(emailRegex.test(event.target.value ?? ''))\r\n setEmailAddress(event.target.value)\r\n }\r\n\r\n const logInAndSubscribe = async (): Promise<void> => {\r\n if (notifiClient != null && chainId != null) {\r\n setIsLoading(true)\r\n\r\n // Ask user to sign a message to authenticate\r\n try {\r\n await notifiClient.logIn({\r\n walletBlockchain: getBlockchainConfigFromChain(chainId),\r\n signMessage,\r\n } as SignMessageParams)\r\n } catch (e) {\r\n setIsLoading(false)\r\n return\r\n }\r\n\r\n // Fetch all event types\r\n const fetchedEventTypes = await fetchEventTypes(notifiClient)\r\n\r\n // Authorize this email address for this wallet\r\n await notifiClient.ensureTargetGroup({\r\n name: 'Default',\r\n emailAddress: emailAddress!,\r\n })\r\n\r\n // Intentionally running this in serial because the Notifi ensureAlert can't handle\r\n // multiple calls. Notified their team to fix this.\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const eventType of fetchedEventTypes) {\r\n // eslint-disable-next-line no-await-in-loop\r\n await notifiClient.ensureAlert({\r\n eventType,\r\n inputs: {},\r\n })\r\n }\r\n\r\n setShowSuccessScreen(true)\r\n setIsLoading(false)\r\n }\r\n }\r\n\r\n const handleCloseModal = useCallback(() => {\r\n reset()\r\n dispatch(resetState())\r\n handleSuccess()\r\n }, [dispatch, handleSuccess, reset])\r\n\r\n const styles = {\r\n disclaimer: css`\r\n ${theme.cssMixins.rowCentered};\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #a8a1b2;\r\n margin-top: 48px;\r\n `,\r\n inputField: css`\r\n width: 90%;\r\n font-size: 16px;\r\n `,\r\n inputWrapper: css`\r\n width: 100%;\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: -5px;\r\n `,\r\n check: css`\r\n width: 100%;\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: 82px;\r\n `,\r\n }\r\n\r\n if (isLoading) {\r\n return <LoadingModal title='Notifications' />\r\n }\r\n\r\n if (showSuccessScreen) {\r\n return (\r\n <WrapperModal\r\n title='Success'\r\n subTitle='You successfully connected your email'\r\n >\r\n <Box css={styles.check}>\r\n <CheckIcon />\r\n </Box>\r\n <BottomButton variant='contained' onClick={handleCloseModal}>\r\n DONE\r\n </BottomButton>\r\n </WrapperModal>\r\n )\r\n }\r\n\r\n return (\r\n <WrapperModal title='Connect Your Email'>\r\n <Typography variant='body2' margin='12px 0'>\r\n Connect your wallet to receive important emails about your account\r\n </Typography>\r\n <Box css={styles.inputWrapper}>\r\n <Input\r\n css={styles.inputField}\r\n type='email'\r\n value={emailAddress}\r\n onChange={handleEmailAddressChange}\r\n placeholder='youremail@example.com'\r\n startAdornment={\r\n <InputAdornment position='start'>\r\n <Email />\r\n </InputAdornment>\r\n }\r\n />\r\n </Box>\r\n <Box css={styles.disclaimer}>\r\n You can adjust these settings at any time by clicking the alert icon in\r\n the header\r\n </Box>\r\n <BottomButton\r\n variant='contained'\r\n onClick={logInAndSubscribe}\r\n disabled={!emailValid || isLoading}\r\n >\r\n CONNECT WALLET\r\n </BottomButton>\r\n </WrapperModal>\r\n )\r\n}\r\n","import React from 'react'\r\nimport { NotifiSubscriptionModal } from '../../Notifi/NotifiSubscriptionModal'\r\n\r\ntype Props = {\r\n handleAction: () => void\r\n}\r\n\r\nexport function Notifications({ handleAction }: Props): React.ReactElement {\r\n return <NotifiSubscriptionModal handleSuccess={handleAction} />\r\n}\r\n","import { useEffect, useState } from 'react'\r\nimport {\r\n doesChainSupportNotifi,\r\n getBlockchainConfigFromChain,\r\n} from '@huma-finance/shared'\r\nimport { newFrontendClient } from '@notifi-network/notifi-frontend-client'\r\nimport { envUtil } from '../utils/env'\r\n\r\nexport const useIsFirstTimeNotifiUser = (\r\n account: string | undefined,\r\n chainId: number | undefined,\r\n) => {\r\n const [isFirstTimeNotifiUser, setIsFirstTimeNotifiUser] = useState(false)\r\n\r\n useEffect(() => {\r\n const checkIsFirstTimeNotifiUser = async () => {\r\n if (account != null && chainId != null) {\r\n const client = newFrontendClient({\r\n account: { publicKey: account },\r\n tenantId: 'humadapp',\r\n env: envUtil.checkIsDev() ? 'Development' : 'Production',\r\n walletBlockchain: getBlockchainConfigFromChain(chainId),\r\n })\r\n\r\n const userState = await client.initialize()\r\n\r\n // If the user is not authenticated or expired, they are a first time user\r\n if (\r\n userState.status !== 'authenticated' &&\r\n userState.status !== 'expired'\r\n ) {\r\n setIsFirstTimeNotifiUser(true)\r\n } else if (userState.status === 'authenticated') {\r\n // If a user is authenticated, check if they have a target group (AKA email)\r\n // associated with their wallet. If they do not, show them the notifi onboarding flow.\r\n const targetGroups = await client.getTargetGroups()\r\n const emailTargets = targetGroups[0]?.emailTargets?.[0]\r\n\r\n if (emailTargets == null || emailTargets.emailAddress == null) {\r\n setIsFirstTimeNotifiUser(true)\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkIsFirstTimeNotifiUser()\r\n }, [account, chainId])\r\n\r\n return { isFirstTimeNotifiUser }\r\n}\r\n\r\nexport const useDoesChainSupportNotifi = (\r\n account: string | undefined,\r\n chainId: number | undefined,\r\n) => {\r\n const [notifiChainSupported, setNotifiChainSupported] = useState(false)\r\n\r\n useEffect(() => {\r\n const checkNotifiChainSupported = async () => {\r\n if (account != null && chainId != null) {\r\n setNotifiChainSupported(\r\n doesChainSupportNotifi(chainId, envUtil.checkIsDev(), account),\r\n )\r\n }\r\n }\r\n\r\n checkNotifiChainSupported()\r\n }, [account, chainId])\r\n\r\n return { notifiChainSupported }\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n CreditState,\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useAccountStats,\r\n usePoolInfo,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { Evaluation } from './1-Evaluation'\r\nimport { ChooseAmount } from './2-ChooseAmount'\r\nimport { ApproveAllowance } from './4-ApproveAllowance'\r\nimport { Transfer } from './3-Transfer'\r\nimport { Success } from './5-Success'\r\nimport { Notifications } from './6-Notifications'\r\nimport {\r\n useDoesChainSupportNotifi,\r\n useIsFirstTimeNotifiUser,\r\n} from '../../../hooks/useNotifi'\r\n\r\n/**\r\n * Credit line pool borrow props\r\n * @typedef {Object} CreditLineBorrowProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function():void|undefined} handleApprove Optional function to notify when user is approved successfully to borrow again pool.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool borrow action is successful.\r\n */\r\nexport interface CreditLineBorrowProps {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n handleClose: () => void\r\n handleApprove?: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function CreditLineBorrow({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n handleClose,\r\n handleApprove,\r\n handleSuccess,\r\n}: CreditLineBorrowProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account, chainId } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const [accountStats, refreshAccountStats] = useAccountStats(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n const { isFirstTimeNotifiUser } = useIsFirstTimeNotifiUser(account, chainId)\r\n const { notifiChainSupported } = useDoesChainSupportNotifi(account, chainId)\r\n const { creditRecord } = accountStats\r\n const accountState = creditRecord?.state\r\n\r\n useEffect(() => {\r\n if (!step && accountState !== undefined) {\r\n const nextStep =\r\n accountState >= CreditState.Approved\r\n ? WIDGET_STEP.ChooseAmount\r\n : WIDGET_STEP.Evaluation\r\n dispatch(setStep(nextStep))\r\n }\r\n }, [accountState, dispatch, step])\r\n\r\n const approveCallback = useCallback(() => {\r\n if (handleApprove) {\r\n handleApprove()\r\n }\r\n refreshAccountStats()\r\n }, [handleApprove, refreshAccountStats])\r\n\r\n const setupNotificationsOrClose = useCallback(() => {\r\n if (isFirstTimeNotifiUser && notifiChainSupported) {\r\n dispatch(setStep(WIDGET_STEP.Notifications))\r\n } else {\r\n handleClose()\r\n }\r\n }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n isLoading={!creditRecord}\r\n loadingTitle='Borrow'\r\n handleClose={handleClose}\r\n handleSuccess={handleSuccess}\r\n >\r\n {step === WIDGET_STEP.Evaluation && (\r\n <Evaluation poolInfo={poolInfo} handleApprove={approveCallback} />\r\n )}\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount poolInfo={poolInfo} accountStats={accountStats} />\r\n )}\r\n {step === WIDGET_STEP.ApproveAllowance && (\r\n <ApproveAllowance poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && (\r\n <Success\r\n poolInfo={poolInfo}\r\n handleAction={setupNotificationsOrClose}\r\n creditRecord={creditRecord!}\r\n hasNextStep={isFirstTimeNotifiUser}\r\n />\r\n )}\r\n {step === WIDGET_STEP.Notifications && (\r\n <Notifications handleAction={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Borrow'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n PoolInfoType,\r\n toBigNumber,\r\n upScale,\r\n useCLPoolAllowance,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setPaymentAmount, setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n payoffAmount: number\r\n totalDueAmount: number\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ChooseAmount({\r\n payoffAmount,\r\n totalDueAmount,\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { account } = useWeb3React()\r\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const { allowance } = useCLPoolAllowance(poolInfo.poolName, account)\r\n\r\n useEffect(() => {\r\n setCurrentAmount(totalDueAmount)\r\n dispatch(setPaymentAmount({ paymentAmount: totalDueAmount }))\r\n }, [dispatch, totalDueAmount])\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n setCurrentAmount(newAmount)\r\n dispatch(setPaymentAmount({ paymentAmount: newAmount }))\r\n },\r\n [dispatch],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n const payAmount = upScale(currentAmount, decimals)\r\n const step = toBigNumber(payAmount).gt(allowance)\r\n ? WIDGET_STEP.ApproveAllowance\r\n : WIDGET_STEP.Transfer\r\n dispatch(setStep(step))\r\n }, [allowance, currentAmount, decimals, dispatch])\r\n\r\n return (\r\n <ChooseAmountModal\r\n title='Pay'\r\n description1='Choose amount'\r\n sliderMax={payoffAmount}\r\n currentAmount={currentAmount}\r\n tokenSymbol={symbol}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='pay'\r\n payoffAmount={payoffAmount}\r\n hideTerms\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ApproveAllowance({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n }, [dispatch])\r\n\r\n return (\r\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { account } = useWeb3React()\r\n const { paymentAmount } = useAppSelector(selectWidgetState)\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const paymentBigNumber = toBigNumber(upScale(paymentAmount!, decimals))\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n method='makePayment'\r\n params={[account, paymentBigNumber]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import {\r\n decodeLogs,\r\n downScale,\r\n formatMoney,\r\n PoolInfoType,\r\n sendTxAtom,\r\n} from '@huma-finance/shared'\r\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\r\nimport { useAtom } from 'jotai'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleAction: () => void\r\n}\r\n\r\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\r\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\r\n const [{ txReceipt }] = useAtom(sendTxAtom)\r\n const [payedAmount, setPayedAmount] = useState<string | undefined>()\r\n\r\n useEffect(() => {\r\n if (txReceipt) {\r\n const [event] = decodeLogs(txReceipt.logs, transferAbi)\r\n if (event) {\r\n const payedAmount = downScale(event.args.value.toString(), decimals)\r\n setPayedAmount(payedAmount)\r\n }\r\n }\r\n }, [decimals, txReceipt])\r\n\r\n const content = [\r\n `You successfully paid ${formatMoney(payedAmount)} ${symbol}.`,\r\n ]\r\n\r\n return <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useAccountStats,\r\n usePoolInfo,\r\n} from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { ChooseAmount } from './1-ChooseAmount'\r\nimport { ApproveAllowance } from './2-ApproveAllowance'\r\nimport { Transfer } from './3-Transfer'\r\nimport { Success } from './4-Success'\r\n\r\n/**\r\n * Credit line pool payment props\r\n * @typedef {Object} CreditLinePaymentProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the credit line pool payment action is successful.\r\n */\r\nexport type CreditLinePaymentProps = {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function CreditLinePayment({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n handleClose,\r\n handleSuccess,\r\n}: CreditLinePaymentProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const [{ creditRecord, payoffAmount, totalDueAmount }] = useAccountStats(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n\r\n useEffect(() => {\r\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\r\n }, [dispatch])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n isLoading={!creditRecord}\r\n loadingTitle='Make Payment'\r\n handleClose={handleClose}\r\n handleSuccess={handleSuccess}\r\n >\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount\r\n poolInfo={poolInfo}\r\n payoffAmount={payoffAmount}\r\n totalDueAmount={totalDueAmount}\r\n />\r\n )}\r\n {step === WIDGET_STEP.ApproveAllowance && (\r\n <ApproveAllowance poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && (\r\n <Success poolInfo={poolInfo} handleAction={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Make Payment'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { PoolInfoType, toBigNumber } from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\n\r\nimport useEA from '../../../hooks/useEA'\r\nimport { LoadingModal } from '../../LoadingModal'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n tokenId: string\r\n}\r\n\r\nexport function Evaluation({ poolInfo, tokenId }: Props): React.ReactElement {\r\n const { checkingEA } = useEA()\r\n const { account, chainId } = useWeb3React()\r\n\r\n useEffect(() => {\r\n if (account && chainId) {\r\n checkingEA(\r\n {\r\n poolAddress: poolInfo.pool,\r\n borrowerWalletAddress: account,\r\n context: {\r\n receivable: {\r\n address: poolInfo.assetAddress!,\r\n param: toBigNumber(tokenId).toHexString(),\r\n },\r\n },\r\n },\r\n WIDGET_STEP.ChooseAmount,\r\n )\r\n }\r\n }, [\r\n account,\r\n chainId,\r\n checkingEA,\r\n poolInfo.assetAddress,\r\n poolInfo.pool,\r\n tokenId,\r\n ])\r\n\r\n return (\r\n <LoadingModal\r\n title='Checking Invoice'\r\n description='Checking if the invoice qualifies for factoring...'\r\n />\r\n )\r\n}\r\n","import {\r\n AccountStats,\r\n PoolInfoType,\r\n upScale,\r\n useFeeManager,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setBorrowInfo } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n accountStats: AccountStats\r\n}\r\n\r\nexport function ChooseAmount({\r\n poolInfo,\r\n accountStats,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { creditRecord } = accountStats\r\n const [chargedFees, setChargedFees] = useState(0)\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const { approval } = useAppSelector(selectWidgetState)\r\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\r\n const [remainder, setRemainder] = useState<string | number | undefined>(\r\n approval!.receivable?.amountFormatted,\r\n )\r\n\r\n const getAvailableCreditLimit = () => {\r\n if (approval && creditRecord) {\r\n const principal = creditRecord.unbilledPrincipal\r\n .add(creditRecord.totalDue)\r\n .sub(creditRecord.feesAndInterestDue)\r\n .toNumber()\r\n return Number(approval.terms.creditLimitFormatted) - principal\r\n }\r\n return 0\r\n }\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n if (approval) {\r\n setCurrentAmount(newAmount)\r\n setChargedFees(getFeesCharged(newAmount))\r\n setRemainder(Number(approval.receivable!.amountFormatted) - newAmount)\r\n }\r\n },\r\n [approval, getFeesCharged],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n dispatch(\r\n setBorrowInfo({\r\n borrowAmount: currentAmount,\r\n borrowAmountBN: upScale(currentAmount, approval?.token.decimal),\r\n chargedFees,\r\n remainder: Number(remainder!),\r\n nextStep: WIDGET_STEP.ConfirmTransfer,\r\n }),\r\n )\r\n }, [approval?.token.decimal, chargedFees, currentAmount, dispatch, remainder])\r\n\r\n if (!approval) {\r\n return null\r\n }\r\n\r\n return (\r\n <ChooseAmountModal\r\n title='Choose Amount'\r\n description1='Access up to 80% of your invoice value'\r\n description2='The remainder will be sent to your wallet when the invoice is paid'\r\n sliderMax={getAvailableCreditLimit()}\r\n currentAmount={currentAmount}\r\n tokenSymbol={approval.token.symbol}\r\n topLeft='Fees'\r\n topRight={`${chargedFees} ${approval.token.symbol}`}\r\n downLeft='Remainder'\r\n downRight={`${remainder} ${approval.token.symbol}`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n />\r\n )\r\n}\r\n","import { combineStyles } from '@huma-finance/shared'\r\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\r\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\r\nimport React from 'react'\r\n\r\nimport { ReceiptIcon, UsdcIcon } from './icons'\r\n\r\ntype Props = {\r\n title: string\r\n description: string\r\n items: [\r\n { leftText: string; rightText: string },\r\n { leftText: string; rightText: string },\r\n ]\r\n actionText: string\r\n handleAction: () => void\r\n}\r\n\r\nexport function ConfirmTransferModal({\r\n title,\r\n description,\r\n items,\r\n actionText,\r\n handleAction,\r\n}: Props): React.ReactElement | null {\r\n const theme = useTheme()\r\n\r\n const styles = {\r\n wrapper: css`\r\n height: 518px;\r\n position: relative;\r\n ${theme.cssMixins.colStretch};\r\n `,\r\n header: css`\r\n ${theme.cssMixins.rowHCentered};\r\n margin-top: -5px;\r\n `,\r\n description: css`\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #49505b;\r\n margin-top: 30px;\r\n text-align: center;\r\n `,\r\n transferWrapper: css`\r\n margin-top: 75px;\r\n `,\r\n transfer: css`\r\n font-family: 'Uni-Neue-Regular';\r\n ${theme.cssMixins.rowSpaceBetweened}\r\n ${theme.cssMixins.rowVCentered}\r\n height: 72px;\r\n background: #f9f8fa;\r\n border-radius: 4px;\r\n font-weight: 500;\r\n font-size: 16px;\r\n color: #49505b;\r\n padding: 24px 20px;\r\n margin-bottom: 9px;\r\n position: relative;\r\n box-sizing: border-box;\r\n `,\r\n transferItem: css`\r\n ${theme.cssMixins.rowVCentered}\r\n `,\r\n arrow: css`\r\n @keyframes bounceAlpha {\r\n 0% {\r\n opacity: 1;\r\n transform: translateX(0px) scale(1);\r\n }\r\n 25% {\r\n opacity: 0;\r\n transform: translateX(10px) scale(0.9);\r\n }\r\n 26% {\r\n opacity: 0;\r\n transform: translateX(-10px) scale(0.9);\r\n }\r\n 55% {\r\n opacity: 1;\r\n transform: translateX(0px) scale(1);\r\n }\r\n }\r\n animation-name: bounceAlpha;\r\n animation-duration: 1.4s;\r\n animation-iteration-count: infinite;\r\n animation-timing-function: linear;\r\n\r\n color: #b246ff;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: calc(15% + 36px);\r\n bottom: 0;\r\n right: 0;\r\n width: 16px;\r\n height: 16px;\r\n `,\r\n arrowFirst: css`\r\n left: calc(15% + 20px);\r\n animation-delay: 0.2s;\r\n `,\r\n okButton: css`\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n `,\r\n usdcIcon: css`\r\n width: 22px;\r\n margin-right: 20px;\r\n & > path:first-of-type {\r\n fill: #76707e;\r\n }\r\n `,\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n {title}\r\n </Typography>\r\n <Box css={styles.description}>{description}</Box>\r\n <Box css={styles.transferWrapper}>\r\n <Box css={styles.transfer}>\r\n <Box css={styles.transferItem}>\r\n <ReceiptIcon css={{ width: '24px', marginRight: '20px' }} />\r\n {items[0].leftText}\r\n </Box>\r\n <ArrowForwardIosIcon\r\n css={combineStyles([styles.arrow, styles.arrowFirst])}\r\n />\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>{items[0].rightText}</Box>\r\n </Box>\r\n <Box css={styles.transfer}>\r\n <Box css={styles.transferItem}>\r\n <UsdcIcon css={styles.usdcIcon} />\r\n {items[1].leftText}\r\n </Box>\r\n <ArrowForwardIosIcon\r\n css={combineStyles([styles.arrow, styles.arrowFirst])}\r\n />\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>{items[1].rightText}</Box>\r\n </Box>\r\n </Box>\r\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\r\n {actionText}\r\n </Button>\r\n </Box>\r\n )\r\n}\r\n","import { isEmpty } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ConfirmTransferModal } from '../../ConfirmTransferModal'\r\n\r\nexport function ConfirmTransfer(): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { borrowAmountNet, approval } = useAppSelector(selectWidgetState)\r\n\r\n const handleAction = () => {\r\n dispatch(setStep(WIDGET_STEP.ApproveNFT))\r\n }\r\n\r\n if (isEmpty(borrowAmountNet) || isEmpty(approval)) {\r\n return null\r\n }\r\n\r\n return (\r\n <ConfirmTransferModal\r\n title='Confirm transaction details'\r\n description={`Huma keeps your Invoice NFT as collateral until it's fully paid.`}\r\n items={[\r\n { leftText: 'Invoice NFT', rightText: 'Huma' },\r\n {\r\n leftText: `${borrowAmountNet!} ${approval?.token.symbol}`,\r\n rightText: 'You',\r\n },\r\n ]}\r\n actionText='APPROVE TRANSFER'\r\n handleAction={handleAction}\r\n />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n PoolInfoType,\r\n sendTxAtom,\r\n txAtom,\r\n TxStateType,\r\n useInvoiceNFTContract,\r\n} from '@huma-finance/shared'\r\nimport { useAtom } from 'jotai'\r\nimport { useResetAtom } from 'jotai/utils'\r\nimport React, { useEffect } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { LoadingModal } from '../../LoadingModal'\r\nimport { ViewOnExplorer } from '../../ViewOnExplorer'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n tokenId: string\r\n}\r\n\r\nexport function ApproveNFT({ poolInfo, tokenId }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { provider } = useWeb3React()\r\n const [{ state, txHash }, send] = useAtom(sendTxAtom)\r\n const reset = useResetAtom(txAtom)\r\n const invoiceNFTContract = useInvoiceNFTContract(poolInfo.poolName)\r\n\r\n useEffect(() => {\r\n if (state === TxStateType.Success) {\r\n reset()\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n }\r\n }, [dispatch, reset, state])\r\n\r\n useEffect(() => {\r\n send({\r\n contract: invoiceNFTContract!,\r\n method: 'approve',\r\n params: [poolInfo.pool, tokenId],\r\n provider,\r\n })\r\n }, [invoiceNFTContract, poolInfo.pool, provider, send, tokenId])\r\n\r\n return (\r\n <LoadingModal\r\n title='Approve Invoice Transfer'\r\n description='Waiting for approval confirmation...'\r\n >\r\n <ViewOnExplorer txHash={txHash} />\r\n </LoadingModal>\r\n )\r\n}\r\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n tokenId: string\r\n}\r\n\r\nexport function Transfer({ poolInfo, tokenId }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const { borrowAmount } = useAppSelector(selectWidgetState)\r\n const requestLoanBigNumber = toBigNumber(upScale(borrowAmount!, decimals))\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n title='Transfer Invoice and Money'\r\n method='drawdownWithReceivable'\r\n params={[requestLoanBigNumber, poolInfo.assetAddress, tokenId]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import React from 'react'\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n handleAction: () => void\r\n}\r\n\r\nexport function Success({ handleAction }: Props): React.ReactElement {\r\n const { borrowAmountNet, remainder, approval } =\r\n useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmountNet} ${approval?.token.symbol} is now in your wallet.`,\r\n `The remaining ${remainder} ${approval?.token.symbol} will be sent to your wallet when the invoice is paid.`,\r\n ]\r\n\r\n return <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { BigNumber } from 'ethers'\r\nimport {\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useAccountStats,\r\n usePoolInfo,\r\n} from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { Evaluation } from './1-Evaluation'\r\nimport { ChooseAmount } from './2-ChooseAmount'\r\nimport { ConfirmTransfer } from './3-ConfirmTransfer'\r\nimport { ApproveNFT } from './4-ApproveNFT'\r\nimport { Transfer } from './5-Transfer'\r\nimport { Success } from './6-Success'\r\n\r\n/**\r\n * Invoice factoring pool borrow props\r\n * @typedef {Object} InvoiceFactoringBorrowProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {string|BigNumber} tokenId The NFT token id representing invoice.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool borrow action is successful.\r\n */\r\nexport interface InvoiceFactoringBorrowProps {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n tokenId: string | BigNumber\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function InvoiceFactoringBorrow({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n tokenId,\r\n handleClose,\r\n handleSuccess,\r\n}: InvoiceFactoringBorrowProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const [accountStats] = useAccountStats(poolName, poolType, account)\r\n\r\n useEffect(() => {\r\n dispatch(setStep(WIDGET_STEP.Evaluation))\r\n }, [dispatch])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n handleClose={handleClose}\r\n handleSuccess={handleSuccess}\r\n >\r\n {step === WIDGET_STEP.Evaluation && (\r\n <Evaluation poolInfo={poolInfo} tokenId={tokenId.toString()} />\r\n )}\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount poolInfo={poolInfo} accountStats={accountStats} />\r\n )}\r\n {step === WIDGET_STEP.ConfirmTransfer && <ConfirmTransfer />}\r\n {step === WIDGET_STEP.ApproveNFT && (\r\n <ApproveNFT poolInfo={poolInfo} tokenId={tokenId.toString()} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && (\r\n <Transfer poolInfo={poolInfo} tokenId={tokenId.toString()} />\r\n )}\r\n {step === WIDGET_STEP.Done && <Success handleAction={handleClose} />}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Invoice Factoring'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n CreditRecordType,\r\n downScale,\r\n PoolInfoType,\r\n toBigNumber,\r\n upScale,\r\n useRFPoolAllowance,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setPaymentAmount, setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n creditRecord: CreditRecordType\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ChooseAmount({\r\n creditRecord,\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { account } = useWeb3React()\r\n const { symbol, decimals } = poolInfo.poolUnderlyingToken\r\n const totalDue = downScale<number>(creditRecord.totalDue.toNumber(), decimals)\r\n const { allowance } = useRFPoolAllowance(poolInfo.poolName, account)\r\n const [remainingDue, setRemainingDue] = useState(totalDue)\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n setCurrentAmount(newAmount)\r\n const remainDueAmount = totalDue - newAmount\r\n setRemainingDue(remainDueAmount)\r\n dispatch(setPaymentAmount({ paymentAmount: newAmount, remainDueAmount }))\r\n },\r\n [dispatch, totalDue],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n const payAmount = upScale(currentAmount, decimals)\r\n const nextStep = toBigNumber(payAmount).gt(allowance)\r\n ? WIDGET_STEP.ApproveAllowance\r\n : WIDGET_STEP.Transfer\r\n dispatch(setStep(nextStep))\r\n }, [allowance, currentAmount, decimals, dispatch])\r\n\r\n return (\r\n <ChooseAmountModal\r\n title='Make the payment'\r\n description1='Choose amount'\r\n sliderMax={totalDue}\r\n currentAmount={currentAmount}\r\n tokenSymbol={symbol}\r\n topLeft='Total Due'\r\n topRight={`${totalDue} ${symbol}`}\r\n downLeft='Remaining Due'\r\n downRight={`${remainingDue} ${symbol}`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='make payment'\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ApproveAllowance({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n }, [dispatch])\r\n\r\n return (\r\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { account } = useWeb3React()\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const { paymentAmount } = useAppSelector(selectWidgetState)\r\n const paymentBigNumber = toBigNumber(upScale(paymentAmount!, decimals))\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n method='makePayment'\r\n params={[account, paymentBigNumber]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleAction: () => void\r\n}\r\n\r\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\r\n const { symbol } = poolInfo.poolUnderlyingToken\r\n const { paymentAmount, remainDueAmount } = useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `You have successfully made a payment of ${paymentAmount} ${symbol}.`,\r\n `The remaining due amount is ${remainDueAmount} ${symbol}.`,\r\n ]\r\n\r\n return <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useAccountStats,\r\n usePoolInfo,\r\n} from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { ChooseAmount } from './1-ChooseAmount'\r\nimport { ApproveAllowance } from './2-ApproveAllowance'\r\nimport { Transfer } from './3-Transfer'\r\nimport { Success } from './4-Success'\r\n\r\n/**\r\n * Invoice factoring pool payment props\r\n * @typedef {Object} InvoiceFactoringPaymentProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the invoice pool payment action is successful.\r\n */\r\nexport type InvoiceFactoringPaymentProps = {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function InvoiceFactoringPayment({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n handleClose,\r\n handleSuccess,\r\n}: InvoiceFactoringPaymentProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const [{ creditRecord }] = useAccountStats(poolName, poolType, account)\r\n\r\n useEffect(() => {\r\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\r\n }, [dispatch])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n isLoading={!creditRecord}\r\n loadingTitle='Make Payment'\r\n handleClose={handleClose}\r\n handleSuccess={handleSuccess}\r\n >\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount creditRecord={creditRecord!} poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.ApproveAllowance && (\r\n <ApproveAllowance poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && (\r\n <Success poolInfo={poolInfo} handleAction={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Make Payment'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { Box, css, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { EAService, PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../../hooks/useRedux'\r\nimport { setError, setStep } from '../../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../../store/widgets.store'\r\nimport { CustomError } from '../../../../utilTypes'\r\nimport { BottomButton } from '../../../BottomButton'\r\nimport { ApproveLenderIcon } from '../../../icons'\r\nimport { LoadingModal } from '../../../LoadingModal'\r\nimport { WrapperModal } from '../../../WrapperModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleApproveSuccess: () => void\r\n}\r\n\r\nexport function EvaluationEA({\r\n poolInfo,\r\n handleApproveSuccess,\r\n}: Props): React.ReactElement | null {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const { account, chainId } = useWeb3React()\r\n const [loading, setLoading] = useState(false)\r\n\r\n const styles = {\r\n iconWrapper: css`\r\n ${theme.cssMixins.rowCentered};\r\n margin-top: 30px;\r\n `,\r\n description: css`\r\n ${theme.cssMixins.rowCentered};\r\n margin-top: 50px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #a8a1b2;\r\n `,\r\n }\r\n\r\n const approveLender = async () => {\r\n if (account) {\r\n try {\r\n setLoading(true)\r\n const payload = {\r\n poolAddress: poolInfo.pool,\r\n lenderWalletAddress: account,\r\n }\r\n await EAService.approveLender(payload, chainId!)\r\n handleApproveSuccess()\r\n setLoading(false)\r\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\r\n } catch (e: unknown) {\r\n const error = e as CustomError\r\n setLoading(false)\r\n dispatch(setError({ errorMessage: error.message }))\r\n }\r\n }\r\n }\r\n\r\n if (!loading) {\r\n return (\r\n <WrapperModal\r\n title='Lender Approval'\r\n subTitle='This pool requires lender approval'\r\n >\r\n <Box css={styles.iconWrapper}>\r\n <ApproveLenderIcon />\r\n </Box>\r\n <Box css={styles.description} />\r\n <BottomButton variant='contained' onClick={approveLender}>\r\n GET APPROVED\r\n </BottomButton>\r\n </WrapperModal>\r\n )\r\n }\r\n\r\n return (\r\n <LoadingModal\r\n title='Approval Pending'\r\n description='Waiting for approval confirmation...'\r\n />\r\n )\r\n}\r\n","import { css } from '@emotion/react'\r\nimport { Alert, Box, Snackbar } from '@mui/material'\r\n\r\ntype Props = {\r\n open: boolean\r\n title: string\r\n message: string\r\n severity: 'success' | 'info' | 'warning' | 'error'\r\n autoHideDuration?: number\r\n onClose: () => void\r\n}\r\n\r\nexport function HumaSnackBar({\r\n open,\r\n autoHideDuration,\r\n title,\r\n message,\r\n severity,\r\n onClose,\r\n}: Props) {\r\n const styles = {\r\n snackbar: css`\r\n margin-top: 80px;\r\n `,\r\n alert: css`\r\n max-width: 400px;\r\n padding: 20px 35px 20px 20px;\r\n border-radius: 16px;\r\n overflow: hidden;\r\n `,\r\n title: css`\r\n margin-bottom: 10px;\r\n font-size: 16px;\r\n font-family: 'Uni-Neue-Bold';\r\n `,\r\n message: css`\r\n font-size: 15px;\r\n font-family: 'Uni-Neue-Regular';\r\n `,\r\n }\r\n\r\n return (\r\n <Snackbar\r\n open={open}\r\n autoHideDuration={autoHideDuration ?? 6000}\r\n onClose={onClose}\r\n css={styles.snackbar}\r\n >\r\n <Alert\r\n onClose={onClose}\r\n title={title}\r\n severity={severity}\r\n css={styles.alert}\r\n >\r\n <Box css={styles.title}>{title}</Box>\r\n <Box css={styles.message}>{message}</Box>\r\n </Alert>\r\n </Snackbar>\r\n )\r\n}\r\n","import {\r\n configUtil,\r\n DocSignatureStatus,\r\n IdentityService,\r\n PoolInfoType,\r\n timeUtil,\r\n VerificationStatusResult,\r\n} from '@huma-finance/shared'\r\nimport { Box, css, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../../hooks/useRedux'\r\nimport { setError } from '../../../../store/widgets.reducers'\r\nimport { envUtil } from '../../../../utils/env'\r\nimport { BottomButton } from '../../../BottomButton'\r\nimport { HumaSnackBar } from '../../../HumaSnackBar'\r\nimport { ApproveLenderIcon } from '../../../icons'\r\nimport { LoadingModal } from '../../../LoadingModal'\r\nimport { WrapperModal } from '../../../WrapperModal'\r\n\r\nconst KYCProvider = 'Securitize'\r\n\r\nconst KYCCopiesByState: {\r\n [key: string]: {\r\n description: string\r\n buttonText: string\r\n }\r\n} = {\r\n verifyIdentity: {\r\n description: `Link your ${KYCProvider} account or create a new one to complete identity verification.`,\r\n buttonText: 'VERIFY MY IDENTITY',\r\n },\r\n emailSignatureLink: {\r\n description: `Final step: Your digital signature on legal documents is required. Click below to email yourself the DocuSign link.`,\r\n buttonText: 'EMAIL DOCUSIGN LINK',\r\n },\r\n resendSignatureLink: {\r\n description: `DocuSign link sent successfully. Haven't received it? Check your spam folder or click below to resend it.`,\r\n buttonText: 'RESEND DOCUSIGN LINK',\r\n },\r\n docUnderReview: {\r\n description: `Documents received and under review. You'll be notified upon approval. Your patience is appreciated.`,\r\n buttonText: 'THANK YOU',\r\n },\r\n}\r\n\r\nconst LoadingCopiesByType: {\r\n [key: string]: {\r\n description: string\r\n }\r\n} = {\r\n verificationStatus: {\r\n description: `Checking your verification status...`,\r\n },\r\n sendDocSignatureLink: {\r\n description: `Sending signature link...`,\r\n },\r\n}\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleClose: () => void\r\n}\r\n\r\nexport function EvaluationKYC({\r\n poolInfo,\r\n handleClose,\r\n}: Props): React.ReactElement | null {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const isDev = envUtil.checkIsDev()\r\n const { account, chainId } = useWeb3React()\r\n const [loadingType, setLoadingType] = useState<\r\n 'verificationStatus' | 'sendDocSignatureLink'\r\n >()\r\n const [description, setDescription] = useState<string>(\r\n KYCCopiesByState.verifyIdentity.description,\r\n )\r\n const [buttonText, setButtonText] = useState<string>(\r\n KYCCopiesByState.verifyIdentity.buttonText,\r\n )\r\n const [KYCVerifyStatus, setKYCVerifyStatus] =\r\n useState<VerificationStatusResult>()\r\n const [docSignatureStatus, setDocSignatureStatus] =\r\n useState<DocSignatureStatus['status']>()\r\n const docSignatureCompleted = docSignatureStatus === 'completed'\r\n const [openSnackBar, setOpenSnackBar] = useState<boolean>(false)\r\n\r\n const styles = {\r\n iconWrapper: css`\r\n ${theme.cssMixins.rowCentered};\r\n margin-top: 30px;\r\n `,\r\n description: css`\r\n ${theme.cssMixins.rowCentered};\r\n margin-top: 50px;\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 16px;\r\n color: #a8a1b2;\r\n `,\r\n }\r\n\r\n const { envelopeKey, envelopeLastQueryTimeKey } = useMemo(() => {\r\n const envelopeKey = `${poolInfo.pool.toLowerCase()}-${account?.toLowerCase()}`\r\n const envelopeLastQueryTimeKey = `${envelopeKey}-last-query-time`\r\n return {\r\n envelopeKey,\r\n envelopeLastQueryTimeKey,\r\n }\r\n }, [account, poolInfo.pool])\r\n\r\n // DocuSign GET requests to any specific URL can be called not more often than once every 15 minutes.\r\n // https://developers.docusign.com/platform/api-guidelines/#:~:text=Polling,not%20once%20every%2010%20minutes\r\n const checkGetDocSignatureStatusIsAvailable = useCallback(() => {\r\n const lastQueryTime = localStorage.getItem(envelopeLastQueryTimeKey)\r\n if (!lastQueryTime) {\r\n return true\r\n }\r\n const lastQueryTimeNumber = Number(lastQueryTime)\r\n const now = timeUtil.getUnixTimestamp()\r\n const diff = now - lastQueryTimeNumber\r\n const fifteenMinutes = 15 * 60\r\n return diff > fifteenMinutes\r\n }, [envelopeLastQueryTimeKey])\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (account && chainId) {\r\n try {\r\n setLoadingType('verificationStatus')\r\n const verificationStatus =\r\n await IdentityService.getVerificationStatus(\r\n account,\r\n poolInfo.pool,\r\n chainId,\r\n isDev,\r\n )\r\n setKYCVerifyStatus(verificationStatus)\r\n if (verificationStatus.isVerified) {\r\n const envelopeId = localStorage.getItem(envelopeKey)\r\n if (!envelopeId) {\r\n setDescription(KYCCopiesByState.emailSignatureLink.description)\r\n setButtonText(KYCCopiesByState.emailSignatureLink.buttonText)\r\n } else if (!checkGetDocSignatureStatusIsAvailable()) {\r\n setDescription(KYCCopiesByState.resendSignatureLink.description)\r\n setButtonText(KYCCopiesByState.resendSignatureLink.buttonText)\r\n } else {\r\n const { status } = await IdentityService.getDocSignatureStatus(\r\n envelopeId,\r\n chainId,\r\n isDev,\r\n )\r\n localStorage.setItem(\r\n envelopeLastQueryTimeKey,\r\n String(timeUtil.getUnixTimestamp()),\r\n )\r\n setDocSignatureStatus(status)\r\n if (status === 'completed') {\r\n setDescription(KYCCopiesByState.docUnderReview.description)\r\n setButtonText(KYCCopiesByState.docUnderReview.buttonText)\r\n // For voided and declined status, we need to send a new link\r\n } else if (['voided', 'declined'].includes(status)) {\r\n localStorage.removeItem(envelopeKey)\r\n localStorage.removeItem(envelopeLastQueryTimeKey)\r\n setDescription(KYCCopiesByState.emailSignatureLink.description)\r\n setButtonText(KYCCopiesByState.emailSignatureLink.buttonText)\r\n } else {\r\n setDescription(KYCCopiesByState.resendSignatureLink.description)\r\n setButtonText(KYCCopiesByState.resendSignatureLink.buttonText)\r\n }\r\n }\r\n }\r\n } catch (e: unknown) {\r\n console.error(e)\r\n dispatch(\r\n setError({\r\n errorMessage: 'Something went wrong, please try again later.',\r\n }),\r\n )\r\n } finally {\r\n setLoadingType(undefined)\r\n }\r\n }\r\n }\r\n fetchData()\r\n }, [\r\n account,\r\n chainId,\r\n checkGetDocSignatureStatusIsAvailable,\r\n dispatch,\r\n envelopeKey,\r\n envelopeLastQueryTimeKey,\r\n isDev,\r\n poolInfo.pool,\r\n ])\r\n\r\n const approveLender = async () => {\r\n if (docSignatureCompleted) {\r\n handleClose()\r\n return\r\n }\r\n\r\n const { isNotOnboarded, isVerified } = KYCVerifyStatus || {}\r\n\r\n if (!isVerified) {\r\n const issuerId = '53a66b32-583e-40e7-ba90-baf516d2cadd'\r\n const baseUrl = configUtil.getKYCProviderBaseUrl(KYCProvider, isDev)\r\n const originUrl = window.location.href.split('?')[0]\r\n const redirectUrl = `${originUrl}?kycProvider=${KYCProvider}&kycPool=${poolInfo.pool}`\r\n const providerAuthorizeUrl = `${baseUrl}/#/authorize?issuerId=${issuerId}&scope=details&details=verification&redirectUrl=${redirectUrl}`\r\n const providerUrl = isNotOnboarded ? providerAuthorizeUrl : baseUrl\r\n window.location.href = providerUrl\r\n } else {\r\n const envelopeId = localStorage.getItem(envelopeKey)\r\n try {\r\n setLoadingType('sendDocSignatureLink')\r\n if (!envelopeId) {\r\n const { envelopeId } = await IdentityService.requestDocSignature(\r\n account!,\r\n chainId!,\r\n isDev,\r\n )\r\n localStorage.setItem(envelopeKey, envelopeId)\r\n localStorage.setItem(\r\n envelopeLastQueryTimeKey,\r\n String(timeUtil.getUnixTimestamp()),\r\n )\r\n setOpenSnackBar(true)\r\n setDescription(KYCCopiesByState.resendSignatureLink.description)\r\n setButtonText(KYCCopiesByState.resendSignatureLink.buttonText)\r\n } else {\r\n await IdentityService.resendDocSignatureLink(\r\n envelopeId,\r\n chainId!,\r\n isDev,\r\n )\r\n setOpenSnackBar(true)\r\n }\r\n } catch (e: unknown) {\r\n console.error(e)\r\n dispatch(\r\n setError({\r\n errorMessage: 'Something went wrong, please try again later.',\r\n }),\r\n )\r\n } finally {\r\n setLoadingType(undefined)\r\n }\r\n }\r\n }\r\n\r\n const getEmailLinkSentSnackbar = () => (\r\n <HumaSnackBar\r\n open={openSnackBar}\r\n title='Signature Link Sent'\r\n message='The secure signature session link has been sent to your email.'\r\n severity='success'\r\n onClose={() => setOpenSnackBar(false)}\r\n />\r\n )\r\n\r\n if (!loadingType) {\r\n return (\r\n <WrapperModal\r\n title='Lender Approval'\r\n subTitle='This pool requires lender approval'\r\n >\r\n <Box css={styles.iconWrapper}>\r\n <ApproveLenderIcon />\r\n </Box>\r\n <Box css={styles.description}>{description}</Box>\r\n <BottomButton variant='contained' onClick={approveLender}>\r\n {buttonText}\r\n </BottomButton>\r\n {getEmailLinkSentSnackbar()}\r\n </WrapperModal>\r\n )\r\n }\r\n\r\n return (\r\n <LoadingModal\r\n title='Lender Approval'\r\n description={LoadingCopiesByType[loadingType].description}\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { EvaluationEA } from './EvaluationEA'\r\nimport { EvaluationKYC } from './EvaluationKYC'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleClose: () => void\r\n handleApproveSuccess: () => void\r\n}\r\n\r\nexport function Evaluation({\r\n poolInfo,\r\n handleClose,\r\n handleApproveSuccess,\r\n}: Props): React.ReactElement | null {\r\n const lenderApprovalProvider = poolInfo.extra?.lenderApprovalProvider\r\n const isKYC = lenderApprovalProvider?.type === 'KYC'\r\n\r\n if (isKYC) {\r\n return <EvaluationKYC poolInfo={poolInfo} handleClose={handleClose} />\r\n }\r\n\r\n return (\r\n <EvaluationEA\r\n poolInfo={poolInfo}\r\n handleApproveSuccess={handleApproveSuccess}\r\n />\r\n )\r\n}\r\n","import { BigNumber } from 'ethers'\r\nimport {\r\n PoolInfoType,\r\n timeUtil,\r\n toBigNumber,\r\n upScale,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep, setSupplyAmount } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\nimport { getIcon } from '../../icons'\r\n\r\ntype Props = {\r\n allowance: BigNumber\r\n withdrawlLockoutSeconds: number | undefined\r\n underlyingTokenBalance: string\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ChooseAmount({\r\n allowance,\r\n withdrawlLockoutSeconds,\r\n underlyingTokenBalance,\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol, decimals } = poolUnderlyingToken\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const depositAmount = upScale<number>(currentAmount, decimals)\r\n const needApprove = toBigNumber(depositAmount).gt(allowance)\r\n const withdrawlLockoutDays = timeUtil.secondsToDays(withdrawlLockoutSeconds)\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n setCurrentAmount(newAmount)\r\n dispatch(setSupplyAmount(newAmount))\r\n },\r\n [dispatch],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n const step = needApprove\r\n ? WIDGET_STEP.ApproveAllowance\r\n : WIDGET_STEP.Transfer\r\n dispatch(setStep(step))\r\n }, [dispatch, needApprove])\r\n return (\r\n <ChooseAmountModal\r\n title={`Supply ${symbol}`}\r\n description1='Choose Amount'\r\n description2={`Depositors need to wait for ${withdrawlLockoutDays.toFixed(\r\n 0,\r\n )} days before withdrawal`}\r\n sliderMax={Number(underlyingTokenBalance)}\r\n currentAmount={currentAmount}\r\n tokenSymbol={symbol}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText={needApprove ? 'approve allowance' : 'supply'}\r\n type='input'\r\n tokenIcon={getIcon(poolInfo.poolUnderlyingToken.icon)!}\r\n hideTerms\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ApproveAllowance({\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n }, [dispatch])\r\n\r\n return (\r\n <ApproveAllowanceModal poolInfo={poolInfo} handleSuccess={handleSuccess} />\r\n )\r\n}\r\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { supplyAmount } = useAppSelector(selectWidgetState)\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const supplyBigNumber = toBigNumber(upScale(supplyAmount!, decimals))\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n method='deposit'\r\n params={[supplyBigNumber]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n decodeLogs,\r\n downScale,\r\n formatMoney,\r\n PoolInfoType,\r\n sendTxAtom,\r\n} from '@huma-finance/shared'\r\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\r\nimport { useAtom } from 'jotai'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleAction: () => void\r\n hasNextStep: boolean\r\n}\r\n\r\nexport function Success({\r\n poolInfo,\r\n handleAction,\r\n hasNextStep,\r\n}: Props): React.ReactElement {\r\n const { account } = useWeb3React()\r\n const { poolUnderlyingToken } = poolInfo\r\n const [{ txReceipt }] = useAtom(sendTxAtom)\r\n const { symbol, decimals, address } = poolUnderlyingToken\r\n const [supplyAmount, setSupplyAmount] = useState<string | undefined>()\r\n\r\n useEffect(() => {\r\n if (txReceipt) {\r\n const events = decodeLogs(txReceipt.logs, transferAbi)\r\n if (events) {\r\n events.forEach((event) => {\r\n const { from, to, value } = event.args\r\n if (\r\n from.toLowerCase() === account?.toLowerCase() &&\r\n to.toLowerCase() === poolInfo.pool.toLowerCase()\r\n ) {\r\n setSupplyAmount(downScale(value.toString(), decimals))\r\n }\r\n })\r\n }\r\n }\r\n }, [account, address, decimals, poolInfo.pool, txReceipt])\r\n\r\n const content = [\r\n `You successfully supplied ${formatMoney(supplyAmount)} ${symbol}.`,\r\n ]\r\n\r\n return (\r\n <TxDoneModal\r\n handleAction={handleAction}\r\n content={content}\r\n buttonText={hasNextStep ? \"WHAT'S NEXT\" : undefined}\r\n />\r\n )\r\n}\r\n","import React from 'react'\r\nimport { NotifiSubscriptionModal } from '../../Notifi/NotifiSubscriptionModal'\r\n\r\ntype Props = {\r\n handleAction: () => void\r\n}\r\n\r\nexport function Notifications({ handleAction }: Props): React.ReactElement {\r\n return <NotifiSubscriptionModal handleSuccess={handleAction} />\r\n}\r\n","import {\r\n downScale,\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useLenderApproved,\r\n useLenderPosition,\r\n usePoolAllowance,\r\n usePoolInfo,\r\n usePoolUnderlyingTokenBalance,\r\n useWithdrawlLockoutInSeconds,\r\n} from '@huma-finance/shared'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport React, { useCallback, useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport {\r\n useIsFirstTimeNotifiUser,\r\n useDoesChainSupportNotifi,\r\n} from '../../../hooks/useNotifi'\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { Evaluation } from './1-Evaluation'\r\nimport { ChooseAmount } from './2-ChooseAmount'\r\nimport { ApproveAllowance } from './3-ApproveAllowance'\r\nimport { Transfer } from './4-Transfer'\r\nimport { Success } from './5-Success'\r\nimport { Notifications } from './6-Notifications'\r\n\r\n/**\r\n * Lend pool supply props\r\n * @typedef {Object} LendSupplyProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool supply action is successful.\r\n */\r\nexport interface LendSupplyProps {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function LendSupply({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n handleClose,\r\n handleSuccess,\r\n}: LendSupplyProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account, chainId } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { decimals } = poolInfo?.poolUnderlyingToken || {}\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const { allowance } = usePoolAllowance(poolName, poolType, account)\r\n const { isFirstTimeNotifiUser } = useIsFirstTimeNotifiUser(account, chainId)\r\n const { notifiChainSupported } = useDoesChainSupportNotifi(account, chainId)\r\n const [lenderApproved, refreshLenderApproved] = useLenderApproved(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n const [, refreshLenderPosition] = useLenderPosition(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n const withdrawlLockoutSeconds = useWithdrawlLockoutInSeconds(\r\n poolName,\r\n poolType,\r\n )\r\n const underlyingTokenBalance = usePoolUnderlyingTokenBalance(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n const balanceWithoutDecimals = downScale(underlyingTokenBalance, decimals)\r\n\r\n useEffect(() => {\r\n if (!step && lenderApproved !== undefined) {\r\n const nextStep = lenderApproved\r\n ? WIDGET_STEP.ChooseAmount\r\n : WIDGET_STEP.Evaluation\r\n dispatch(setStep(nextStep))\r\n }\r\n }, [dispatch, lenderApproved, step])\r\n\r\n const handleApproveSuccess = useCallback(() => {\r\n refreshLenderApproved()\r\n }, [refreshLenderApproved])\r\n\r\n const handleSupplySuccess = useCallback(\r\n (blockNumber: number) => {\r\n refreshLenderPosition()\r\n if (handleSuccess) {\r\n handleSuccess(blockNumber)\r\n }\r\n },\r\n [handleSuccess, refreshLenderPosition],\r\n )\r\n\r\n const setupNotificationsOrClose = useCallback(() => {\r\n if (isFirstTimeNotifiUser && notifiChainSupported) {\r\n dispatch(setStep(WIDGET_STEP.Notifications))\r\n } else {\r\n handleClose()\r\n }\r\n }, [dispatch, handleClose, isFirstTimeNotifiUser, notifiChainSupported])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n isLoading={lenderApproved === undefined}\r\n loadingTitle={`Supply ${poolInfo.poolUnderlyingToken.symbol}`}\r\n handleClose={handleClose}\r\n handleSuccess={handleSupplySuccess}\r\n >\r\n {step === WIDGET_STEP.Evaluation && (\r\n <Evaluation\r\n poolInfo={poolInfo}\r\n handleClose={handleClose}\r\n handleApproveSuccess={handleApproveSuccess}\r\n />\r\n )}\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount\r\n poolInfo={poolInfo}\r\n allowance={allowance}\r\n underlyingTokenBalance={balanceWithoutDecimals}\r\n withdrawlLockoutSeconds={withdrawlLockoutSeconds}\r\n />\r\n )}\r\n {step === WIDGET_STEP.ApproveAllowance && (\r\n <ApproveAllowance poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && (\r\n <Success\r\n poolInfo={poolInfo}\r\n handleAction={setupNotificationsOrClose}\r\n hasNextStep={isFirstTimeNotifiUser}\r\n />\r\n )}\r\n {step === WIDGET_STEP.Notifications && (\r\n <Notifications handleAction={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Supply'\r\n errorReason='Sorry there was an error'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n isEmpty,\r\n PoolInfoType,\r\n timeUtil,\r\n useLastDepositTime,\r\n useWithdrawlLockoutInSeconds,\r\n} from '@huma-finance/shared'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { LoadingModal } from '../../LoadingModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleClose: () => void\r\n}\r\n\r\nexport function CheckWithdrawable({\r\n poolInfo,\r\n handleClose,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { account } = useWeb3React()\r\n const withdrawlLockoutSeconds = useWithdrawlLockoutInSeconds(\r\n poolInfo.poolName,\r\n poolInfo.poolType,\r\n )\r\n const lastDepositTime = useLastDepositTime(\r\n poolInfo.poolName,\r\n poolInfo.poolType,\r\n account,\r\n )\r\n\r\n const { symbol } = poolInfo.poolUnderlyingToken\r\n const [status, setStatus] = useState<'checking' | 'error'>('checking')\r\n\r\n useEffect(() => {\r\n if (!isEmpty(withdrawlLockoutSeconds) && !isEmpty(lastDepositTime)) {\r\n const currentTimestamp = timeUtil.getUnixTimestamp()\r\n if (lastDepositTime! + withdrawlLockoutSeconds! > currentTimestamp) {\r\n setStatus('error')\r\n } else {\r\n dispatch(setStep(WIDGET_STEP.ChooseAmount))\r\n }\r\n }\r\n }, [dispatch, lastDepositTime, withdrawlLockoutSeconds])\r\n\r\n if (status === 'error') {\r\n const errorMessage = `Your last deposit was on ${timeUtil.timestampToLL(\r\n lastDepositTime,\r\n )}. Depositors need to wait for ${timeUtil\r\n .secondsToDays(withdrawlLockoutSeconds)\r\n .toFixed(0)} days before withdrawal.`\r\n return (\r\n <ErrorModal\r\n title={`Withdraw ${symbol}`}\r\n errorReason='Withdraw too soon'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )\r\n }\r\n\r\n return (\r\n <LoadingModal\r\n title={`Withdraw ${symbol}`}\r\n description='Checking withdrawable amount...'\r\n />\r\n )\r\n}\r\n","import { BigNumber } from 'ethers'\r\nimport { downScale, PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { useAppDispatch } from '../../../hooks/useRedux'\r\nimport { setStep, setWithdrawAmount } from '../../../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n lenderPosition: BigNumber\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ChooseAmount({\r\n lenderPosition,\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol, decimals } = poolUnderlyingToken\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const withdrawableAmount = downScale<number>(lenderPosition, decimals)\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n setCurrentAmount(newAmount)\r\n dispatch(setWithdrawAmount(newAmount))\r\n },\r\n [dispatch],\r\n )\r\n\r\n const handleAction = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n }, [dispatch])\r\n\r\n return (\r\n <ChooseAmountModal\r\n title={`Withdraw ${symbol}`}\r\n description1='Choose Amount'\r\n sliderMax={Number(withdrawableAmount)}\r\n currentAmount={currentAmount}\r\n tokenSymbol={symbol}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='withdraw'\r\n hideTerms\r\n />\r\n )\r\n}\r\n","import { PoolInfoType, toBigNumber, upScale } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement {\r\n const dispatch = useAppDispatch()\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const { withdrawAmount } = useAppSelector(selectWidgetState)\r\n const withdrawBigNumber = toBigNumber(upScale(withdrawAmount!, decimals))\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n method='withdraw'\r\n params={[withdrawBigNumber]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n decodeLogs,\r\n downScale,\r\n formatMoney,\r\n PoolInfoType,\r\n sendTxAtom,\r\n} from '@huma-finance/shared'\r\nimport transferAbi from '@huma-finance/shared/dist/abis/Transfer.json'\r\nimport { useAtom } from 'jotai'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleAction: () => void\r\n}\r\n\r\nexport function Success({ poolInfo, handleAction }: Props): React.ReactElement {\r\n const { account } = useWeb3React()\r\n const { poolUnderlyingToken } = poolInfo\r\n const [{ txReceipt }] = useAtom(sendTxAtom)\r\n const { symbol, decimals, address } = poolUnderlyingToken\r\n const [withdrawAmount, setWithdrawAmount] = useState<string | undefined>()\r\n\r\n useEffect(() => {\r\n if (txReceipt) {\r\n const events = decodeLogs(txReceipt.logs, transferAbi)\r\n if (events) {\r\n events.forEach((event) => {\r\n const { from, to, value } = event.args\r\n if (\r\n from.toLowerCase() === poolInfo.pool.toLowerCase() &&\r\n to.toLowerCase() === account?.toLowerCase()\r\n ) {\r\n setWithdrawAmount(downScale(value.toString(), decimals))\r\n }\r\n })\r\n }\r\n }\r\n }, [account, address, decimals, poolInfo.pool, txReceipt])\r\n\r\n const content = [\r\n `You successfully withdrawn ${formatMoney(withdrawAmount)} ${symbol}.`,\r\n ]\r\n\r\n return <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n POOL_NAME,\r\n POOL_TYPE,\r\n useLenderPosition,\r\n usePoolInfo,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { CheckWithdrawable } from './1-CheckWithdrawble'\r\nimport { ChooseAmount } from './2-ChooseAmount'\r\nimport { Transfer } from './3-Transfer'\r\nimport { Success } from './4-Success'\r\n\r\n/**\r\n * Lend pool withdraw props\r\n * @typedef {Object} LendWithdrawProps\r\n * @property {POOL_NAME} poolName The name of the pool.\r\n * @property {POOL_TYPE} poolType The type of the pool.\r\n * @property {function():void} handleClose Function to notify to close the widget modal when user clicks the 'x' close button.\r\n * @property {function((number|undefined)):void|undefined} handleSuccess Optional function to notify that the lending pool withdraw action is successful.\r\n */\r\nexport type LendWithdrawProps = {\r\n poolName: keyof typeof POOL_NAME\r\n poolType: keyof typeof POOL_TYPE\r\n handleClose: () => void\r\n handleSuccess?: (blockNumber?: number) => void\r\n}\r\n\r\nexport function LendWithdraw({\r\n poolName: poolNameStr,\r\n poolType: poolTypeStr,\r\n handleClose,\r\n handleSuccess,\r\n}: LendWithdrawProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account } = useWeb3React()\r\n const poolName = POOL_NAME[poolNameStr]\r\n const poolType = POOL_TYPE[poolTypeStr]\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n const [lenderPosition, refreshLenderPosition] = useLenderPosition(\r\n poolName,\r\n poolType,\r\n account,\r\n )\r\n\r\n useEffect(() => {\r\n if (!step && lenderPosition) {\r\n dispatch(setStep(WIDGET_STEP.CheckWithdrawable))\r\n }\r\n }, [dispatch, lenderPosition, step])\r\n\r\n const handleWithdrawSuccess = useCallback(\r\n (blockNumber: number) => {\r\n refreshLenderPosition()\r\n if (handleSuccess) {\r\n handleSuccess(blockNumber)\r\n }\r\n },\r\n [handleSuccess, refreshLenderPosition],\r\n )\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen\r\n handleClose={handleClose}\r\n handleSuccess={handleWithdrawSuccess}\r\n >\r\n {(!step || step === WIDGET_STEP.CheckWithdrawable) && (\r\n <CheckWithdrawable poolInfo={poolInfo} handleClose={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount poolInfo={poolInfo} lenderPosition={lenderPosition!} />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && (\r\n <Success poolInfo={poolInfo} handleAction={handleClose} />\r\n )}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Withdraw'\r\n errorReason='Sorry there was an error'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { Box, css, TablePagination, useTheme } from '@mui/material'\r\nimport Table from '@mui/material/Table'\r\nimport TableBody from '@mui/material/TableBody'\r\nimport TableCell from '@mui/material/TableCell'\r\nimport TableContainer from '@mui/material/TableContainer'\r\nimport TableHead from '@mui/material/TableHead'\r\nimport TableRow from '@mui/material/TableRow'\r\nimport * as React from 'react'\r\n\r\nimport { ColumnType } from '../utilTypes'\r\nimport { SeparatorIcon } from './icons'\r\n\r\ntype Props<T> = {\r\n columns: ColumnType<T>[]\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n rows?: any[]\r\n hideRowsPerPage?: boolean\r\n}\r\n\r\nexport function HumaTable<T>({\r\n columns,\r\n rows,\r\n hideRowsPerPage = false,\r\n}: Props<T>): React.ReactElement | null {\r\n const theme = useTheme()\r\n const [page, setPage] = React.useState(0)\r\n const [rowsPerPage, setRowsPerPage] = React.useState(5)\r\n const noPagination = rows ? rows.length <= 5 : true\r\n const rowperPageOptions = hideRowsPerPage ? [] : [5, 10, 25]\r\n\r\n const styles = {\r\n tableHeader: css`\r\n font-family: 'Uni-Neue-Regular';\r\n ${theme.cssMixins.rowVCentered}\r\n font-size: 14px;\r\n color: rgba(0, 0, 0, 0.87);\r\n `,\r\n tableBody: css`\r\n font-family: 'Uni-Neue-Regular';\r\n font-size: 14px;\r\n color: rgba(0, 0, 0, 0.87);\r\n `,\r\n }\r\n\r\n const handleChangePage = (event: unknown, newPage: number) => {\r\n setPage(newPage)\r\n }\r\n\r\n const handleChangeRowsPerPage = (\r\n event: React.ChangeEvent<HTMLInputElement>,\r\n ) => {\r\n setRowsPerPage(parseInt(event.target.value, 10))\r\n setPage(0)\r\n }\r\n\r\n if (!columns) {\r\n return null\r\n }\r\n\r\n return (\r\n <>\r\n <TableContainer>\r\n <Table aria-label='simple table'>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((column) => (\r\n <TableCell key={column.title} width={column.width}>\r\n <Box css={styles.tableHeader}>\r\n {!column.noSeparator && <SeparatorIcon />}\r\n <Box\r\n component='span'\r\n sx={{ marginLeft: column.noSeparator ? '0' : '12px' }}\r\n >\r\n {column.title}\r\n </Box>\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {rows &&\r\n rows\r\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\r\n .map((row) => (\r\n <TableRow key={row.id || row.name}>\r\n {columns.map((column, index) => (\r\n <TableCell\r\n // eslint-disable-next-line react/no-array-index-key\r\n key={`${column.dataIndex}-${index}`}\r\n component='th'\r\n scope='row'\r\n css={styles.tableBody}\r\n width={column.width}\r\n sx={column.style}\r\n >\r\n {column.dataIndex && (\r\n <Box\r\n component='span'\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginLeft: column.noSeparator ? '0' : '12px',\r\n }}\r\n >\r\n {row[column.dataIndex]}\r\n </Box>\r\n )}\r\n {column.action && (\r\n <Box\r\n component='span'\r\n sx={{\r\n display: 'flex',\r\n alignItems: 'center',\r\n marginLeft: column.noSeparator ? '0' : '12px',\r\n lineHeight: 0,\r\n height: 0,\r\n }}\r\n >\r\n {column.action(row)}\r\n </Box>\r\n )}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableBody>\r\n </Table>\r\n </TableContainer>\r\n {!noPagination && (\r\n <TablePagination\r\n size='small'\r\n sx={{\r\n '.MuiTablePagination-selectLabel': {\r\n fontSize: '12px',\r\n },\r\n '.MuiTablePagination-select': {\r\n fontSize: '12px',\r\n },\r\n '.MuiTablePagination-displayedRows': {\r\n fontSize: '12px',\r\n },\r\n '.MuiTablePagination-menuItem': {\r\n fontSize: '14px',\r\n },\r\n }}\r\n rowsPerPageOptions={rowperPageOptions}\r\n component='div'\r\n count={rows ? rows.length : 0}\r\n rowsPerPage={rowsPerPage}\r\n page={page}\r\n onPageChange={handleChangePage}\r\n onRowsPerPageChange={handleChangeRowsPerPage}\r\n />\r\n )}\r\n </>\r\n )\r\n}\r\n","import { gql, useQuery } from '@apollo/client'\r\nimport {\r\n CreditEvent,\r\n CreditEventText,\r\n downScale,\r\n isEmpty,\r\n PoolInfoType,\r\n timeUtil,\r\n useMQ,\r\n} from '@huma-finance/shared'\r\nimport { Box, css } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { useEffect, useState } from 'react'\r\n\r\nimport { HumaTable } from './HumaTable'\r\n\r\nconst GET_ACTIVITY = gql`\r\n query GetCreditLineActivity($pool: String!, $owner: String!, $event: [Int]!) {\r\n creditEvents(\r\n where: { pool: $pool, owner: $owner, event_in: $event }\r\n orderBy: timestamp\r\n orderDirection: desc\r\n ) {\r\n id\r\n amount\r\n timestamp\r\n owner\r\n pool\r\n event\r\n }\r\n }\r\n`\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n targetEvents: CreditEvent[]\r\n}\r\n\r\ntype ActivityDataType = {\r\n id: string\r\n owner: string\r\n pool: string\r\n timestamp: string\r\n amount: string\r\n event: number\r\n eventText: string | undefined\r\n}\r\n\r\nconst columns = [\r\n { title: 'Action', dataIndex: 'eventText', noSeparator: true },\r\n {\r\n title: 'Amount',\r\n action: (record: { amount: string }) => {\r\n if (isEmpty(record.amount) || Number.isNaN(record.amount)) {\r\n return ''\r\n }\r\n return Number(record.amount).toFixed(2)\r\n },\r\n },\r\n { title: 'Date', dataIndex: 'timestamp' },\r\n]\r\n\r\nexport function Activity({\r\n poolInfo,\r\n targetEvents,\r\n}: Props): React.ReactElement | null {\r\n const { account } = useWeb3React()\r\n const { decimals } = poolInfo.poolUnderlyingToken\r\n const [events, setEvents] = useState<ActivityDataType[] | undefined>()\r\n const { data } = useQuery<{\r\n creditEvents: ActivityDataType[]\r\n }>(GET_ACTIVITY, {\r\n variables: {\r\n pool: poolInfo.pool,\r\n owner: account,\r\n event: targetEvents,\r\n },\r\n })\r\n const { isSmSize } = useMQ()\r\n\r\n const getPadding = () => {\r\n if (isSmSize) {\r\n return '16px 24px'\r\n }\r\n return '33px 48px'\r\n }\r\n\r\n useEffect(() => {\r\n if (!data?.creditEvents) {\r\n return\r\n }\r\n const result = data.creditEvents.map((item) => {\r\n const event = JSON.parse(JSON.stringify(item)) as ActivityDataType\r\n event.eventText = CreditEventText[item.event]\r\n event.amount = downScale(event.amount, decimals)\r\n event.timestamp = timeUtil.timestampToLL(Number(event.timestamp))\r\n return event\r\n })\r\n setEvents(result)\r\n }, [data?.creditEvents, decimals])\r\n\r\n const styles = {\r\n wrapper: css`\r\n margin-top: 71px;\r\n `,\r\n title: css`\r\n font-family: 'Uni-Neue-Black';\r\n font-size: 24px;\r\n color: #6b6572;\r\n margin-bottom: 14px;\r\n `,\r\n tableWrapper: css`\r\n background: #ffffff;\r\n box-shadow: 0px 4px 40px 8px rgba(0, 0, 0, 0.04);\r\n border-radius: 24px;\r\n padding: ${getPadding()};\r\n `,\r\n }\r\n\r\n if (!events) {\r\n return null\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Box css={styles.title}>Recent Activity</Box>\r\n <Box css={styles.tableWrapper}>\r\n <HumaTable columns={columns} rows={events} hideRowsPerPage={isSmSize} />\r\n </Box>\r\n </Box>\r\n )\r\n}\r\n","import { ApolloClient, ApolloProvider, InMemoryCache } from '@apollo/client'\r\n\r\nimport { WCProps } from '../utilTypes'\r\n\r\nexport function ApolloWrapper({\r\n uri,\r\n children,\r\n}: WCProps<{ uri: string }>): React.ReactElement | null {\r\n const client = new ApolloClient({\r\n uri,\r\n cache: new InMemoryCache(),\r\n })\r\n\r\n return <ApolloProvider client={client}>{children}</ApolloProvider>\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\n\r\nimport useEA from '../../../hooks/useEA'\r\nimport { LoadingModal } from '../../LoadingModal'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n payerAddress: string\r\n superToken: string\r\n}\r\n\r\nexport function Evaluation({\r\n poolInfo,\r\n payerAddress,\r\n superToken,\r\n}: Props): React.ReactElement {\r\n const { account } = useWeb3React()\r\n const { checkingEA } = useEA()\r\n\r\n useEffect(() => {\r\n if (account) {\r\n checkingEA(\r\n {\r\n poolAddress: poolInfo.pool,\r\n borrowerWalletAddress: account,\r\n context: {\r\n receivable: {\r\n address: poolInfo.assetAddress!,\r\n },\r\n payerWalletAddress: payerAddress,\r\n superToken,\r\n },\r\n },\r\n WIDGET_STEP.ChooseAmount,\r\n )\r\n }\r\n }, [\r\n account,\r\n checkingEA,\r\n payerAddress,\r\n poolInfo.assetAddress,\r\n poolInfo.pool,\r\n superToken,\r\n ])\r\n\r\n return (\r\n <LoadingModal\r\n title='Checking Stream'\r\n description='Checking if the stream qualifies for factoring...'\r\n />\r\n )\r\n}\r\n","import {\r\n downScale,\r\n PoolInfoType,\r\n toBigNumber,\r\n upScale,\r\n useFeeManager,\r\n} from '@huma-finance/shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setBorrowInfo, setStream } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ChooseAmountModal } from '../../ChooseAmountModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n currentFlowRate: string\r\n}\r\n\r\nexport function ChooseAmount({\r\n poolInfo,\r\n currentFlowRate,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { approval } = useAppSelector(selectWidgetState)\r\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\r\n const [chargedFees, setChargedFees] = useState(0)\r\n const [currentAmount, setCurrentAmount] = useState(0)\r\n const borrowPeriodInSeconds = approval!.terms.intervalInDays * 24 * 60 * 60\r\n\r\n const getBorrowFlowrateAndAmount = useCallback(\r\n (borrowAmount: number) => {\r\n const currentFlowRateBN = toBigNumber(currentFlowRate)\r\n const borrowAmountBN = toBigNumber(\r\n upScale(borrowAmount, approval!.token.decimal),\r\n )\r\n\r\n const totalAmountInBorrowPeriod = currentFlowRateBN.mul(\r\n borrowPeriodInSeconds,\r\n )\r\n let borrowFlowrate = borrowAmountBN\r\n .mul(currentFlowRateBN)\r\n .div(totalAmountInBorrowPeriod)\r\n // To ensure enough flowRate due to round down when convert to string\r\n .add(1)\r\n\r\n // Can not borrow all the available flowrate\r\n if (borrowFlowrate.gte(currentFlowRateBN)) {\r\n borrowFlowrate = currentFlowRateBN.sub(1)\r\n }\r\n if (borrowAmountBN.gte(approval!.terms.creditLimit)) {\r\n borrowFlowrate = borrowFlowrate.sub(1)\r\n }\r\n\r\n // As borrowFlowrate adds 1, need to calculate the new accurate borrow amount\r\n const newBorrowAmountBN = borrowFlowrate\r\n .mul(totalAmountInBorrowPeriod)\r\n .div(currentFlowRateBN)\r\n const newBorrowAmount = downScale(\r\n newBorrowAmountBN,\r\n approval!.token.decimal,\r\n )\r\n\r\n return {\r\n borrowFlowrate: borrowFlowrate.toString(),\r\n borrowAmount: Number(newBorrowAmount),\r\n borrowAmountBN: newBorrowAmountBN.toString(),\r\n }\r\n },\r\n [approval, borrowPeriodInSeconds, currentFlowRate],\r\n )\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n if (approval) {\r\n setCurrentAmount(newAmount)\r\n setChargedFees(getFeesCharged(newAmount))\r\n }\r\n },\r\n [approval, getFeesCharged],\r\n )\r\n const handleAction = useCallback(() => {\r\n const { borrowFlowrate, borrowAmount, borrowAmountBN } =\r\n getBorrowFlowrateAndAmount(currentAmount)\r\n\r\n dispatch(\r\n setStream({\r\n borrowFlowrate,\r\n durationInSeconds: borrowPeriodInSeconds,\r\n }),\r\n )\r\n dispatch(\r\n setBorrowInfo({\r\n borrowAmount,\r\n borrowAmountBN,\r\n chargedFees,\r\n nextStep: WIDGET_STEP.ConfirmTransfer,\r\n }),\r\n )\r\n }, [\r\n borrowPeriodInSeconds,\r\n chargedFees,\r\n currentAmount,\r\n dispatch,\r\n getBorrowFlowrateAndAmount,\r\n ])\r\n\r\n if (!approval) {\r\n return null\r\n }\r\n\r\n return (\r\n <ChooseAmountModal\r\n title='Choose Amount'\r\n description1='Access up to 100% of your stream flowrate'\r\n sliderMax={Number(approval.terms.creditLimitFormatted)}\r\n currentAmount={currentAmount}\r\n tokenSymbol={approval.token.symbol}\r\n topLeft='Fees'\r\n topRight={`${chargedFees} ${approval.token.symbol}`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='Confirm Transfer'\r\n />\r\n )\r\n}\r\n","import { CHAINS, isEmpty } from '@huma-finance/shared'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ConfirmTransferModal } from '../../ConfirmTransferModal'\r\n\r\nexport function ConfirmTransfer(): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const { chainId } = useWeb3React()\r\n const { borrowAmount, approval } = useAppSelector(selectWidgetState)\r\n\r\n const handleAction = useCallback(() => {\r\n const step = CHAINS[chainId!].isTestnet\r\n ? WIDGET_STEP.ApproveAllowance\r\n : WIDGET_STEP.Permit\r\n dispatch(setStep(step))\r\n }, [chainId, dispatch])\r\n\r\n if (isEmpty(borrowAmount) || isEmpty(approval)) {\r\n return null\r\n }\r\n\r\n return (\r\n <ConfirmTransferModal\r\n title='Confirm transaction details'\r\n description={`Huma keeps your Tradable Stream NFT as collateral until it's fully paid.`}\r\n items={[\r\n { leftText: 'Tradable Stream', rightText: 'Huma' },\r\n {\r\n leftText: `${borrowAmount!.toFixed(2)} ${approval?.token.symbol}`,\r\n rightText: 'You',\r\n },\r\n ]}\r\n actionText='APPROVE TRANSFER'\r\n handleAction={handleAction}\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ApproveAllowanceModal } from '../../ApproveAllowanceModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function ApproveAllowance({\r\n poolInfo,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { borrowAmountBN } = useAppSelector(selectWidgetState)\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Permit))\r\n }, [dispatch])\r\n\r\n return (\r\n <ApproveAllowanceModal\r\n poolInfo={poolInfo}\r\n allowanceAmount={borrowAmountBN!}\r\n handleSuccess={handleSuccess}\r\n spender={poolInfo.poolProcessor!}\r\n />\r\n )\r\n}\r\n","import {\r\n CHAINS,\r\n Erc2612,\r\n PoolInfoType,\r\n SuperfluidPoolProcessor,\r\n useERC2612Permit,\r\n useMount,\r\n} from '@huma-finance/shared'\r\nimport ERC2612Abi from '@huma-finance/shared/dist/abis/erc2612.json'\r\nimport PoolProcessorAbi from '@huma-finance/shared/dist/abis/SuperfluidPoolProcessor.json'\r\nimport { Contract, ethers } from 'ethers'\r\nimport React from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport {\r\n setError,\r\n setMultisend,\r\n setStep,\r\n} from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { LoadingModal } from '../../LoadingModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n payerAddress: string\r\n chainId: number\r\n borrower: string\r\n superToken: string\r\n}\r\n\r\nexport function Permit({\r\n poolInfo,\r\n payerAddress,\r\n chainId,\r\n borrower,\r\n superToken,\r\n}: Props): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { address: tokenAddress } = poolInfo.poolUnderlyingToken\r\n const { borrowAmountBN, stream } = useAppSelector(selectWidgetState)\r\n const { getERC2612PermitMessage, getTradableStreamPermitMessage } =\r\n useERC2612Permit()\r\n\r\n const getApproveAllowanceCallData = async () => {\r\n const erc2612PermitResult = await getERC2612PermitMessage(\r\n tokenAddress,\r\n poolInfo.poolProcessor!,\r\n borrowAmountBN!,\r\n )\r\n const tokenContract = new Contract(tokenAddress, ERC2612Abi) as Erc2612\r\n return tokenContract.interface.encodeFunctionData('permit', [\r\n poolInfo.poolProcessor!,\r\n borrowAmountBN!,\r\n erc2612PermitResult.nonce,\r\n erc2612PermitResult.deadline,\r\n erc2612PermitResult.v,\r\n erc2612PermitResult.r,\r\n erc2612PermitResult.s,\r\n ])\r\n }\r\n\r\n const getDrawdownCallData = async () => {\r\n const NFTPermitResult = await getTradableStreamPermitMessage(\r\n poolInfo.assetAddress!,\r\n borrower,\r\n superToken,\r\n payerAddress,\r\n poolInfo.poolProcessor!,\r\n stream!.borrowFlowrate!,\r\n stream!.durationInSeconds!,\r\n )\r\n\r\n const drawdownEncodedData = ethers.utils.defaultAbiCoder.encode(\r\n [\r\n 'address',\r\n 'address',\r\n 'address',\r\n 'int96',\r\n 'uint256',\r\n 'uint256',\r\n 'uint8',\r\n 'bytes32',\r\n 'bytes32',\r\n ],\r\n [\r\n borrower,\r\n superToken,\r\n payerAddress,\r\n stream?.borrowFlowrate,\r\n stream?.durationInSeconds,\r\n NFTPermitResult.expiry,\r\n NFTPermitResult.v,\r\n NFTPermitResult.r,\r\n NFTPermitResult.s,\r\n ],\r\n )\r\n const poolProcessorContract = new Contract(\r\n poolInfo.poolProcessor!,\r\n PoolProcessorAbi,\r\n ) as SuperfluidPoolProcessor\r\n\r\n return poolProcessorContract.interface.encodeFunctionData(\r\n 'mintAndDrawdown',\r\n [borrower, borrowAmountBN!, poolInfo.assetAddress!, drawdownEncodedData],\r\n )\r\n }\r\n\r\n useMount(async () => {\r\n try {\r\n const callData = []\r\n const addresses: string[] = []\r\n\r\n // The token in Goerli hasn't integrated ERC-2612\r\n if (!CHAINS[chainId].isTestnet) {\r\n const approveAllowanceCallData = await getApproveAllowanceCallData()\r\n addresses.push(tokenAddress)\r\n callData.push(approveAllowanceCallData)\r\n }\r\n\r\n const drawdownCalldata = await getDrawdownCallData()\r\n addresses.push(poolInfo.poolProcessor!)\r\n callData.push(drawdownCalldata)\r\n\r\n dispatch(setMultisend({ addresses, callData }))\r\n dispatch(setStep(WIDGET_STEP.Transfer))\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n let errorMessage = e.reason || `Sign permit failed`\r\n if (e.code === 4001 || e.code === 'ACTION_REJECTED') {\r\n errorMessage = 'User has rejected the permit sign'\r\n }\r\n dispatch(setError({ errorMessage, errorReason: errorMessage }))\r\n }\r\n })\r\n\r\n return (\r\n <LoadingModal\r\n title='Sign Token and NFT'\r\n description='Waiting for signing...'\r\n />\r\n )\r\n}\r\n","import { PoolInfoType, useMultiSendContract } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { TxSendModal } from '../../TxSendModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function Transfer({ poolInfo }: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n const multiSendContract = useMultiSendContract()\r\n const { multisend } = useAppSelector(selectWidgetState)\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Done))\r\n }, [dispatch])\r\n\r\n if (!multisend || !multiSendContract) {\r\n return null\r\n }\r\n\r\n return (\r\n <TxSendModal\r\n poolInfo={poolInfo}\r\n contract={multiSendContract}\r\n title='Transfer Tradable Stream and Money'\r\n method='multisend'\r\n params={[multisend.addresses, multisend.callData]}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import React from 'react'\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { TxDoneModal } from '../../TxDoneModal'\r\n\r\ntype Props = {\r\n handleAction: () => void\r\n}\r\n\r\nexport function Success({ handleAction }: Props): React.ReactElement {\r\n const { borrowAmount, approval } = useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmount?.toFixed(2)} ${\r\n approval?.token.symbol\r\n } is now in your wallet.`,\r\n ]\r\n\r\n return <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport { POOL_NAME, POOL_TYPE, usePoolInfo } from '@huma-finance/shared'\r\nimport React, { useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { useAppSelector } from '../../../hooks/useRedux'\r\nimport { setStep } from '../../../store/widgets.reducers'\r\nimport { selectWidgetState } from '../../../store/widgets.selectors'\r\nimport { WIDGET_STEP } from '../../../store/widgets.store'\r\nimport { ErrorModal } from '../../ErrorModal'\r\nimport { WidgetWrapper } from '../../WidgetWrapper'\r\nimport { Evaluation } from './1-Evaluation'\r\nimport { ChooseAmount } from './2-ChooseAmount'\r\nimport { ConfirmTransfer } from './3-ConfirmTransfer'\r\nimport { ApproveAllowance } from './4-ApproveAllowance'\r\nimport { Permit } from './5-Permit'\r\nimport { Transfer } from './6-Transfer'\r\nimport { Success } from './7-Success'\r\n\r\nexport type StreamFactoringBorrowProps = {\r\n poolName: POOL_NAME\r\n poolType: POOL_TYPE\r\n payerAddress: string\r\n superToken: string\r\n currentFlowRate: string\r\n isOpen: boolean\r\n handleClose: () => void\r\n handleSuccess: (blockNumber: number) => void\r\n}\r\n\r\nexport function StreamFactoringBorrow({\r\n poolName,\r\n poolType,\r\n payerAddress,\r\n superToken,\r\n currentFlowRate,\r\n isOpen,\r\n handleClose,\r\n handleSuccess,\r\n}: StreamFactoringBorrowProps): React.ReactElement | null {\r\n const dispatch = useDispatch()\r\n const { account, chainId } = useWeb3React()\r\n const poolInfo = usePoolInfo(poolName, poolType)\r\n const { step, errorMessage } = useAppSelector(selectWidgetState)\r\n\r\n useEffect(() => {\r\n dispatch(setStep(WIDGET_STEP.Evaluation))\r\n }, [dispatch])\r\n\r\n if (!poolInfo) {\r\n return null\r\n }\r\n\r\n return (\r\n <WidgetWrapper\r\n isOpen={isOpen}\r\n handleClose={handleClose}\r\n handleSuccess={handleSuccess}\r\n >\r\n {step === WIDGET_STEP.Evaluation && (\r\n <Evaluation\r\n poolInfo={poolInfo}\r\n payerAddress={payerAddress}\r\n superToken={superToken}\r\n />\r\n )}\r\n {step === WIDGET_STEP.ChooseAmount && (\r\n <ChooseAmount poolInfo={poolInfo} currentFlowRate={currentFlowRate} />\r\n )}\r\n {step === WIDGET_STEP.ConfirmTransfer && <ConfirmTransfer />}\r\n {step === WIDGET_STEP.ApproveAllowance && (\r\n <ApproveAllowance poolInfo={poolInfo} />\r\n )}\r\n {step === WIDGET_STEP.Permit && account && chainId && (\r\n <Permit\r\n poolInfo={poolInfo}\r\n payerAddress={payerAddress}\r\n chainId={chainId}\r\n borrower={account}\r\n superToken={superToken}\r\n />\r\n )}\r\n {step === WIDGET_STEP.Transfer && <Transfer poolInfo={poolInfo} />}\r\n {step === WIDGET_STEP.Done && <Success handleAction={handleClose} />}\r\n {step === WIDGET_STEP.Error && (\r\n <ErrorModal\r\n title='Stream Borrowing'\r\n errorMessage={errorMessage}\r\n handleOk={handleClose}\r\n />\r\n )}\r\n </WidgetWrapper>\r\n )\r\n}\r\n","import { Box, css, LinearProgress, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { useMQ } from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { ColumnType, WCProps } from '../../utilTypes'\r\nimport { HumaTable } from '../HumaTable'\r\n\r\ntype Props<T> = {\r\n items: T[] | undefined\r\n loading: boolean\r\n columns: ColumnType<T>[]\r\n title: string\r\n connectWalletDesc: string\r\n noItemDesc: string\r\n}\r\n\r\nexport function UpcomingList<T>({\r\n items,\r\n loading,\r\n columns,\r\n title,\r\n connectWalletDesc,\r\n noItemDesc,\r\n children,\r\n}: WCProps<Props<T>>): React.ReactElement {\r\n const theme = useTheme()\r\n const { isActive } = useWeb3React()\r\n const { isMdSize, isSmSize } = useMQ()\r\n\r\n const getPadding = () => {\r\n if (isMdSize) {\r\n return '0 8px 8px 8px'\r\n }\r\n return '0 16px 16px 16px'\r\n }\r\n\r\n const styles = {\r\n title: css`\r\n font-family: 'Uni-Neue-Black';\r\n color: ${theme.palette.text.primary};\r\n font-size: 24px;\r\n margin-bottom: 16px;\r\n `,\r\n description: css`\r\n font-family: 'Uni-Neue-Regular';\r\n color: ${theme.palette.text.primary};\r\n font-size: 1rem;\r\n `,\r\n tableWrapper: css`\r\n margin-top: 24px;\r\n padding: ${getPadding()};\r\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\r\n border: 1px solid #ffffff;\r\n border-radius: 24px;\r\n position: relative;\r\n `,\r\n progress: css`\r\n width: calc(100% - 30px);\r\n position: absolute;\r\n top: 0;\r\n left: 15px;\r\n `,\r\n }\r\n\r\n return (\r\n <Box>\r\n <Box css={styles.title}>{title}</Box>\r\n <Box css={styles.description} marginBottom='47px'>\r\n {!isActive && <Box component='span'>{connectWalletDesc}</Box>}\r\n {isActive && !items?.length && <Box>{noItemDesc}</Box>}\r\n {isActive && !!items?.length && (\r\n <Box css={styles.tableWrapper}>\r\n {loading && (\r\n <Box css={styles.progress}>\r\n <LinearProgress />\r\n </Box>\r\n )}\r\n <HumaTable\r\n columns={columns}\r\n rows={items}\r\n hideRowsPerPage={isSmSize}\r\n />\r\n </Box>\r\n )}\r\n {children}\r\n </Box>\r\n </Box>\r\n )\r\n}\r\n","import { Box, css, LinearProgress, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport {\r\n AccountStats,\r\n downScale,\r\n formatMoney,\r\n hasRFActiveLoan,\r\n PoolInfoType,\r\n timestampToLL,\r\n useMQ,\r\n usePoolUnderlyingToken,\r\n} from '@huma-finance/shared'\r\nimport React, { useEffect, useState } from 'react'\r\n\r\nimport { ColumnType } from '../../utilTypes'\r\nimport { HumaTable } from '../HumaTable'\r\nimport { ReceiptIcon } from '../icons'\r\n\r\ntype Props<T> = {\r\n title: 'Streams' | 'Invoices'\r\n poolInfo: PoolInfoType\r\n loading: boolean\r\n accountStats: AccountStats\r\n handlePayManually: (item: T) => void\r\n getColumns: (handlePayManually: (item: T) => void) => ColumnType<T>[]\r\n setItem?: (\r\n accountStats: AccountStats,\r\n ) => Promise<{ name?: string; payer?: string }>\r\n}\r\n\r\nexport function FactoredList<T>({\r\n title,\r\n poolInfo,\r\n loading,\r\n accountStats,\r\n handlePayManually,\r\n getColumns,\r\n setItem,\r\n}: Props<T>): React.ReactElement {\r\n const theme = useTheme()\r\n const { isMdSize } = useMQ()\r\n const { isActive } = useWeb3React()\r\n const { decimals } = usePoolUnderlyingToken(\r\n poolInfo.poolName,\r\n poolInfo.poolType,\r\n )\r\n const [factoredItem, setFactoredItem] = useState<Partial<T>>()\r\n const { creditRecord, receivableInfo } = accountStats\r\n const hasActiveLoan = hasRFActiveLoan(creditRecord, receivableInfo)\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (creditRecord && receivableInfo?.receivableParam.gt(0) && decimals) {\r\n const id = receivableInfo.receivableParam.toString()\r\n const dueDate = timestampToLL(creditRecord.dueDate.toNumber())\r\n const { receivableAmount } = receivableInfo\r\n const { totalDue } = creditRecord\r\n let factoredItem = {\r\n id,\r\n due: dueDate,\r\n icon: <ReceiptIcon css={{ width: '24px' }} />,\r\n amount: formatMoney(downScale(receivableAmount.toString(), decimals)),\r\n factored: formatMoney(downScale(totalDue.toString(), decimals)),\r\n remained: formatMoney(\r\n downScale(receivableAmount.sub(totalDue).toString(), decimals),\r\n ),\r\n } as T\r\n if (setItem) {\r\n const customProps = await setItem(accountStats)\r\n factoredItem = { ...factoredItem, ...customProps }\r\n }\r\n setFactoredItem(factoredItem)\r\n }\r\n }\r\n fetchData()\r\n }, [accountStats, creditRecord, decimals, receivableInfo, setItem])\r\n\r\n const getPadding = () => {\r\n if (isMdSize) {\r\n return '0 8px 8px 8px'\r\n }\r\n return '0 16px 16px 16px'\r\n }\r\n\r\n const styles = {\r\n title: css`\r\n font-family: 'Uni-Neue-Black';\r\n color: ${theme.palette.text.primary};\r\n font-size: 24px;\r\n margin-bottom: 16px;\r\n `,\r\n description: css`\r\n font-family: 'Uni-Neue-Regular';\r\n color: ${theme.palette.text.primary};\r\n font-size: 1rem;\r\n `,\r\n tableWrapper: css`\r\n margin-top: 24px;\r\n padding: ${getPadding()};\r\n background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);\r\n border: 1px solid #ffffff;\r\n border-radius: 24px;\r\n position: relative;\r\n `,\r\n progress: css`\r\n width: calc(100% - 30px);\r\n position: absolute;\r\n top: 0;\r\n left: 15px;\r\n `,\r\n }\r\n\r\n return (\r\n <Box>\r\n <Box css={styles.title}>Factored {title}</Box>\r\n <Box css={styles.description} marginBottom='47px'>\r\n {!isActive && (\r\n <Box component='span'>\r\n Please connect wallet to check your factored {title.toLowerCase()}.\r\n </Box>\r\n )}\r\n {isActive && !hasActiveLoan && (\r\n <Box component='span'>\r\n You don’t have any factored {title.toLowerCase()}.\r\n </Box>\r\n )}\r\n {isActive && hasActiveLoan && factoredItem && (\r\n <Box css={styles.tableWrapper}>\r\n {loading && (\r\n <Box css={styles.progress}>\r\n <LinearProgress />\r\n </Box>\r\n )}\r\n <HumaTable\r\n columns={getColumns(handlePayManually)}\r\n rows={[factoredItem]}\r\n />\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n )\r\n}\r\n","import { EmotionJSX } from '@emotion/react/types/jsx-namespace'\r\nimport { AccountStats, PoolInfoType } from '@huma-finance/shared'\r\nimport React, { useCallback } from 'react'\r\n\r\nimport { ColumnType } from '../../utilTypes'\r\nimport { FactoredList } from '../Factoring'\r\n\r\ntype FactoredStreamType = {\r\n id: string\r\n icon: EmotionJSX.Element\r\n name: string\r\n payer: string\r\n amount?: string | number\r\n factored?: string | number\r\n token: string\r\n tokenId: string\r\n flowrate: string\r\n flowrateMonth: string\r\n due?: string\r\n remained?: string | number\r\n}\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n loading: boolean\r\n accountStats: AccountStats\r\n handlePayManually: (item: FactoredStreamType) => void\r\n}\r\n\r\nconst getColumns = (): ColumnType<FactoredStreamType>[] => [\r\n {\r\n title: '',\r\n dataIndex: 'icon',\r\n noSeparator: true,\r\n width: 10,\r\n style: { padding: '0 0 0 16px' },\r\n },\r\n { title: 'Streams', dataIndex: 'name' },\r\n { title: 'Due', dataIndex: 'due' },\r\n { title: 'Amount', dataIndex: 'amount' },\r\n { title: 'Factored', dataIndex: 'factored' },\r\n { title: 'Remaining', dataIndex: 'remained' },\r\n]\r\n\r\nexport function SuperfluidFactoredList({\r\n poolInfo,\r\n loading,\r\n accountStats,\r\n handlePayManually,\r\n}: Props): React.ReactElement {\r\n const setItem = useCallback(\r\n () =>\r\n Promise.resolve({\r\n name: poolInfo?.extra?.superTokens?.[0].symbol ?? '',\r\n }),\r\n [poolInfo?.extra?.superTokens],\r\n )\r\n\r\n return (\r\n <FactoredList\r\n title='Streams'\r\n poolInfo={poolInfo}\r\n loading={loading}\r\n handlePayManually={handlePayManually}\r\n getColumns={getColumns}\r\n accountStats={accountStats}\r\n setItem={setItem}\r\n />\r\n )\r\n}\r\n","import { Box, Button, css } from '@mui/material'\r\n\r\ntype Props = {\r\n title: string\r\n className?: string\r\n handleClick: () => void\r\n disabled?: boolean\r\n}\r\n\r\nexport function TableActionButton({\r\n title,\r\n className,\r\n handleClick,\r\n disabled = false,\r\n}: Props): React.ReactElement {\r\n const styles = css`\r\n border: none;\r\n padding: 0;\r\n background: ${disabled ? 'unset !important' : 'inherit'};\r\n &:hover {\r\n border: none;\r\n }\r\n `\r\n\r\n return (\r\n <Button\r\n className={className}\r\n variant={disabled ? undefined : 'outlined'}\r\n onClick={handleClick}\r\n css={styles}\r\n disabled={disabled}\r\n >\r\n <Box>{title}</Box>\r\n </Button>\r\n )\r\n}\r\n","import { gql, useQuery } from '@apollo/client'\r\nimport { EmotionJSX } from '@emotion/react/types/jsx-namespace'\r\nimport {\r\n downScale,\r\n getWalletAddressAbbr,\r\n PoolInfoType,\r\n toBigNumber,\r\n} from '@huma-finance/shared'\r\nimport { Button } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\n\r\nimport { ColumnType } from '../../utilTypes'\r\nimport { TableActionButton } from '../buttons'\r\nimport { UpcomingList } from '../Factoring'\r\nimport { ReceiptIcon } from '../icons'\r\n\r\nconst GET_RECEIVED_STREAMS = gql`\r\n query GetReceivedStreams($receiver: String!, $tokenIds: [String]!) {\r\n streams(\r\n where: { receiver: $receiver, token_in: $tokenIds, currentFlowRate_gt: 0 }\r\n orderBy: updatedAtTimestamp\r\n orderDirection: desc\r\n ) {\r\n id\r\n currentFlowRate\r\n sender {\r\n id\r\n }\r\n token {\r\n id\r\n symbol\r\n decimals\r\n }\r\n }\r\n }\r\n`\r\n\r\nexport type StreamItem = {\r\n id: string\r\n icon: EmotionJSX.Element\r\n token: string\r\n tokenId: string\r\n payer: string\r\n flowrate: string\r\n flowrateMonth: string\r\n}\r\n\r\ntype Stream = {\r\n id: string\r\n currentFlowRate: string\r\n sender: {\r\n id: string\r\n }\r\n token: {\r\n id: string\r\n symbol: string\r\n decimals: number\r\n }\r\n}\r\n\r\ntype Props = {\r\n hasActiveLoan: boolean\r\n poolInfo?: PoolInfoType\r\n loading: boolean\r\n handleGetPaid: (item: StreamItem) => void\r\n}\r\n\r\nconst getUpcomingColumns = (\r\n userHasActiveLoan: boolean,\r\n handleGetPaid: (id: StreamItem) => void,\r\n): ColumnType<StreamItem>[] => [\r\n {\r\n title: '',\r\n dataIndex: 'icon',\r\n noSeparator: true,\r\n width: 10,\r\n style: { padding: '0 0 0 16px' },\r\n },\r\n { title: 'Stream', dataIndex: 'token' },\r\n {\r\n title: 'Payer',\r\n dataIndex: 'payerAbbr',\r\n },\r\n { title: 'Flow rate', dataIndex: 'flowrateMonth' },\r\n {\r\n title: 'Get Paid',\r\n action: (record) => (\r\n <TableActionButton\r\n title='GET PAID NOW'\r\n handleClick={() => handleGetPaid(record)}\r\n disabled={userHasActiveLoan}\r\n />\r\n ),\r\n },\r\n]\r\n\r\nexport function SuperfluidUpcomingList({\r\n hasActiveLoan,\r\n poolInfo,\r\n loading,\r\n handleGetPaid,\r\n}: Props): React.ReactElement {\r\n const { account, isActive } = useWeb3React()\r\n const [streams, setStreams] = useState<StreamItem[] | undefined>()\r\n const { data } = useQuery<{ streams: Stream[] }>(GET_RECEIVED_STREAMS, {\r\n variables: {\r\n receiver: account ? account.toLowerCase() : undefined,\r\n tokenIds: poolInfo?.extra?.superTokens?.map((item) => item.id) ?? [],\r\n },\r\n })\r\n\r\n useEffect(() => {\r\n if (data?.streams?.length) {\r\n let result: Array<StreamItem | undefined> = data.streams.map((item) => {\r\n const ONE_MONTH_SECONDS = 30 * 24 * 60 * 60\r\n const flowrateMonth = downScale(\r\n toBigNumber(item.currentFlowRate).mul(ONE_MONTH_SECONDS),\r\n item.token.decimals,\r\n )\r\n if (Number(Number(flowrateMonth).toFixed(0)) > 0) {\r\n return {\r\n id: item.id,\r\n icon: <ReceiptIcon css={{ width: '24px' }} />,\r\n token: item.token.symbol,\r\n tokenId: item.token.id,\r\n payer: item.sender.id,\r\n payerAbbr: getWalletAddressAbbr(item.sender.id),\r\n flowrate: item.currentFlowRate,\r\n flowrateMonth: `${Number(flowrateMonth).toFixed(0)}/mo`,\r\n }\r\n }\r\n return undefined\r\n })\r\n result = result.filter((item) => !!item)\r\n setStreams(result as StreamItem[])\r\n }\r\n }, [data])\r\n\r\n const goToCreateStream = useCallback(() => {}, [])\r\n\r\n return (\r\n <UpcomingList<StreamItem>\r\n items={streams}\r\n loading={loading}\r\n columns={getUpcomingColumns(hasActiveLoan, handleGetPaid)}\r\n title='Ongoing Streams'\r\n connectWalletDesc='Please connect wallet to check your ongoing streams.'\r\n noItemDesc='You don’t have any ongoing streams eligible for factoring. For now, you can click the button\r\n below to create streams.'\r\n >\r\n {isActive && (\r\n <Button\r\n onClick={goToCreateStream}\r\n type='link'\r\n size='small'\r\n variant='contained'\r\n sx={{ marginTop: '20px' }}\r\n href='https://app.superfluid.finance/'\r\n target='_blank'\r\n >\r\n CREATE STREAM\r\n </Button>\r\n )}\r\n </UpcomingList>\r\n )\r\n}\r\n","import { Box } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport {\r\n CreditEvent,\r\n POOL_NAME,\r\n POOL_TYPE,\r\n PoolMap,\r\n PoolSubgraphMap,\r\n useFactoring,\r\n} from '@huma-finance/shared'\r\nimport React from 'react'\r\n\r\nimport { Activity } from '../Activity'\r\nimport { ApolloWrapper } from '../ApolloWrapper'\r\nimport { StreamFactoringBorrow } from '../StreamFactoring/borrow'\r\nimport { SuperfluidFactoredList } from './SuperfluidFactoredList'\r\nimport { StreamItem, SuperfluidUpcomingList } from './SuperfluidUpcomingList'\r\n\r\nexport function SuperfluidFactoring(): React.ReactElement {\r\n const poolName = POOL_NAME.Superfluid\r\n const { chainId } = useWeb3React()\r\n const {\r\n accountStats,\r\n accountHasActiveLoan,\r\n actionType,\r\n loading,\r\n poolInfo,\r\n modalIsOpen,\r\n selectedItem,\r\n styles,\r\n handleGetPaid,\r\n handleGetPaidSuccess,\r\n handlePayManually,\r\n handleClose,\r\n } = useFactoring<StreamItem>(poolName, POOL_TYPE.Stream)\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Box css={styles.title}>Stream Factoring</Box>\r\n <Box css={styles.description} marginBottom='47px'>\r\n {PoolMap.Stream[poolName]?.borrowDesc}\r\n </Box>\r\n {poolInfo && (\r\n <SuperfluidFactoredList\r\n poolInfo={poolInfo}\r\n handlePayManually={handlePayManually}\r\n loading={loading && actionType === 'payment'}\r\n accountStats={accountStats}\r\n />\r\n )}\r\n <ApolloWrapper uri={poolInfo?.extra?.subgraph!}>\r\n <SuperfluidUpcomingList\r\n poolInfo={poolInfo}\r\n handleGetPaid={handleGetPaid}\r\n hasActiveLoan={accountHasActiveLoan}\r\n loading={loading && actionType === 'borrow'}\r\n />\r\n </ApolloWrapper>\r\n <ApolloWrapper uri={PoolSubgraphMap[chainId!]?.subgraph}>\r\n {poolInfo && (\r\n <Activity\r\n poolInfo={poolInfo}\r\n targetEvents={[\r\n CreditEvent.DrawdownMadeWithReceivable,\r\n CreditEvent.PaymentMade,\r\n CreditEvent.ReceivedPaymentProcessed,\r\n ]}\r\n />\r\n )}\r\n </ApolloWrapper>\r\n {poolInfo && selectedItem && actionType === 'borrow' && (\r\n <StreamFactoringBorrow\r\n poolName={POOL_NAME.Superfluid}\r\n poolType={POOL_TYPE.Stream}\r\n payerAddress={selectedItem.payer}\r\n superToken={selectedItem.tokenId}\r\n currentFlowRate={selectedItem.flowrate}\r\n isOpen={modalIsOpen}\r\n handleClose={handleClose}\r\n handleSuccess={handleGetPaidSuccess}\r\n />\r\n )}\r\n </Box>\r\n )\r\n}\r\n","import {\r\n Action,\r\n ActionCreator,\r\n AnyAction,\r\n configureStore,\r\n ThunkAction,\r\n} from '@reduxjs/toolkit'\r\n\r\nimport widgetsReducers from './widgets.reducers'\r\n\r\nexport const store = configureStore({\r\n reducer: {\r\n widget: widgetsReducers,\r\n },\r\n})\r\n\r\nexport type AppDispatch = typeof store.dispatch\r\nexport type RootState = ReturnType<typeof store.getState>\r\nexport type AppThunk<ReturnType = void> = ThunkAction<\r\n ReturnType,\r\n RootState,\r\n unknown,\r\n Action<string>\r\n>\r\nexport type AppActionThunk<ReturnType = void> = ActionCreator<\r\n ThunkAction<ReturnType, RootState, unknown, AnyAction>\r\n>\r\n","import { Breakpoints } from '@mui/system'\r\n\r\nexport const breakpoints: Partial<\r\n {\r\n step: number\r\n unit: string\r\n } & Breakpoints\r\n> = {\r\n values: { xs: 460, sm: 600, md: 960, lg: 1280, xl: 1920 },\r\n}\r\n","/**\r\n * This file can be used to override default props and styles on the various Material components\r\n * see: https://mui.com/customization/theme-components/\r\n */\r\nimport { Theme, ThemeOptions } from '@mui/material'\r\n\r\nexport function components(theme: Theme): ThemeOptions['components'] {\r\n return {\r\n MuiButton: {\r\n defaultProps: {\r\n disableElevation: true,\r\n },\r\n styleOverrides: {\r\n contained: {\r\n // align outlined vs contained borders\r\n border: '1px solid transparent',\r\n background:\r\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',\r\n },\r\n outlined: {\r\n '.MuiBox-root': {\r\n background:\r\n 'linear-gradient(232.71deg, #A363F4 4.17%, #FF6A8A 178.69%)',\r\n backgroundClip: 'text',\r\n textFillColor: 'transparent',\r\n },\r\n },\r\n root: {\r\n fontFamily: 'Uni-Neue-Bold',\r\n fontSize: '15px',\r\n borderRadius: '32px',\r\n '&.MuiButton-containedPrimary': {\r\n '&:hover': {\r\n backgroundColor: theme.palette.primary.main,\r\n },\r\n boxShadow:\r\n '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12)',\r\n },\r\n '&.MuiButton-outlinedPrimary': {\r\n '&:hover': {\r\n backgroundColor: theme.palette.common.white,\r\n },\r\n },\r\n textTransform: 'none',\r\n '&.Mui-disabled': {\r\n border: 'none',\r\n background: 'rgba(0, 0, 0, 0.12)',\r\n boxShadow: 'unset',\r\n },\r\n },\r\n },\r\n },\r\n MuiButtonBase: {\r\n defaultProps: {},\r\n },\r\n MuiCssBaseline: {\r\n styleOverrides: {\r\n dd: {\r\n margin: 0,\r\n },\r\n dl: {\r\n margin: 0,\r\n },\r\n dt: {\r\n margin: 0,\r\n },\r\n },\r\n },\r\n }\r\n}\r\n","export const coreThemeConstants = {\r\n borderRadius: {\r\n md: 4,\r\n },\r\n fontFamily: [\r\n 'Roboto',\r\n '-apple-system',\r\n 'BlinkMacSystemFont',\r\n '\"Segoe UI\"',\r\n '\"Helvetica Neue\"',\r\n 'Arial',\r\n 'sans-serif',\r\n '\"Apple Color Emoji\"',\r\n '\"Segoe UI Emoji\"',\r\n '\"Segoe UI Symbol\"',\r\n ].join(','),\r\n letterSpacing: {\r\n lg: '2px',\r\n md: '1px',\r\n sm: '0.45px',\r\n xs: '0.25px',\r\n },\r\n lineHeight: {\r\n lg: 1.4, // 22.4px on 16\r\n md: 1.1875, // 19px on 16, 47.5 on 40\r\n xl: 1.5, // 24px on 16\r\n },\r\n spacingBase: 8, // 8px grid\r\n}\r\n","import { css, SerializedStyles } from '@emotion/react'\r\nimport { createTheme } from '@mui/material'\r\n\r\nimport { coreThemeConstants } from './coreThemeConstants'\r\n\r\nconst theme = createTheme({\r\n spacing: coreThemeConstants.spacingBase,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n} as any)\r\n\r\nexport const cssMixins = {\r\n appHeaderHeight: '80px',\r\n appFooterHeight: '80px',\r\n colCentered: css`\r\n flex-direction: column;\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n `,\r\n colHCentered: css`\r\n flex-direction: column;\r\n display: flex;\r\n justify-content: center;\r\n `,\r\n colStretch: css`\r\n display: flex;\r\n flex-direction: column;\r\n `,\r\n colVCentered: css`\r\n flex-direction: column;\r\n align-items: center;\r\n display: flex;\r\n `,\r\n rowCentered: css`\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n `,\r\n rowHCentered: css`\r\n display: flex;\r\n justify-content: center;\r\n `,\r\n rowStretch: css`\r\n display: flex;\r\n `,\r\n rowSpaceBetweened: css`\r\n display: flex;\r\n justify-content: space-between;\r\n `,\r\n rowFlexEnd: css`\r\n justify-content: flex-end;\r\n display: flex;\r\n `,\r\n rowVCentered: css`\r\n align-items: center;\r\n display: flex;\r\n `,\r\n spaceSimpleH: (spacing: number): SerializedStyles => css`\r\n margin-right: ${theme.spacing(spacing)};\r\n\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n `,\r\n spaceSimpleV: (spacing: number): SerializedStyles => css`\r\n margin-bottom: ${theme.spacing(spacing)};\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n + & {\r\n margin-top: ${theme.spacing(spacing)};\r\n }\r\n `,\r\n stretchAll: css`\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n `,\r\n stretchBottom: css`\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n `,\r\n stretchTop: css`\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n `,\r\n}\r\n","import { ThemeOptions } from '@mui/material'\r\n\r\nimport { coreThemeConstants } from './coreThemeConstants'\r\n\r\nexport const shape: ThemeOptions['shape'] = {\r\n borderRadius: coreThemeConstants.borderRadius.md,\r\n}\r\n","import { ThemeOptions } from '@mui/material'\r\nimport { coreThemeConstants } from './coreThemeConstants'\r\n\r\nexport const typography: ThemeOptions['typography'] = {\r\n body1: {\r\n fontWeight: 400,\r\n fontSize: '1.5rem',\r\n letterSpacing: coreThemeConstants.letterSpacing.md,\r\n lineHeight: coreThemeConstants.lineHeight.lg,\r\n },\r\n body2: {\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n letterSpacing: coreThemeConstants.letterSpacing.xs,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n body2Small: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n letterSpacing: coreThemeConstants.letterSpacing.xs,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n fontFamily: coreThemeConstants.fontFamily,\r\n fontWeightBold: 600,\r\n fontWeightLight: 300,\r\n fontWeightMedium: 500,\r\n fontWeightRegular: 400,\r\n h1: {\r\n /**\r\n * h1 in design\r\n * Used for\r\n * - title in ProductCard\r\n * - Apy value in ProductCard\r\n * - title in protocol-position block\r\n */\r\n fontSize: '1.5rem',\r\n fontWeight: 900,\r\n letterSpacing: coreThemeConstants.letterSpacing.xs,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h2: {\r\n /**\r\n * h2 in design\r\n * Used for\r\n * - amount in small AmountDetail\r\n * - Alert titles\r\n */\r\n fontSize: '1.25rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.sm,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h3: {\r\n /**\r\n * h3 in design\r\n * Used for\r\n * - Secondary headers in below fold content\r\n */\r\n fontSize: '1rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.md,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h3Large: {\r\n /**\r\n * h3 in design\r\n * Used for\r\n * - Secondary headers in below fold content\r\n */\r\n fontSize: '1.875rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.md,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h4: {\r\n /**\r\n * Used for\r\n * - large feature text on product home pages\r\n */\r\n fontSize: '2.5rem',\r\n fontWeight: 700,\r\n letterSpacing: coreThemeConstants.letterSpacing.lg,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h5: {\r\n /**\r\n * Used for\r\n * - main title of scenes,\r\n */\r\n fontSize: '1.75rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.md,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n h6: {\r\n fontSize: '1.25rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.sm,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n color: 'rgba(0, 0, 0, 0.87)',\r\n },\r\n labsSmall: {\r\n fontSize: '0.75rem',\r\n },\r\n nav: {\r\n fontSize: '0.875rem',\r\n fontWeight: 400,\r\n letterSpacing: coreThemeConstants.letterSpacing.sm,\r\n lineHeight: coreThemeConstants.lineHeight.md,\r\n },\r\n navSub: {\r\n fontSize: '0.75rem',\r\n fontWeight: 500,\r\n letterSpacing: coreThemeConstants.letterSpacing.md,\r\n // lineHeight: '1rem',\r\n },\r\n}\r\n","import { createTheme } from '@mui/material'\r\n\r\nimport { breakpoints } from './breakpoints'\r\nimport { components } from './components'\r\nimport { coreThemeConstants } from './coreThemeConstants'\r\nimport { cssMixins } from './cssMixins'\r\nimport { paletteCore } from './palette'\r\nimport { shape } from './shape'\r\nimport { typography } from './typography'\r\n\r\nexport * from './components'\r\n\r\nconst themeBase = createTheme({\r\n breakpoints,\r\n cssMixins,\r\n palette: paletteCore,\r\n shape,\r\n spacing: coreThemeConstants.spacingBase,\r\n typography,\r\n})\r\n\r\nexport const themeHuma = createTheme(themeBase, {\r\n components: components(themeBase),\r\n})\r\n","import './index.css'\r\n\r\nimport { JsonRpcProvider } from '@ethersproject/providers'\r\nimport {\r\n Provider as Web3Provider,\r\n ProviderProps as Web3Props,\r\n supportedChainId,\r\n} from '@huma-finance/shared'\r\nimport { ThemeProvider } from '@mui/material'\r\nimport { Provider as Eip1193Provider } from '@web3-react/types'\r\nimport { Provider as AtomProvider } from 'jotai'\r\nimport { useCallback, useEffect, useState } from 'react'\r\nimport { Provider as ReduxProvider } from 'react-redux'\r\n\r\nimport { ChainNotSupportedModal } from './components/ChainNotSupportedModal'\r\nimport {\r\n CreditLineBorrow,\r\n CreditLineBorrowProps,\r\n} from './components/CreditLine/borrow'\r\nimport {\r\n CreditLinePayment,\r\n CreditLinePaymentProps,\r\n} from './components/CreditLine/payment'\r\nimport {\r\n InvoiceFactoringBorrow,\r\n InvoiceFactoringBorrowProps,\r\n} from './components/InvoiceFactoring/borrow'\r\nimport {\r\n InvoiceFactoringPayment,\r\n InvoiceFactoringPaymentProps,\r\n} from './components/InvoiceFactoring/payment'\r\nimport { LendSupply, LendSupplyProps } from './components/Lend/supply'\r\nimport { LendWithdraw, LendWithdrawProps } from './components/Lend/withdraw'\r\nimport { SuperfluidFactoring } from './components/SuperfluidFactoring'\r\nimport { store } from './store'\r\nimport { themeHuma } from './theme'\r\nimport { WCProps } from './utilTypes'\r\n\r\n/**\r\n * Mapping of your JSON-RPC connections indexed by chainId\r\n * @typedef {Object} JsonRpcConnectionMap\r\n * @property {Object.<number, string|Array<string>|JsonRpcProvider|Array<JsonRpcProvider>>} chainId Chain id to map the JSON-RPC URL/URLs or JsonRpcProvider/JsonRpcProviders\r\n */\r\ntype JsonRpcConnectionMap = {\r\n [chainId: number]: string | string[] | JsonRpcProvider | JsonRpcProvider[]\r\n}\r\n\r\n/**\r\n * Object representing the props passed to web3 provider\r\n * @typedef {Object} WidgetProps\r\n * @property {desiredChainId|undefined} desiredChainId Optional desired chain id, will trigger the switch network action if different from the current chain id\r\n * @property {JsonRpcConnectionMap|undefined} jsonRpcUrlMap Optional mapping of your JSON-RPC connections indexed by chainId\r\n * @property {Eip1193Provider|JsonRpcProvider|null|undefined} provider Optional EIP-1193 provider or JsonRpc Provider\r\n */\r\ntype WidgetProps = {\r\n handleClose?: () => void\r\n desiredChainId?: number\r\n jsonRpcUrlMap?: JsonRpcConnectionMap\r\n provider?: Eip1193Provider | JsonRpcProvider | null\r\n}\r\n\r\nfunction Widget(props: WCProps<WidgetProps>) {\r\n const { children, desiredChainId } = props\r\n const { ethereum } = window\r\n // @ts-ignore\r\n const netWorkVersion = ethereum?.networkVersion || ethereum?.chainId\r\n const [currentChainId, setCurrentChainId] = useState<number | undefined>(\r\n netWorkVersion ? Number(netWorkVersion) : undefined,\r\n )\r\n const chainSupported = !!supportedChainId(currentChainId)\r\n const [chainNotSupportedOpen, setChainNotSupportedOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n setCurrentChainId(netWorkVersion ? Number(netWorkVersion) : undefined)\r\n }, [netWorkVersion])\r\n\r\n useEffect(() => {\r\n if (chainSupported) {\r\n setChainNotSupportedOpen(false)\r\n } else {\r\n setChainNotSupportedOpen(true)\r\n }\r\n }, [chainSupported])\r\n\r\n useEffect(() => {\r\n const chainChangeListener = (chainId: number) => {\r\n setCurrentChainId(chainId)\r\n }\r\n\r\n if (window.ethereum) {\r\n // @ts-ignore\r\n window.ethereum?.on('chainChanged', chainChangeListener)\r\n }\r\n return () => {\r\n if (window.ethereum) {\r\n // @ts-ignore\r\n window.ethereum?.removeListener('chainChanged', chainChangeListener)\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (\r\n window.ethereum &&\r\n desiredChainId &&\r\n currentChainId !== desiredChainId\r\n ) {\r\n const changeNetwork = async () => {\r\n try {\r\n // @ts-ignore\r\n await window.ethereum.request({\r\n method: 'wallet_switchEthereumChain',\r\n params: [{ chainId: `0x${Number(desiredChainId).toString(16)}` }],\r\n })\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n }\r\n changeNetwork()\r\n }\r\n }, [currentChainId, desiredChainId])\r\n\r\n const handleCloseCallback = useCallback(() => {\r\n setChainNotSupportedOpen(false)\r\n }, [])\r\n\r\n if (!chainSupported) {\r\n return (\r\n <ThemeProvider theme={themeHuma}>\r\n <ReduxProvider store={store}>\r\n <ChainNotSupportedModal\r\n isOpen={chainNotSupportedOpen}\r\n handleClose={handleCloseCallback}\r\n />\r\n </ReduxProvider>\r\n </ThemeProvider>\r\n )\r\n }\r\n\r\n return (\r\n <ThemeProvider theme={themeHuma}>\r\n <ReduxProvider store={store}>\r\n <Web3Provider {...(props as Web3Props)}>\r\n <AtomProvider>{children}</AtomProvider>\r\n </Web3Provider>\r\n </ReduxProvider>\r\n </ThemeProvider>\r\n )\r\n}\r\n\r\n/**\r\n * Invoice factoring pool borrow widget props\r\n * @typedef {Object} InvoiceFactoringBorrowWidgetProps\r\n * @property {InvoiceFactoringBorrowProps} InvoiceFactoringBorrowProps - Invoice factoring pool borrow props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype InvoiceFactoringBorrowWidgetProps = InvoiceFactoringBorrowProps &\r\n WidgetProps\r\n\r\n/**\r\n * Invoice factoring borrow widget\r\n *\r\n * @param {InvoiceFactoringBorrowProps | WidgetProps} props - The invoice factoring pool borrow widget props.\r\n * @returns Invoice factoring pool borrow widget component\r\n */\r\nexport function InvoiceFactoringBorrowWidget(\r\n props: InvoiceFactoringBorrowWidgetProps,\r\n) {\r\n return (\r\n <Widget {...props}>\r\n <InvoiceFactoringBorrow {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Invoice factoring pool payment widget props\r\n * @typedef {Object} InvoiceFactoringPaymentWidgetProps\r\n * @property {InvoiceFactoringPaymentProps} InvoiceFactoringPaymentProps - Invoice factoring pool payment props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype InvoiceFactoringPaymentWidgetProps = InvoiceFactoringPaymentProps &\r\n WidgetProps\r\n\r\n/**\r\n * Invoice factoring payment widget\r\n *\r\n * @param {InvoiceFactoringPaymentProps | WidgetProps} props - The invoice factoring pool payment widget props.\r\n * @returns Invoice factoring pool payment widget component\r\n */\r\nexport function InvoiceFactoringPaymentWidget(\r\n props: InvoiceFactoringPaymentWidgetProps,\r\n) {\r\n return (\r\n <Widget {...props}>\r\n <InvoiceFactoringPayment {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Credit line pool borrow widget props\r\n * @typedef {Object} CreditLineBorrowWidgetProps\r\n * @property {CreditLineBorrowProps} CreditLineBorrowProps - Credit line pool borrow props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype CreditLineBorrowWidgetProps = CreditLineBorrowProps & WidgetProps\r\n\r\n/**\r\n * Credit line borrow widget\r\n *\r\n * @param {CreditLineBorrowProps | WidgetProps} props - The credit line pool borrow widget props.\r\n * @returns Credit line pool borrow widget component\r\n */\r\nexport function CreditLineBorrowWidget(props: CreditLineBorrowWidgetProps) {\r\n return (\r\n <Widget {...props}>\r\n <CreditLineBorrow {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Credit line pool payment widget props\r\n * @typedef {Object} CreditLinePaymentWidgetProps\r\n * @property {CreditLinePaymentProps} CreditLinePaymentProps - Credit line pool payment props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype CreditLinePaymentWidgetProps = CreditLinePaymentProps & WidgetProps\r\n\r\n/**\r\n * Credit line payment widget\r\n *\r\n * @param {CreditLinePaymentProps | WidgetProps} props - The credit line pool payment widget props.\r\n * @returns Credit line pool payment widget component\r\n */\r\nexport function CreditLinePaymentWidget(props: CreditLinePaymentWidgetProps) {\r\n return (\r\n <Widget {...props}>\r\n <CreditLinePayment {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Lend pool supply widget props\r\n * @typedef {Object} LendSupplyWidgetProps\r\n * @property {LendSupplyProps} LendSupplyProps - Lend pool supply props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype LendSupplyWidgetProps = LendSupplyProps & WidgetProps\r\n\r\n/**\r\n * Lend supply widget\r\n *\r\n * @param {LendSupplyProps | WidgetProps} props - The lend pool supply widget props.\r\n * @returns Lend pool supply widget component\r\n */\r\nexport function LendSupplyWidget(props: LendSupplyWidgetProps) {\r\n return (\r\n <Widget {...props}>\r\n <LendSupply {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Lend pool withdraw widget props\r\n * @typedef {Object} LendWithdrawWidgetProps\r\n * @property {LendWithdrawProps} LendWithdrawProps - Lend pool withdraw props.\r\n * @property {WidgetProps} WidgetProps - Widget general props.\r\n */\r\ntype LendWithdrawWidgetProps = LendWithdrawProps & WidgetProps\r\n\r\n/**\r\n * Lend withdraw widget\r\n *\r\n * @param {LendWithdrawProps | WidgetProps} props The lend pool withdraw widget props\r\n * @returns Lend pool withdraw widget component\r\n */\r\nexport function LendWithdrawWidget(props: LendWithdrawWidgetProps) {\r\n return (\r\n <Widget {...props}>\r\n <LendWithdraw {...props} />\r\n </Widget>\r\n )\r\n}\r\n\r\n/**\r\n * Superfluid factoring widget\r\n *\r\n * @param {WidgetProps} props - The superfluid factoring widget props.\r\n * @returns Superfluid factoring widget component\r\n */\r\nexport function SuperfluidFactoringWidget(props: WidgetProps) {\r\n return (\r\n <Widget {...props}>\r\n <SuperfluidFactoring />\r\n </Widget>\r\n )\r\n}\r\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_toPrimitive","input","hint","prim","toPrimitive","undefined","res","call","TypeError","String","Number","_toPropertyKey","arg","key","_defineProperty","value","toPropertyKey","Object","defineProperty","enumerable","configurable","writable","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","i","_i","_s","_e","_x","_r","_arr","_n","_d","next","push","length","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","toString","slice","name","from","test","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","module","exports","__esModule","require$$0","_regeneratorRuntime","Op","hasOwn","hasOwnProperty","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","Function","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","useAppDispatch","useDispatch","useAppSelector","useSelector","WIDGET_STEP","initialWidgetState","widgetSlice","createSlice","initialState","reducers","resetState","errorReason","errorMessage","step","approval","borrowAmount","borrowAmountBN","chargedFees","borrowAmountNet","remainder","tokenId","paymentAmount","remainDueAmount","stream","multisend","supplyAmount","withdrawAmount","setStep","_ref","payload","setApproval","_ref2","terms","creditLimit","nextStep","setBorrowInfo","_ref3","setTokenId","_ref4","setPaymentAmount","_ref5","setSupplyAmount","_ref6","setWithdrawAmount","_ref7","setStream","_ref8","_state$stream","_objectSpread","setMultisend","_ref9","setError","_ref10","_widgetSlice$actions","actions","reducer","_path","_extends","React","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","_path24","_path25","_path26","_path27","_path28","_defs","ReceiptIcon","props","_jsx","ReceiptSvg","SeparatorIcon","SeparatorSvg","LoaderIcon","LoaderSvg","SorryIcon","SorrySvg","CheckIcon","CheckSvg","CheckGreenIcon","CheckGreenSvg","CheckCircleIcon","CheckCircleSvg","AutoPaybackIcon","AutoPaybackSvg","ApproveLenderIcon","ApproveLenderSvg","UsdcIcon","UsdcSvg","getIcon","icon","ErrorModal","title","handleOk","_ref$okText","okText","_ref$shouldResetState","shouldResetState","theme","useTheme","dispatch","useResetAtom","txAtom","styles","wrapper","css","_templateObject","header","_templateObject2","cssMixins","rowHCentered","sorry","_templateObject3","content","_templateObject4","errorIcon","_templateObject5","messageWrapper","_templateObject6","_templateObject7","okButton","_templateObject8","handleCloseModal","useCallback","_jsxs","Box","children","Typography","variant","ErrorOutlineIcon","Tooltip","placement","Button","onClick","primaryPurple","primaryBlueLight","pendingBlue","pendingBlueMid","pendingBlueLight","warningRed","warningRedLight","warningRedPastel","darkBackground","white","black","orange","yellow","grey","green","blue","paletteCore","alert","contrastText","dark","light","main","background","default","paper","common","divider","superDark","superLight","mode","primary","secondary","success","text","tertiary","quaternary","warning","HumaModal","isOpen","onClose","overflow","overflowY","_ref$width","width","_ref$padding","padding","_ref$disableBackdropC","disableBackdropClick","_useMQ","useMQ","isXsSize","process","env","NODE_ENV","handleClose","reason","Dialog","disableScrollLock","maxWidth","fullScreen","open","PaperProps","style","borderRadius","event","_objectWithoutPropertiesLoose","source","excluded","target","sourceKeys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","HumaModalHeader","hideClose","allowBack","_ref$onBack","onBack","_ref$height","height","_excluded","buttonBackWrapper","spacing","buttonClose","palette","buttonCloseWrapper","headerBand","ChevronLeftOutlinedIcon","CloseIcon","ChainNotSupportedModal","selectWidgetState","widget","map","_EMOTION_STRINGIFIED_CSS_ERROR__","HumaLoading","_ref2$fullScreen","_ref2$minHeight","minHeight","pathLength","_useState","useState","_useState2","count","setCount","intervalTime","useEffect","interval","setInterval","element","document","querySelector","concat","visibility","pre","elements","querySelectorAll","clearInterval","rowCentered","id","WrapperModal","subTitle","bottom","LoadingModal","description","_ref$hideLoader","hideLoader","loader","WidgetWrapper","_ref$isLoading","isLoading","_ref$loadingTitle","loadingTitle","handleSuccess","_useAppSelector","_useAtom","useAtom","sendTxAtom","_useAtom2","_useAtom2$","failReason","txReceipt","isTxFailed","Done","blockNumber","checkIsDev","window","location","hostname","startsWith","envUtil","useEA","_useWeb3React","useWeb3React","chainId","checkingEA","_callee","_callee$","_context","EAService","approve","t0","EARejectionError","EARejectMessage","EARejectReason","message","_x2","Evaluation","poolInfo","handleApprove","_useEA","account","status","setStatus","fetchData","poolAddress","pool","borrowerWalletAddress","assetAddress","checkWrapper","rowVCentered","checkIcon","congratsWrapper","goToNextStep","ChooseAmount","sx","marginBottom","src","spinner","alt","_Fragment","marginLeft","ChooseAmountModal","tokenIcon","description1","description2","currentAmount","sliderMax","tokenSymbol","topLeft","topRight","downLeft","downRight","_ref$actionText","actionText","payoffAmount","_ref$hideTerms","hideTerms","_ref$type","handleChangeAmount","handleAction","inputTouched","setInputTouched","chosenAmountWrapper","chosenAmount","chosenAmountSymbol","inputAmountWrapper","inputAmount","rowSpaceBetweened","inputField","maxButton","_templateObject9","amountAvailable","_templateObject10","editIcon","_templateObject11","_templateObject12","slider","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","handleSliderChange","newValue","handleInputChange","handleSetMax","handleIncrement","newAmount","handleDecrement","handlePayoff","component","fontSize","size","className","toFixed","ArrowDropUpIcon","ArrowDropDownIcon","Slider","max","min","onChange","Input","placeholder","createElement","Divider","disabled","toUpperCase","accountStats","poolUnderlyingToken","symbol","decimals","_useCLFeeManager","useCLFeeManager","poolName","getFeesCharged","setChargedFees","_useState3","_useState4","setCurrentAmount","creditRecordStatic","creditAvailableAmount","newChargedFees","Transfer","upScale","aprInBps","BottomButton","_ref$disabled","ViewOnExplorer","txHash","chain","CHAINS","openInNewTab","explorer","ApproveAllowanceModal","_ref$showAutoPayback","showAutoPayback","allowanceAmount","spender","provider","poolUnderlyingTokenContract","usePoolUnderlyingTokenContract","poolType","send","waitingForAccept","TxStateType","New","Success","iconWrapper","sendApprove","contract","params","MaxUint256","useMount","ApproveAllowance","TxSendModal","poolContract","usePoolContract","_useCLPoolAllowance","useCLPoolAllowance","allowance","gte","toBigNumber","TxDoneModal","buttonText","colVCentered","check","doneButton","item","marginTop","creditRecord","hasNextStep","dueDate","timeUtil","timestampToLL","toNumber","getIdFromEventType","eventType","directPushEventType","directPushId","broadcastEventType","broadcastId","fetchEventTypes","_fetchEventTypes","_callee4","notifiClient","_process$env$REACT_AP","_subscriptionConfig$e","subscribedAlerts","subscriptionConfig","eventTypes","_callee4$","_context4","getAlerts","fetchSubscriptionCard","REACT_APP_NOTIFI_CONFIG_ID","eventTypeId","enabled","subscribedAlert","find","filterOptions","NotifiSubscriptionModal","setNotifiClient","showSuccessScreen","setShowSuccessScreen","_useState5","_useState6","setIsLoading","_useState7","_useState8","emailAddress","setEmailAddress","_useState9","_useState10","emailValid","setEmailValid","initializeClient","client","newFrontendClient","publicKey","tenantId","walletBlockchain","getBlockchainConfigFromChain","initialize","signMessage","_callee2","signer","signature","_callee2$","_context2","getSigner","Buffer","ethers","utils","arrayify","handleEmailAddressChange","_event$target$value","emailRegex","logInAndSubscribe","_callee3","fetchedEventTypes","_iterator","_step","_callee3$","_context3","logIn","ensureTargetGroup","_createForOfIteratorHelper","s","ensureAlert","inputs","t1","e","f","disclaimer","inputWrapper","margin","startAdornment","InputAdornment","position","Email","Notifications","useIsFirstTimeNotifiUser","isFirstTimeNotifiUser","setIsFirstTimeNotifiUser","checkIsFirstTimeNotifiUser","userState","_targetGroups$","_targetGroups$$emailT","targetGroups","emailTargets","getTargetGroups","useDoesChainSupportNotifi","notifiChainSupported","setNotifiChainSupported","checkNotifiChainSupported","doesChainSupportNotifi","CreditLineBorrow","poolNameStr","poolTypeStr","POOL_NAME","POOL_TYPE","usePoolInfo","_useAccountStats","useAccountStats","_useAccountStats2","refreshAccountStats","_useIsFirstTimeNotifi","_useDoesChainSupportN","accountState","CreditState","Approved","approveCallback","setupNotificationsOrClose","totalDueAmount","_poolInfo$poolUnderly","payAmount","gt","paymentBigNumber","payedAmount","setPayedAmount","_decodeLogs","decodeLogs","logs","transferAbi","_decodeLogs2","downScale","formatMoney","CreditLinePayment","_useAccountStats2$","receivable","address","param","toHexString","_receivable","_useFeeManager","useFeeManager","amountFormatted","setRemainder","getAvailableCreditLimit","principal","unbilledPrincipal","add","totalDue","sub","feesAndInterestDue","creditLimitFormatted","token","decimal","ConfirmTransfer","ConfirmTransferModal","items","colStretch","transferWrapper","transfer","transferItem","arrow","arrowFirst","usdcIcon","leftText","ArrowForwardIosIcon","combineStyles","rightText","ApproveNFT","isEmpty","invoiceNFTContract","useInvoiceNFTContract","requestLoanBigNumber","InvoiceFactoringBorrow","_useRFPoolAllowance","useRFPoolAllowance","remainingDue","setRemainingDue","InvoiceFactoringPayment","EvaluationEA","handleApproveSuccess","loading","setLoading","approveLender","lenderWalletAddress","HumaSnackBar","autoHideDuration","severity","snackbar","Snackbar","Alert","KYCProvider","KYCCopiesByState","verifyIdentity","emailSignatureLink","resendSignatureLink","docUnderReview","LoadingCopiesByType","verificationStatus","sendDocSignatureLink","EvaluationKYC","isDev","loadingType","setLoadingType","setDescription","setButtonText","KYCVerifyStatus","setKYCVerifyStatus","docSignatureStatus","setDocSignatureStatus","docSignatureCompleted","_useState11","_useState12","openSnackBar","setOpenSnackBar","_useMemo","useMemo","envelopeKey","toLowerCase","envelopeLastQueryTimeKey","checkGetDocSignatureStatusIsAvailable","lastQueryTime","localStorage","getItem","lastQueryTimeNumber","now","getUnixTimestamp","diff","fifteenMinutes","envelopeId","_yield$IdentityServic","IdentityService","getVerificationStatus","isVerified","getDocSignatureStatus","setItem","includes","removeItem","console","isNotOnboarded","issuerId","baseUrl","originUrl","redirectUrl","providerAuthorizeUrl","providerUrl","_yield$IdentityServic2","_envelopeId","configUtil","getKYCProviderBaseUrl","href","split","requestDocSignature","resendDocSignatureLink","getEmailLinkSentSnackbar","_poolInfo$extra","lenderApprovalProvider","extra","isKYC","withdrawlLockoutSeconds","underlyingTokenBalance","depositAmount","needApprove","withdrawlLockoutDays","secondsToDays","supplyBigNumber","events","_event$args","to","LendSupply","_usePoolAllowance","usePoolAllowance","_useLenderApproved","useLenderApproved","_useLenderApproved2","lenderApproved","refreshLenderApproved","_useLenderPosition","useLenderPosition","_useLenderPosition2","refreshLenderPosition","useWithdrawlLockoutInSeconds","usePoolUnderlyingTokenBalance","balanceWithoutDecimals","handleSupplySuccess","CheckWithdrawable","lastDepositTime","useLastDepositTime","currentTimestamp","lenderPosition","withdrawableAmount","withdrawBigNumber","LendWithdraw","handleWithdrawSuccess","HumaTable","columns","rows","_ref$hideRowsPerPage","hideRowsPerPage","_React$useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","rowsPerPage","setRowsPerPage","noPagination","rowperPageOptions","tableHeader","tableBody","handleChangePage","newPage","handleChangeRowsPerPage","parseInt","TableContainer","Table","TableHead","TableRow","column","TableCell","noSeparator","TableBody","row","index","scope","dataIndex","display","alignItems","action","lineHeight","TablePagination","rowsPerPageOptions","onPageChange","onRowsPerPageChange","GET_ACTIVITY","gql","amount","Activity","targetEvents","setEvents","_useQuery","useQuery","variables","owner","data","isSmSize","getPadding","creditEvents","JSON","parse","stringify","eventText","CreditEventText","timestamp","tableWrapper","ApolloWrapper","uri","ApolloClient","cache","InMemoryCache","ApolloProvider","payerAddress","superToken","payerWalletAddress","currentFlowRate","borrowPeriodInSeconds","intervalInDays","getBorrowFlowrateAndAmount","currentFlowRateBN","totalAmountInBorrowPeriod","mul","borrowFlowrate","div","newBorrowAmountBN","newBorrowAmount","_getBorrowFlowrateAnd","durationInSeconds","isTestnet","Permit","poolProcessor","borrower","tokenAddress","_useERC2612Permit","useERC2612Permit","getERC2612PermitMessage","getTradableStreamPermitMessage","getApproveAllowanceCallData","erc2612PermitResult","tokenContract","Contract","ERC2612Abi","interface","encodeFunctionData","nonce","deadline","v","r","getDrawdownCallData","NFTPermitResult","drawdownEncodedData","poolProcessorContract","defaultAbiCoder","encode","expiry","PoolProcessorAbi","callData","addresses","approveAllowanceCallData","drawdownCalldata","code","multiSendContract","useMultiSendContract","StreamFactoringBorrow","UpcomingList","connectWalletDesc","noItemDesc","isActive","isMdSize","progress","LinearProgress","FactoredList","handlePayManually","getColumns","_usePoolUnderlyingTok","usePoolUnderlyingToken","factoredItem","setFactoredItem","receivableInfo","hasActiveLoan","hasRFActiveLoan","receivableAmount","_factoredItem","customProps","receivableParam","due","factored","remained","SuperfluidFactoredList","_poolInfo$extra2","_poolInfo$extra$super","_poolInfo$extra$super2","superTokens","TableActionButton","handleClick","GET_RECEIVED_STREAMS","getUpcomingColumns","userHasActiveLoan","handleGetPaid","SuperfluidUpcomingList","streams","setStreams","receiver","tokenIds","_data$streams","ONE_MONTH_SECONDS","flowrateMonth","payer","sender","payerAbbr","getWalletAddressAbbr","flowrate","filter","goToCreateStream","SuperfluidFactoring","_PoolMap$Stream$poolN","_PoolSubgraphMap","Superfluid","_useFactoring","useFactoring","Stream","accountHasActiveLoan","actionType","modalIsOpen","selectedItem","handleGetPaidSuccess","PoolMap","borrowDesc","subgraph","PoolSubgraphMap","CreditEvent","DrawdownMadeWithReceivable","PaymentMade","ReceivedPaymentProcessed","store","configureStore","widgetsReducers","breakpoints","xs","sm","md","lg","xl","components","MuiButton","defaultProps","disableElevation","styleOverrides","contained","border","outlined","backgroundClip","textFillColor","root","fontFamily","backgroundColor","boxShadow","textTransform","MuiButtonBase","MuiCssBaseline","dd","dl","dt","coreThemeConstants","join","letterSpacing","spacingBase","createTheme","appHeaderHeight","appFooterHeight","colCentered","colHCentered","rowStretch","rowFlexEnd","spaceSimpleH","spaceSimpleV","stretchAll","stretchBottom","stretchTop","shape","typography","body1","fontWeight","body2","body2Small","fontWeightBold","fontWeightLight","fontWeightMedium","fontWeightRegular","h1","h2","h3","h3Large","h4","h5","h6","color","labsSmall","nav","navSub","themeBase","themeHuma","Widget","desiredChainId","_window","ethereum","netWorkVersion","networkVersion","currentChainId","setCurrentChainId","chainSupported","supportedChainId","chainNotSupportedOpen","setChainNotSupportedOpen","chainChangeListener","_window$ethereum","on","_window$ethereum2","removeListener","changeNetwork","request","handleCloseCallback","ThemeProvider","ReduxProvider","Web3Provider","AtomProvider","InvoiceFactoringBorrowWidget","InvoiceFactoringPaymentWidget","CreditLineBorrowWidget","CreditLinePaymentWidget","LendSupplyWidget","LendWithdrawWidget","SuperfluidFactoringWidget"],"mappings":"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"}