@huma-finance/widgets 0.0.7 → 0.0.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","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/classCallCheck.js","../../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.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/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","../../../huma-shared/dist/hooks/useERC2612Permit/ethPermit/lib.js","../../../huma-shared/dist/hooks/useERC2612Permit/ethPermit/rpc.js","../../../huma-shared/dist/hooks/useERC2612Permit/ethPermit/index.js","../../../huma-shared/dist/hooks/useERC2612Permit/index.js","../../../huma-shared/dist/utils/config.js","../../../huma-shared/dist/utils/chain.js","../../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../../../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../../../node_modules/@babel/runtime/helpers/esm/construct.js","../../../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../huma-shared/dist/utils/const.js","../../../huma-shared/dist/utils/errors.js","../../../huma-shared/dist/utils/JsonRpcConnector.js","../../../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../../node_modules/@babel/runtime/helpers/esm/get.js","../../../huma-shared/dist/utils/WalletConnect.js","../../../huma-shared/dist/hooks/useAsyncError.js","../../../huma-shared/dist/hooks/web3/useConnectors.js","../../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../huma-shared/dist/utils/jsonRpcEndpoints.js","../../../huma-shared/dist/hooks/web3/useJsonRpcUrlsMap.js","../../../huma-shared/dist/hooks/web3/index.js","../../../huma-shared/dist/utils/pool.js","../../../huma-shared/dist/utils/credit.js","../../../huma-shared/dist/utils/common.js","../../../huma-shared/dist/utils/scientificToDecimal.js","../../../huma-shared/dist/utils/number.js","../../../huma-shared/dist/utils/web3.js","../../../huma-shared/dist/hooks/useContract.js","../../../huma-shared/dist/hooks/useForceRefresh.js","../../../huma-shared/dist/hooks/usePool.js","../../../huma-shared/dist/hooks/usePoolContract.js","../../../huma-shared/dist/hooks/useCLPoolContract.js","../../../huma-shared/dist/utils/string.js","../../../huma-shared/dist/utils/transaction.js","../../../huma-shared/dist/hooks/useContractFunction.js","../../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../huma-shared/dist/hooks/useMQ.js","../../../huma-shared/dist/hooks/useRefresh.js","../../../huma-shared/dist/hooks/useFactoring.js","../../../huma-shared/dist/hooks/useInvoiceNFTContract.js","../../../huma-shared/dist/hooks/useMount.js","../../../huma-shared/dist/hooks/useRFPoolContract.js","../../../huma-shared/dist/utils/request.js","../../../huma-shared/dist/services/EAService.js","../../../huma-shared/dist/utils/time.js","../../src/hooks/useRedux.ts","../../src/store/widgets.store.ts","../../src/store/widgets.reducers.ts","../../src/store/widgets.selectors.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/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/AllowListModal.tsx","../../src/components/CreditLine/borrow/2-AllowList.tsx","../../src/components/ChooseAmountModal.tsx","../../src/components/CreditLine/borrow/3-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/5-Transfer.tsx","../../src/components/TxDoneModal.tsx","../../src/components/CreditLine/borrow/6-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-AllowList.tsx","../../src/components/InvoiceFactoring/borrow/3-ChooseAmount.tsx","../../src/components/InvoiceFactoring/borrow/4-ConfirmTransfer.tsx","../../src/components/InvoiceFactoring/borrow/5-ApproveNFT.tsx","../../src/components/InvoiceFactoring/borrow/6-Transfer.tsx","../../src/components/InvoiceFactoring/borrow/7-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}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\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}","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 _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}","import utf8 from 'utf8';\r\nexport const hexToUtf8 = (hex) => {\r\n // if (!isHexStrict(hex))\r\n // throw new Error('The parameter \"'+ hex +'\" must be a valid HEX string.');\r\n let str = '';\r\n let code = 0;\r\n hex = hex.replace(/^0x/i, '');\r\n // remove 00 padding from either side\r\n hex = hex.replace(/^(?:00)*/, '');\r\n hex = hex.split('').reverse().join('');\r\n hex = hex.replace(/^(?:00)*/, '');\r\n hex = hex.split('').reverse().join('');\r\n const l = hex.length;\r\n for (let i = 0; i < l; i += 2) {\r\n code = parseInt(hex.substr(i, 2), 16);\r\n // if (code !== 0) {\r\n str += String.fromCharCode(code);\r\n // }\r\n }\r\n return utf8.decode(str);\r\n};\r\n//# sourceMappingURL=lib.js.map","import { __rest } from \"tslib\";\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n/* eslint-disable no-underscore-dangle */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\nconst randomId = () => Math.floor(Math.random() * 10000000000);\r\nexport const send = (provider, method, params) => new Promise((resolve, reject) => {\r\n var _a;\r\n const payload = {\r\n id: randomId(),\r\n method,\r\n params,\r\n };\r\n const callback = (err, result) => {\r\n if (err) {\r\n reject(err);\r\n }\r\n else if (result.error) {\r\n console.error(result.error);\r\n reject(result.error);\r\n }\r\n else {\r\n resolve(result.result);\r\n }\r\n };\r\n const _provider = ((_a = provider.provider) === null || _a === void 0 ? void 0 : _a.provider) || provider.provider || provider;\r\n if (_provider.getUncheckedSigner /* ethers provider */) {\r\n _provider\r\n .send(method, params)\r\n .then((r) => resolve(r))\r\n .catch((e) => reject(e));\r\n }\r\n else if (_provider.sendAsync) {\r\n _provider.sendAsync(payload, callback);\r\n }\r\n else {\r\n _provider.send(payload, callback).catch((error) => {\r\n if (error.message ===\r\n \"Hardhat Network doesn't support JSON-RPC params sent as an object\") {\r\n _provider\r\n .send(method, params)\r\n .then((r) => resolve(r))\r\n .catch((e) => reject(e));\r\n }\r\n else {\r\n throw error;\r\n }\r\n });\r\n }\r\n});\r\nconst splitSignatureToRSV = (signature) => {\r\n const r = `0x${signature.substring(2).substring(0, 64)}`;\r\n const s = `0x${signature.substring(2).substring(64, 128)}`;\r\n const v = parseInt(signature.substring(2).substring(128, 130), 16);\r\n return { r, s, v };\r\n};\r\nconst signWithEthers = async (signer, fromAddress, typeData) => {\r\n const signerAddress = await signer.getAddress();\r\n if (signerAddress.toLowerCase() !== fromAddress.toLowerCase()) {\r\n throw new Error('Signer address does not match requested signing address');\r\n }\r\n const _a = typeData.types, { EIP712Domain: _unused } = _a, types = __rest(_a, [\"EIP712Domain\"]);\r\n const rawSignature = await (signer.signTypedData\r\n ? signer.signTypedData(typeData.domain, types, typeData.message)\r\n : signer._signTypedData(typeData.domain, types, typeData.message));\r\n return splitSignatureToRSV(rawSignature);\r\n};\r\nexport const signData = async (provider, fromAddress, typeData) => {\r\n if (provider._signTypedData || provider.signTypedData) {\r\n return signWithEthers(provider, fromAddress, typeData);\r\n }\r\n const typeDataString = typeof typeData === 'string' ? typeData : JSON.stringify(typeData);\r\n const result = await send(provider, 'eth_signTypedData_v4', [\r\n fromAddress,\r\n typeDataString,\r\n ]).catch((error) => {\r\n if (error.message === 'Method eth_signTypedData_v4 not supported.') {\r\n return send(provider, 'eth_signTypedData', [fromAddress, typeData]);\r\n }\r\n throw error;\r\n });\r\n return {\r\n r: result.slice(0, 66),\r\n s: `0x${result.slice(66, 130)}`,\r\n v: parseInt(result.slice(130, 132), 16),\r\n };\r\n};\r\nlet chainIdOverride = null;\r\nexport const setChainIdOverride = (id) => {\r\n chainIdOverride = id;\r\n};\r\nexport const getChainId = async (provider) => chainIdOverride || send(provider, 'eth_chainId');\r\nexport const call = (provider, to, data) => send(provider, 'eth_call', [\r\n {\r\n to,\r\n data,\r\n },\r\n 'latest',\r\n]);\r\n//# sourceMappingURL=rpc.js.map","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { hexToUtf8 } from './lib';\r\nimport { call, getChainId, signData } from './rpc';\r\nconst MAX_INT = '0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';\r\nconst EIP712Domain = [\r\n { name: 'name', type: 'string' },\r\n { name: 'version', type: 'string' },\r\n { name: 'chainId', type: 'uint256' },\r\n { name: 'verifyingContract', type: 'address' },\r\n];\r\nconst createTypedDaiData = (message, domain) => {\r\n const typedData = {\r\n types: {\r\n EIP712Domain,\r\n Permit: [\r\n { name: 'holder', type: 'address' },\r\n { name: 'spender', type: 'address' },\r\n { name: 'nonce', type: 'uint256' },\r\n { name: 'expiry', type: 'uint256' },\r\n { name: 'allowed', type: 'bool' },\r\n ],\r\n },\r\n primaryType: 'Permit',\r\n domain,\r\n message,\r\n };\r\n return typedData;\r\n};\r\nconst createTypedERC2612Data = (message, domain) => {\r\n const typedData = {\r\n types: {\r\n EIP712Domain,\r\n Permit: [\r\n { name: 'owner', type: 'address' },\r\n { name: 'spender', type: 'address' },\r\n { name: 'value', type: 'uint256' },\r\n { name: 'nonce', type: 'uint256' },\r\n { name: 'deadline', type: 'uint256' },\r\n ],\r\n },\r\n primaryType: 'Permit',\r\n domain,\r\n message,\r\n };\r\n return typedData;\r\n};\r\nconst createTypedTradableStreamData = (message, domain) => {\r\n const typedData = {\r\n types: {\r\n EIP712Domain,\r\n MintToWithAuthorization: [\r\n { name: 'receiver', type: 'address' },\r\n { name: 'token', type: 'address' },\r\n { name: 'origin', type: 'address' },\r\n { name: 'owner', type: 'address' },\r\n { name: 'flowrate', type: 'int96' },\r\n { name: 'durationInSeconds', type: 'uint256' },\r\n { name: 'nonce', type: 'uint256' },\r\n { name: 'expiry', type: 'uint256' },\r\n ],\r\n },\r\n primaryType: 'MintToWithAuthorization',\r\n domain,\r\n message,\r\n };\r\n return typedData;\r\n};\r\nconst NONCES_FN = '0x7ecebe00';\r\nconst NAME_FN = '0x06fdde03';\r\nconst zeros = (numZeros) => ''.padEnd(numZeros, '0');\r\nconst getTokenName = async (provider, address) => hexToUtf8((await call(provider, address, NAME_FN)).substr(130));\r\nconst getDomain = async (provider, token) => {\r\n if (typeof token !== 'string') {\r\n return token;\r\n }\r\n const tokenAddress = token;\r\n const [name, chainId] = await Promise.all([\r\n getTokenName(provider, tokenAddress),\r\n getChainId(provider),\r\n ]);\r\n const domain = {\r\n name,\r\n version: '1',\r\n chainId,\r\n verifyingContract: tokenAddress,\r\n };\r\n return domain;\r\n};\r\nexport const signDaiPermit = async (provider, token, holder, spender, expiry, nonce) => {\r\n const tokenAddress = token.verifyingContract || token;\r\n const message = {\r\n holder,\r\n spender,\r\n nonce: nonce === undefined\r\n ? await call(provider, tokenAddress, `${NONCES_FN}${zeros(24)}${holder.substr(2)}`)\r\n : nonce,\r\n expiry: expiry || MAX_INT,\r\n allowed: true,\r\n };\r\n const domain = await getDomain(provider, token);\r\n const typedData = createTypedDaiData(message, domain);\r\n const sig = await signData(provider, holder, typedData);\r\n return Object.assign(Object.assign({}, sig), message);\r\n};\r\nexport const signERC2612Permit = async (provider, token, owner, spender, value = MAX_INT, deadline, nonce) => {\r\n const tokenAddress = token.verifyingContract || token;\r\n const message = {\r\n owner,\r\n spender,\r\n value,\r\n nonce: nonce === undefined\r\n ? await call(provider, tokenAddress, `${NONCES_FN}${zeros(24)}${owner.substr(2)}`)\r\n : nonce,\r\n deadline: deadline || MAX_INT,\r\n };\r\n const domain = await getDomain(provider, token);\r\n const typedData = createTypedERC2612Data(message, domain);\r\n const sig = await signData(provider, owner, typedData);\r\n return Object.assign(Object.assign({}, sig), message);\r\n};\r\nexport const signTradableStreamPermit = async (provider, NFT, receiver, token, origin, owner, flowrate, durationInSeconds, expiry, nonce) => {\r\n const NFTAddress = NFT.verifyingContract || NFT;\r\n const message = {\r\n receiver,\r\n token,\r\n origin,\r\n owner,\r\n flowrate,\r\n durationInSeconds,\r\n nonce: nonce === undefined\r\n ? await call(provider, NFTAddress, `${NONCES_FN}${zeros(24)}${receiver.substr(2)}`)\r\n : nonce,\r\n expiry: expiry || MAX_INT,\r\n };\r\n const domain = await getDomain(provider, NFT);\r\n const typedData = createTypedTradableStreamData(message, domain);\r\n const sig = await signData(provider, receiver, typedData);\r\n return Object.assign(Object.assign({}, sig), message);\r\n};\r\n//# sourceMappingURL=index.js.map","import { useWeb3React } from '@web3-react/core';\r\nimport { useCallback } from 'react';\r\nimport { signERC2612Permit, signTradableStreamPermit } from './ethPermit';\r\nexport const useERC2612Permit = () => {\r\n const { account, provider, chainId } = useWeb3React();\r\n const getDeadline = useCallback(async () => {\r\n const FIVE_MINUTES = 5 * 60;\r\n const latestBlock = await provider.getBlock('latest');\r\n return latestBlock.timestamp + FIVE_MINUTES;\r\n }, [provider]);\r\n const getERC2612PermitMessage = useCallback(async (tokenAddress, spender, amount) => {\r\n const deadline = await getDeadline();\r\n const result = await signERC2612Permit(provider, tokenAddress, account, spender, amount, deadline);\r\n return result;\r\n }, [account, getDeadline, provider]);\r\n const getTradableStreamPermitMessage = useCallback(async (NFT, receiver, tokenAddress, origin, owner, flowrate, durationInSeconds) => {\r\n const domain = {\r\n name: 'TradableStream',\r\n version: '1',\r\n chainId: chainId,\r\n verifyingContract: NFT,\r\n };\r\n const deadline = await getDeadline();\r\n const result = await signTradableStreamPermit(provider, domain, receiver, tokenAddress, origin, owner, flowrate, durationInSeconds, deadline);\r\n return result;\r\n }, [chainId, getDeadline, provider]);\r\n return {\r\n getERC2612PermitMessage,\r\n getTradableStreamPermitMessage,\r\n };\r\n};\r\n//# sourceMappingURL=index.js.map","import { CHAINS } from './chain';\r\nconst getDevPrefix = (isDev = false) => (isDev ? 'dev.' : '');\r\nconst getEAVerseUrl = (chainId, isDev = false) => {\r\n const network = CHAINS[chainId].name;\r\n return `https://${getDevPrefix(isDev)}${network}.eaverse.huma.finance`;\r\n};\r\nconst getEAAllowListUrl = () => 'https://dev.allowlist.huma.finance';\r\nconst getEABaseUrlV1 = (chainId) => {\r\n const network = CHAINS[chainId].name;\r\n return `https://${network}.risk.huma.finance`;\r\n};\r\nconst getRequestAPIUrl = (chainId, isDev = false) => {\r\n // Get optional override\r\n const url = CHAINS[chainId].requestAPIUrl;\r\n if (url) {\r\n return url;\r\n }\r\n const network = CHAINS[chainId].name;\r\n return `https://${getDevPrefix(isDev)}${network}.rnreader.huma.finance`;\r\n};\r\nconst InfuraRpcUrl = `https://mainnet.infura.io/v3/a3629013e1684648881ceae2383e9928`;\r\nconst AlchemyRpcUrl = `https://eth-mainnet.alchemyapi.io/v2/w8EMnJyYMOHI_2w8tfU-QA9w07qFhnSZ`;\r\n// @todo: ReferenceError: Cannot access 'ChainEnum' before initialization\r\nconst DEFAULT_CHAIN_ID = 5;\r\nexport const configUtil = {\r\n getEAVerseUrl,\r\n getEAAllowListUrl,\r\n getEABaseUrlV1,\r\n getRequestAPIUrl,\r\n InfuraRpcUrl,\r\n AlchemyRpcUrl,\r\n DEFAULT_CHAIN_ID,\r\n};\r\n//# sourceMappingURL=config.js.map","import { configUtil } from './config';\r\nconst ETH = {\r\n name: 'Ether',\r\n symbol: 'ETH',\r\n decimals: 18,\r\n};\r\nconst MATIC = {\r\n name: 'MATIC',\r\n symbol: 'MATIC',\r\n decimals: 18,\r\n};\r\nexport var ChainEnum;\r\n(function (ChainEnum) {\r\n // Mainnet = 1,\r\n ChainEnum[ChainEnum[\"Polygon\"] = 137] = \"Polygon\";\r\n ChainEnum[ChainEnum[\"Goerli\"] = 5] = \"Goerli\";\r\n ChainEnum[ChainEnum[\"Mumbai\"] = 80001] = \"Mumbai\";\r\n})(ChainEnum || (ChainEnum = {}));\r\nexport const SupportedChainIds = [\r\n ChainEnum.Polygon,\r\n ChainEnum.Goerli,\r\n ChainEnum.Mumbai,\r\n];\r\nexport const CHAINS = {\r\n // [ChainEnum.Mainnet]: {\r\n // urls: [configUtil.InfuraRpcUrl, configUtil.AlchemyRpcUrl],\r\n // name: 'Mainnet',\r\n // nativeCurrency: ETH,\r\n // icon: EthereumIcon,\r\n // explorer: 'https://etherscan.io/tx',\r\n // wait: 6,\r\n // },\r\n [ChainEnum.Polygon]: {\r\n urls: [configUtil.InfuraRpcUrl, configUtil.AlchemyRpcUrl],\r\n name: 'Polygon',\r\n nativeCurrency: MATIC,\r\n explorer: 'https://polygonscan.com/tx',\r\n wait: 6,\r\n isTestnet: false,\r\n icon: 'Polygon',\r\n },\r\n [ChainEnum.Goerli]: {\r\n urls: [configUtil.InfuraRpcUrl, configUtil.AlchemyRpcUrl],\r\n name: 'Goerli',\r\n nativeCurrency: ETH,\r\n explorer: 'https://goerli.etherscan.io/tx',\r\n wait: 1,\r\n requestAPIUrl: 'https://dev.goerli.rnreader.huma.finance',\r\n isTestnet: true,\r\n icon: 'Ethereum',\r\n },\r\n [ChainEnum.Mumbai]: {\r\n urls: [configUtil.InfuraRpcUrl, configUtil.AlchemyRpcUrl],\r\n name: 'Mumbai',\r\n nativeCurrency: MATIC,\r\n explorer: 'https://mumbai.polygonscan.com/tx',\r\n wait: 1,\r\n isTestnet: true,\r\n icon: 'Polygon',\r\n },\r\n};\r\nfunction isExtendedChainInformation(chainInformation) {\r\n return !!chainInformation.nativeCurrency;\r\n}\r\nexport function getAddChainParameters(chainId) {\r\n const chainInformation = CHAINS[chainId];\r\n if (isExtendedChainInformation(chainInformation)) {\r\n return {\r\n chainId,\r\n chainName: chainInformation.name,\r\n nativeCurrency: chainInformation.nativeCurrency,\r\n rpcUrls: chainInformation.urls,\r\n };\r\n }\r\n return chainId;\r\n}\r\nexport const URLS = Object.keys(CHAINS).reduce((accumulator, chainId) => {\r\n const validURLs = CHAINS[Number(chainId)].urls;\r\n if (validURLs.length) {\r\n accumulator[Number(chainId)] = validURLs;\r\n }\r\n return accumulator;\r\n}, {});\r\nexport const getWalletAddressAbbr = (address) => {\r\n if (!address) {\r\n return address;\r\n }\r\n const { length } = address;\r\n return `${address.slice(0, 6)}...${address.slice(length - 4, length)}`;\r\n};\r\n/**\r\n * Returns the input chain ID if chain is supported. If not, return undefined\r\n * @param chainId a chain ID, which will be returned if it is a supported chain ID\r\n */\r\nexport function supportedChainId(chainId) {\r\n if (typeof chainId === 'number' && chainId in ChainEnum) {\r\n return chainId;\r\n }\r\n return undefined;\r\n}\r\n//# sourceMappingURL=chain.js.map","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export const EARejectReason = 'Your wallet does not meet qualifications';\r\nexport const EARejectMessage = 'Based on your wallet transaction history your application was not approved.';\r\nexport const EARejectMessageWithAllowList = 'Based on your wallet transaction history your application was not approved. On Goerli testnet, you can join the allowlist and continue testing.';\r\n//# sourceMappingURL=const.js.map","/* eslint-disable max-classes-per-file */\r\nimport { EARejectMessage } from './const';\r\nexport const DEFAULT_ERROR_HEADER = `Please refresh the page and try again.`;\r\nexport const DEFAULT_ERROR_ACTION = `Reload the page`;\r\nexport class WidgetError extends Error {\r\n constructor(config) {\r\n var _a, _b;\r\n super(config.message);\r\n this.dismissable = false;\r\n this.header = (_a = config.header) !== null && _a !== void 0 ? _a : DEFAULT_ERROR_HEADER;\r\n this.action = (_b = config.action) !== null && _b !== void 0 ? _b : DEFAULT_ERROR_ACTION;\r\n }\r\n}\r\nexport class IntegrationError extends WidgetError {\r\n constructor(message) {\r\n super({ message });\r\n this.name = 'IntegrationError';\r\n }\r\n}\r\nclass ConnectionError extends WidgetError {\r\n constructor(config) {\r\n super(config);\r\n this.name = 'ConnectionError';\r\n }\r\n}\r\nexport class MetaMaskConnectionError extends ConnectionError {\r\n constructor() {\r\n super({\r\n header: `Wallet disconnected`,\r\n action: `Reload`,\r\n message: `'A Metamask error caused your wallet to disconnect. Reload the page to reconnect.'`,\r\n });\r\n }\r\n}\r\nexport class EARejectionError extends Error {\r\n constructor() {\r\n super(EARejectMessage);\r\n }\r\n}\r\n//# sourceMappingURL=errors.js.map","import { Connector, } from '@web3-react/types';\r\nfunction parseChainId(chainId) {\r\n return Number.parseInt(chainId, 16);\r\n}\r\nexport class JsonRpcConnector extends Connector {\r\n constructor({ actions, provider, onError, }) {\r\n super(actions, onError);\r\n this.customProvider = provider\r\n .on('connect', ({ chainId }) => {\r\n this.actions.update({ chainId: parseChainId(chainId) });\r\n })\r\n .on('disconnect', (error) => {\r\n var _a;\r\n (_a = this.onError) === null || _a === void 0 ? void 0 : _a.call(this, error);\r\n this.actions.resetState();\r\n })\r\n .on('chainChanged', (chainId) => {\r\n this.actions.update({ chainId: parseChainId(chainId) });\r\n })\r\n .on('accountsChanged', (accounts) => {\r\n this.actions.update({ accounts });\r\n });\r\n }\r\n async activate() {\r\n this.actions.startActivation();\r\n try {\r\n const [{ chainId }, accounts] = await Promise.all([\r\n this.customProvider.getNetwork(),\r\n this.customProvider.listAccounts(),\r\n ]);\r\n this.actions.update({ chainId, accounts });\r\n }\r\n catch (e) {\r\n this.actions.resetState();\r\n throw e;\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=JsonRpcConnector.js.map","import getPrototypeOf from \"./getPrototypeOf.js\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}","import superPropBase from \"./superPropBase.js\";\nexport default function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n };\n }\n return _get.apply(this, arguments);\n}","/* eslint-disable max-classes-per-file */\r\nimport { URI_AVAILABLE, WalletConnect, } from '@web3-react/walletconnect';\r\nimport QRCode from 'qrcode';\r\nexport class WalletConnectPopup extends WalletConnect {\r\n constructor({ actions, options, defaultChainId, timeout, onError, }) {\r\n super({\r\n actions,\r\n options: Object.assign(Object.assign({}, options), { qrcode: true }),\r\n defaultChainId,\r\n timeout,\r\n onError,\r\n });\r\n }\r\n}\r\nexport class WalletConnectQR extends WalletConnect {\r\n constructor({ actions, options, defaultChainId, timeout, onError, }) {\r\n super({\r\n actions,\r\n options: Object.assign(Object.assign({}, options), { qrcode: false }),\r\n defaultChainId,\r\n timeout,\r\n onError,\r\n });\r\n this.events.once(URI_AVAILABLE, () => {\r\n var _a;\r\n (_a = this.provider) === null || _a === void 0 ? void 0 : _a.connector.on('disconnect', () => {\r\n this.deactivate();\r\n });\r\n });\r\n this.events.on(URI_AVAILABLE, async (uri) => {\r\n this.svg = undefined;\r\n if (!uri)\r\n return;\r\n this.svg = await QRCode.toString(uri, {\r\n // Leave a margin to increase contrast in dark mode.\r\n margin: 1,\r\n // Use 55*2=110 for the width to prevent distortion. The generated viewbox is \"0 0 55 55\".\r\n width: 110,\r\n type: 'svg',\r\n });\r\n this.events.emit(WalletConnectQR.SVG_AVAILABLE, this.svg);\r\n });\r\n }\r\n deactivate() {\r\n this.events.emit(URI_AVAILABLE);\r\n return super.deactivate();\r\n }\r\n}\r\nWalletConnectQR.SVG_AVAILABLE = 'svg_available';\r\n//# sourceMappingURL=WalletConnect.js.map","import { useCallback, useState } from 'react';\r\n/**\r\n * Throws an error from outside of the React lifecycle.\r\n * Errors thrown through this method will correctly trigger the ErrorBoundary.\r\n *\r\n * @example\r\n * const throwError = useAsyncError()\r\n * useEffect(() => {\r\n * fetch('http://example.com')\r\n * .catch((e: Error) => {\r\n * throwError(toWidgetError(e))\r\n * })\r\n * }, [throwError])\r\n */\r\nexport function useAsyncError() {\r\n const [, setError] = useState();\r\n return useCallback((error) => setError(() => {\r\n if (error instanceof Error)\r\n throw error;\r\n throw new Error(error);\r\n }), []);\r\n}\r\n//# sourceMappingURL=useAsyncError.js.map","import React, { createContext, useContext, useEffect, } from 'react';\r\nimport { useWeb3React } from '@web3-react/core';\r\nimport invariant from 'tiny-invariant';\r\nconst ConnectorsContext = createContext(null);\r\nexport function Provider({ connectors, children, }) {\r\n const { chainId, connector } = useWeb3React();\r\n // The network chainId must be kept synchronized to avoid a loop when disconnecting and for a better UX.\r\n useEffect(() => {\r\n if (connector !== connectors.network) {\r\n try {\r\n connectors.network.activate(chainId);\r\n }\r\n catch (e) {\r\n // Unknown chains (eg hardhat) will fail to connect, and should not crash\r\n }\r\n }\r\n }, [chainId, connector, connectors.network]);\r\n return (React.createElement(ConnectorsContext.Provider, { value: connectors }, children));\r\n}\r\nexport default function useConnectors() {\r\n const connectors = useContext(ConnectorsContext);\r\n invariant(connectors, 'useConnectors used without initializing the context');\r\n return connectors;\r\n}\r\n//# sourceMappingURL=useConnectors.js.map","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import { ChainEnum } from './chain';\r\n/**\r\n * Fallback JSON RPC endpoints.\r\n * These are used if the integrator does not provide an endpoint, or if the endpoint does not work.\r\n *\r\n * MetaMask allows switching to any URL, but displays a warning if it is not on the \"Safe\" list:\r\n * https://github.com/MetaMask/metamask-mobile/blob/bdb7f37c90e4fc923881a07fca38d4e77c73a579/app/core/RPCMethods/wallet_addEthereumChain.js#L228-L235\r\n * https://chainid.network/chains.json\r\n *\r\n * These \"Safe\" URLs are listed first, followed by other fallback URLs, which are taken from chainlist.org.\r\n */\r\nexport const JSON_RPC_FALLBACK_ENDPOINTS = {\r\n [ChainEnum.Goerli]: [\r\n // \"Safe\" URLs\r\n 'https://rpc.goerli.mudit.blog/',\r\n // \"Fallback\" URLs\r\n 'https://rpc.ankr.com/eth_goerli',\r\n ],\r\n [ChainEnum.Mumbai]: [\r\n // \"Safe\" URLs\r\n 'https://rpc.ankr.com/polygon_mumbai',\r\n ],\r\n [ChainEnum.Polygon]: [\r\n // \"Safe\" URLs\r\n 'https://polygon-rpc.com/',\r\n ],\r\n};\r\n//# sourceMappingURL=jsonRpcEndpoints.js.map","import React, { createContext, useContext, useMemo, } from 'react';\r\nimport { JsonRpcProvider, StaticJsonRpcProvider, } from '@ethersproject/providers';\r\nimport { ChainEnum } from '../../utils/chain';\r\nimport { JSON_RPC_FALLBACK_ENDPOINTS } from '../../utils/jsonRpcEndpoints';\r\nconst JsonRpcUrlMapContext = createContext(undefined);\r\nexport function Provider({ jsonRpcMap, children, }) {\r\n return (React.createElement(JsonRpcUrlMapContext.Provider, { value: jsonRpcMap }, children));\r\n}\r\nexport default function useJsonRpcUrlsMap() {\r\n const jsonRpcMap = useContext(JsonRpcUrlMapContext);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n return useMemo(() => toJsonRpcUrlsMap(jsonRpcMap), [jsonRpcMap]);\r\n}\r\nfunction toJsonRpcMap(getChainConnections) {\r\n return {\r\n [ChainEnum.Goerli]: getChainConnections(ChainEnum.Goerli),\r\n [ChainEnum.Polygon]: getChainConnections(ChainEnum.Polygon),\r\n [ChainEnum.Mumbai]: getChainConnections(ChainEnum.Mumbai),\r\n };\r\n}\r\nfunction getChainConnections(connectionMap, chainId) {\r\n const value = connectionMap === null || connectionMap === void 0 ? void 0 : connectionMap[chainId];\r\n return (Array.isArray(value) ? value : [value])\r\n .filter((value) => Boolean(value))\r\n .concat(...JSON_RPC_FALLBACK_ENDPOINTS[chainId]);\r\n}\r\nexport function toJsonRpcConnectionMap(connectionMap) {\r\n function getJsonRpcProvider(chainId) {\r\n const [connection] = getChainConnections(connectionMap, chainId);\r\n return JsonRpcProvider.isProvider(connection)\r\n ? connection\r\n : new StaticJsonRpcProvider(connection, Number(chainId));\r\n }\r\n return toJsonRpcMap(getJsonRpcProvider);\r\n}\r\nexport function toJsonRpcUrlMap(connectionMap) {\r\n function getJsonRpcUrl(chainId) {\r\n const [connection] = getChainConnections(connectionMap, chainId);\r\n return JsonRpcProvider.isProvider(connection)\r\n ? connection.connection.url\r\n : connection;\r\n }\r\n return toJsonRpcMap(getJsonRpcUrl);\r\n}\r\nexport function toJsonRpcUrlsMap(connectionMap) {\r\n function getJsonRpcUrls(chainId) {\r\n const connections = getChainConnections(connectionMap, chainId);\r\n return connections.map((connection) => JsonRpcProvider.isProvider(connection)\r\n ? connection.connection.url\r\n : connection);\r\n }\r\n return toJsonRpcMap(getJsonRpcUrls);\r\n}\r\n//# sourceMappingURL=useJsonRpcUrlsMap.js.map","import React, { useEffect, useMemo, useRef } from 'react';\r\nimport { JsonRpcProvider } from '@ethersproject/providers';\r\nimport { initializeConnector, Web3ReactProvider, } from '@web3-react/core';\r\nimport { EIP1193 } from '@web3-react/eip1193';\r\nimport { MetaMask } from '@web3-react/metamask';\r\nimport { Network } from '@web3-react/network';\r\nimport { ChainEnum, supportedChainId } from '../../utils/chain';\r\nimport { MetaMaskConnectionError } from '../../utils/errors';\r\nimport { JsonRpcConnector } from '../../utils/JsonRpcConnector';\r\nimport { WalletConnectPopup, WalletConnectQR } from '../../utils/WalletConnect';\r\nimport { useAsyncError } from '../useAsyncError';\r\nimport { Provider as ConnectorsProvider } from './useConnectors';\r\nimport { Provider as JsonRpcUrlMapProvider, toJsonRpcConnectionMap, toJsonRpcUrlMap, } from './useJsonRpcUrlsMap';\r\nconst DEFAULT_CHAIN_ID = ChainEnum.Goerli;\r\nexport function Provider({ defaultChainId: chainId = ChainEnum.Goerli, jsonRpcUrlMap, provider, children, }) {\r\n const defaultChainId = useMemo(() => {\r\n if (!supportedChainId(chainId)) {\r\n console.warn(`Unsupported chainId: ${chainId}. Falling back to ${DEFAULT_CHAIN_ID} (${ChainEnum[DEFAULT_CHAIN_ID]}).`);\r\n return DEFAULT_CHAIN_ID;\r\n }\r\n return chainId;\r\n }, [chainId]);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n const web3ReactConnectors = useWeb3ReactConnectors({\r\n provider,\r\n jsonRpcUrlMap,\r\n defaultChainId,\r\n });\r\n const key = useRef(0);\r\n const prioritizedConnectors = useMemo(() => {\r\n // Re-key Web3ReactProvider before rendering new connectors, as it expects connectors to be\r\n // referentially static.\r\n key.current += 1;\r\n const prioritizedConnectors = [\r\n web3ReactConnectors.user,\r\n web3ReactConnectors.metaMask,\r\n web3ReactConnectors.walletConnect,\r\n web3ReactConnectors.walletConnectQR,\r\n web3ReactConnectors.network,\r\n ];\r\n return prioritizedConnectors.filter((connector) => Boolean(connector));\r\n }, [web3ReactConnectors]);\r\n const connectors = useMemo(() => {\r\n var _a;\r\n return ({\r\n user: (_a = web3ReactConnectors.user) === null || _a === void 0 ? void 0 : _a[0],\r\n metaMask: web3ReactConnectors.metaMask[0],\r\n walletConnect: web3ReactConnectors.walletConnect[0],\r\n walletConnectQR: web3ReactConnectors.walletConnectQR[0],\r\n network: web3ReactConnectors.network[0],\r\n });\r\n }, [web3ReactConnectors]);\r\n const shouldEagerlyConnect = provider === undefined; // !== null\r\n useEffect(() => {\r\n // Ignore any errors during connection so they do not propagate to the widget.\r\n if (connectors.user) {\r\n connectors.user.activate().catch(() => undefined);\r\n return;\r\n }\r\n if (shouldEagerlyConnect) {\r\n const eagerConnectors = [connectors.metaMask, connectors.walletConnect];\r\n eagerConnectors.forEach((connector) => connector.connectEagerly().catch(() => undefined));\r\n }\r\n connectors.network.activate().catch(() => undefined);\r\n }, [\r\n connectors.metaMask,\r\n connectors.network,\r\n connectors.user,\r\n connectors.walletConnect,\r\n shouldEagerlyConnect,\r\n ]);\r\n return (React.createElement(Web3ReactProvider, { connectors: prioritizedConnectors, key: key.current },\r\n React.createElement(JsonRpcUrlMapProvider, { jsonRpcMap: jsonRpcUrlMap },\r\n React.createElement(ConnectorsProvider, { connectors: connectors }, children))));\r\n}\r\nfunction initializeWeb3ReactConnector(Constructor, options) {\r\n const [connector, hooks] = initializeConnector(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (actions) => new Constructor(Object.assign({ actions }, options)));\r\n if (options && 'provider' in options) {\r\n // Short-circuit provider selection to improve performance and testability.\r\n // Without doing so, provider will be unavailable for a frame.\r\n hooks.useProvider = (() => options\r\n .provider);\r\n }\r\n return [connector, hooks];\r\n}\r\nfunction useWeb3ReactConnectors({ defaultChainId, provider, jsonRpcUrlMap, }) {\r\n const [urlMap, connectionMap] = useMemo(() => [\r\n toJsonRpcUrlMap(jsonRpcUrlMap),\r\n toJsonRpcConnectionMap(jsonRpcUrlMap),\r\n ], [jsonRpcUrlMap]);\r\n const throwAsync = useAsyncError();\r\n const user = useMemo(() => {\r\n if (!provider)\r\n return;\r\n if (JsonRpcProvider.isProvider(provider)) {\r\n // eslint-disable-next-line consistent-return\r\n return initializeWeb3ReactConnector(JsonRpcConnector, {\r\n provider,\r\n onError: console.error,\r\n });\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (JsonRpcProvider.isProvider(provider.provider)) {\r\n throw new Error('Eip1193Bridge is experimental: pass your ethers Provider directly');\r\n }\r\n else {\r\n // eslint-disable-next-line consistent-return\r\n return initializeWeb3ReactConnector(EIP1193, {\r\n provider,\r\n onError: console.error,\r\n });\r\n }\r\n }, [provider]);\r\n const metaMask = useMemo(() => initializeWeb3ReactConnector(MetaMask, {\r\n onError: () => {\r\n throwAsync(new MetaMaskConnectionError());\r\n },\r\n }), [throwAsync]);\r\n const walletConnect = useMemo(() => initializeWeb3ReactConnector(WalletConnectPopup, {\r\n options: { rpc: urlMap },\r\n defaultChainId,\r\n onError: console.error,\r\n }), [defaultChainId, urlMap]);\r\n const walletConnectQR = useMemo(() => initializeWeb3ReactConnector(WalletConnectQR, {\r\n options: { rpc: urlMap },\r\n defaultChainId,\r\n onError: console.error,\r\n }), [defaultChainId, urlMap]);\r\n const network = useMemo(() => initializeWeb3ReactConnector(Network, {\r\n urlMap: connectionMap,\r\n defaultChainId,\r\n }), [connectionMap, defaultChainId]);\r\n return useMemo(() => ({\r\n user,\r\n metaMask,\r\n walletConnect,\r\n walletConnectQR,\r\n network,\r\n }), [metaMask, network, user, walletConnect, walletConnectQR]);\r\n}\r\n//# sourceMappingURL=index.js.map","import BASE_CREDIT_POOL_ABI from '../abis/BaseCreditPool.json';\r\nimport BASE_POOL_CONFIG_ABI from '../abis/BasePoolConfig.json';\r\nimport HDT_ABI from '../abis/HDT.json';\r\nimport RECEIVABLE_FACTORING_POOL_ABI from '../abis/ReceivableFactoringPool.json';\r\nimport STEAM_FACTORING_POOL_ABI from '../abis/StreamFactoringPool.json';\r\nimport TRADABLE_STREAM_ABI from '../abis/TradableStream.json';\r\nimport { ChainEnum } from './chain';\r\nexport var POOL_NAME;\r\n(function (POOL_NAME) {\r\n POOL_NAME[\"RequestNetwork\"] = \"RequestNetwork\";\r\n POOL_NAME[\"HumaCreditLine\"] = \"HumaCreditLine\";\r\n POOL_NAME[\"Superfluid\"] = \"Superfluid\";\r\n POOL_NAME[\"Jia\"] = \"Jia\";\r\n})(POOL_NAME || (POOL_NAME = {}));\r\nexport var POOL_TYPE;\r\n(function (POOL_TYPE) {\r\n POOL_TYPE[\"Invoice\"] = \"Invoice\";\r\n POOL_TYPE[\"CreditLine\"] = \"CreditLine\";\r\n POOL_TYPE[\"Stream\"] = \"Stream\";\r\n})(POOL_TYPE || (POOL_TYPE = {}));\r\nexport const PoolMap = {\r\n [POOL_TYPE.CreditLine]: {\r\n [POOL_NAME.HumaCreditLine]: {\r\n name: 'Huma Credit Line',\r\n borrowDesc: 'Credit lines backed by your future crypto income. Only available to the members of partner DAOs during beta.',\r\n lendDesc: 'Earn active yield by participating in credit lines backed by on-chain income. Only available to the members of partner DAOs during beta.',\r\n },\r\n [POOL_NAME.Jia]: {\r\n name: 'Jia Pioneer Pool',\r\n borrowDesc: 'Jia portal to borrow from the pool.',\r\n lendDesc: \"Earn active yield by participating in Jia's lending pool. Only available to partners approved by Jia.\",\r\n },\r\n },\r\n [POOL_TYPE.Invoice]: {\r\n [POOL_NAME.RequestNetwork]: {\r\n name: 'Request Network',\r\n borrowDesc: 'Invoice factoring for your crypto invoices, up to 80% of their value. Only available to select invoicing platforms.',\r\n lendDesc: 'Earn active yield by participating in this crypto invoice factoring market where loans are backed by collateralized invoice NFTs and paid back automatically when the invoice is paid.',\r\n },\r\n },\r\n [POOL_TYPE.Stream]: {\r\n [POOL_NAME.Superfluid]: {\r\n name: 'Superfluid',\r\n borrowDesc: 'Stream factoring for your crypto streams, up to 100% of their value. Only available to select streaming platforms.',\r\n lendDesc: 'Earn active yield by participating in this crypto stream factoring market where loans are backed by collateralized streaming assets and paid back automatically every moment.',\r\n },\r\n },\r\n};\r\nexport const PoolContractMap = {\r\n [ChainEnum.Polygon]: {\r\n subgraph: 'https://api.thegraph.com/subgraphs/name/00labs/huma-polygon',\r\n [POOL_TYPE.CreditLine]: {\r\n [POOL_NAME.HumaCreditLine]: {\r\n basePoolConfig: '0x39f7D6040EC30B62c508723e2EDb822413837527',\r\n pool: '0xAb3dc5221F373Dd879BEc070058c775A0f6Af759',\r\n poolFeeManager: '0x65C5535735581039c5711A9d7c223cff9384334F',\r\n poolUnderlyingToken: {\r\n address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',\r\n symbol: 'USDC',\r\n decimals: 6,\r\n icon: 'USDC',\r\n },\r\n poolName: POOL_NAME.HumaCreditLine,\r\n poolType: POOL_TYPE.CreditLine,\r\n poolAbi: BASE_CREDIT_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n HDT: {\r\n address: '0x73c16Db24951135BC8A628185BdbfA79115793E5',\r\n abi: HDT_ABI,\r\n },\r\n },\r\n },\r\n [POOL_TYPE.Invoice]: {\r\n [POOL_NAME.RequestNetwork]: {\r\n basePoolConfig: '0x98f41d57C06b302AFf999f3F58f4ae7a3F884590',\r\n pool: '0x58AAF1f9cB10F335111A2129273056bbED251B61',\r\n poolFeeManager: '0x5B7841b94a3C7246662ef514745b034A6ceaAB15',\r\n poolUnderlyingToken: {\r\n address: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',\r\n symbol: 'USDC',\r\n decimals: 6,\r\n icon: 'USDC',\r\n },\r\n assetAddress: '0xA9930c8e4638D9a96a3B73e7ABe73a636F986323',\r\n poolName: POOL_NAME.RequestNetwork,\r\n poolType: POOL_TYPE.Invoice,\r\n poolAbi: RECEIVABLE_FACTORING_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n HDT: {\r\n address: '0xf5F9297c74e464933e42F4a989e81D931fb20f83',\r\n abi: HDT_ABI,\r\n },\r\n },\r\n },\r\n },\r\n [ChainEnum.Goerli]: {\r\n subgraph: 'https://api.studio.thegraph.com/query/35118/huma-credit-lines-dev/4',\r\n [POOL_TYPE.CreditLine]: {\r\n [POOL_NAME.HumaCreditLine]: {\r\n basePoolConfig: '0x0d7bae0e14aF194e52Ea2472737b24044fe6e929',\r\n pool: '0xA22D20FB0c9980fb96A9B0B5679C061aeAf5dDE4',\r\n poolFeeManager: '0x673b3C1094AE941bb4b2eF9377DaFE3bcCc4b003',\r\n poolUnderlyingToken: {\r\n address: '0xf17FF940864351631b1be3ac03702dEA085ba51c',\r\n symbol: 'USDC',\r\n decimals: 6,\r\n icon: 'USDC',\r\n },\r\n poolName: POOL_NAME.HumaCreditLine,\r\n poolType: POOL_TYPE.CreditLine,\r\n poolAbi: BASE_CREDIT_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n HDT: {\r\n address: '0x61341186E8C3B7cC0De66ae86C65943797C8Fb99',\r\n abi: HDT_ABI,\r\n },\r\n },\r\n [POOL_NAME.Jia]: {\r\n basePoolConfig: '0x9b8513bF9A56E609e66F360B550b7c8724129a05',\r\n pool: '0x07fd5720FE4d7993550d147c8753A9e60b45940D',\r\n poolFeeManager: '0x4630ceAedb030b6ad1DCa0E58c3576aa33042b4C',\r\n poolUnderlyingToken: {\r\n address: '0xf17FF940864351631b1be3ac03702dEA085ba51c',\r\n symbol: 'USDC',\r\n decimals: 6,\r\n icon: 'USDC',\r\n },\r\n poolName: POOL_NAME.Jia,\r\n poolType: POOL_TYPE.CreditLine,\r\n poolAbi: BASE_CREDIT_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n HDT: {\r\n address: '0xAD5e1F01618A2A158097C21866B4e8DCEEA2aC25',\r\n abi: HDT_ABI,\r\n },\r\n },\r\n },\r\n [POOL_TYPE.Invoice]: {\r\n [POOL_NAME.RequestNetwork]: {\r\n basePoolConfig: '0xBa779F41ae414dEc63265D79a02DED47fbe007a5',\r\n pool: '0x11672c0bBFF498c72BC2200f42461c0414855042',\r\n poolFeeManager: '0x7BA6B8eBC9b09c228582814D44D4a0F2B6B0B9E4',\r\n poolUnderlyingToken: {\r\n address: '0xf17FF940864351631b1be3ac03702dEA085ba51c',\r\n symbol: 'USDC',\r\n decimals: 6,\r\n icon: 'USDC',\r\n },\r\n assetAddress: '0xC2AC172a293d68f548ea343414584aA37eb29Dcd',\r\n poolName: POOL_NAME.RequestNetwork,\r\n poolType: POOL_TYPE.Invoice,\r\n poolAbi: RECEIVABLE_FACTORING_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n HDT: {\r\n address: '0x27Fa332a5cA06492C2007FF4b143C921Cf779C3b',\r\n abi: HDT_ABI,\r\n },\r\n },\r\n },\r\n },\r\n [ChainEnum.Mumbai]: {\r\n subgraph: 'https://api.thegraph.com/subgraphs/name/00labs/huma-mumbai',\r\n [POOL_TYPE.Stream]: {\r\n [POOL_NAME.Superfluid]: {\r\n basePoolConfig: '0x7a0e73caFAd99f7E108dafE9d11b8fEF08F5dca7',\r\n pool: '0x04595eA2AbA2288bDa9CC4115747C7568Ab1b413',\r\n poolFeeManager: '0xCA9dc7a29Bb4cf8C7b7799909b869a511924652F',\r\n poolUnderlyingToken: {\r\n address: '0xbe49ac1EadAc65dccf204D4Df81d650B50122aB2',\r\n symbol: 'USDC',\r\n decimals: 18,\r\n icon: 'USDC',\r\n },\r\n assetAddress: '0xCF7aDFB1596127639b721c0E7aa2C0849F3AA94D',\r\n poolName: POOL_NAME.Superfluid,\r\n poolType: POOL_TYPE.Stream,\r\n poolAbi: STEAM_FACTORING_POOL_ABI,\r\n basePoolConfigAbi: BASE_POOL_CONFIG_ABI,\r\n poolAssetAbi: TRADABLE_STREAM_ABI,\r\n HDT: {\r\n address: '0xF8e5e75489AC2d1D4f8460Ea558E5B073fb8CbD0',\r\n abi: HDT_ABI,\r\n },\r\n extra: {\r\n subgraph: 'https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-mumbai',\r\n superTokens: [\r\n {\r\n id: '0x42bb40bf79730451b11f6de1cba222f17b87afd7',\r\n symbol: 'fUSDCx',\r\n decimals: 18,\r\n },\r\n ],\r\n },\r\n },\r\n },\r\n },\r\n};\r\nexport var SupplementaryContracts;\r\n(function (SupplementaryContracts) {\r\n SupplementaryContracts[\"MultiSend\"] = \"MultiSend\";\r\n SupplementaryContracts[\"BaseCreditPoolReceivable\"] = \"BaseCreditPoolReceivable\";\r\n})(SupplementaryContracts || (SupplementaryContracts = {}));\r\nexport const SupplementaryContractsMap = {\r\n [ChainEnum.Goerli]: {\r\n [SupplementaryContracts.MultiSend]: '0x11ED387Fa673852Ba47F96Aa9BEdE37F12De2998',\r\n [SupplementaryContracts.BaseCreditPoolReceivable]: '0xC7dCD237A6212160Eb502127C455B1A053aC09fD',\r\n },\r\n [ChainEnum.Mumbai]: {\r\n [SupplementaryContracts.MultiSend]: '0xBf6cefB0926D87151C793bc3BEDd18d7FE306d8f',\r\n },\r\n};\r\n//# sourceMappingURL=pool.js.map","export var CreditState;\r\n(function (CreditState) {\r\n CreditState[CreditState[\"Deleted\"] = 0] = \"Deleted\";\r\n CreditState[CreditState[\"Requested\"] = 1] = \"Requested\";\r\n CreditState[CreditState[\"Approved\"] = 2] = \"Approved\";\r\n CreditState[CreditState[\"GoodStanding\"] = 3] = \"GoodStanding\";\r\n CreditState[CreditState[\"Delayed\"] = 4] = \"Delayed\";\r\n CreditState[CreditState[\"Defaulted\"] = 5] = \"Defaulted\";\r\n})(CreditState || (CreditState = {}));\r\nexport const hasRFActiveLoan = (creditRecord, receivableInfo) => {\r\n if (creditRecord === undefined || receivableInfo === undefined) {\r\n return false;\r\n }\r\n let accountHasActiveLoan = creditRecord.state >= CreditState.GoodStanding &&\r\n receivableInfo.receivableParam.gt(0);\r\n if (accountHasActiveLoan && creditRecord.state === CreditState.Approved) {\r\n accountHasActiveLoan = false;\r\n }\r\n return accountHasActiveLoan;\r\n};\r\nexport var CreditEvent;\r\n(function (CreditEvent) {\r\n CreditEvent[CreditEvent[\"LiquidityDeposited\"] = 0] = \"LiquidityDeposited\";\r\n CreditEvent[CreditEvent[\"LiquidityWithdrawn\"] = 1] = \"LiquidityWithdrawn\";\r\n CreditEvent[CreditEvent[\"DrawdownMade\"] = 2] = \"DrawdownMade\";\r\n CreditEvent[CreditEvent[\"DrawdownMadeWithReceivable\"] = 3] = \"DrawdownMadeWithReceivable\";\r\n CreditEvent[CreditEvent[\"PaymentMade\"] = 4] = \"PaymentMade\";\r\n CreditEvent[CreditEvent[\"ReceivedPaymentProcessed\"] = 5] = \"ReceivedPaymentProcessed\";\r\n})(CreditEvent || (CreditEvent = {}));\r\nexport const CreditEventText = {\r\n [String(CreditEvent.DrawdownMade)]: 'Borrow',\r\n [String(CreditEvent.DrawdownMadeWithReceivable)]: 'Factoring',\r\n [String(CreditEvent.PaymentMade)]: 'Pay',\r\n [String(CreditEvent.ReceivedPaymentProcessed)]: 'Pay',\r\n};\r\n//# sourceMappingURL=credit.js.map","// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const isEmpty = (value) => value === undefined || value === null;\r\nexport const openInNewTab = (url) => {\r\n // @ts-ignore\r\n window.open(url, '_blank').focus();\r\n};\r\nexport const sleep = (ms) => \r\n// eslint-disable-next-line no-promise-executor-return\r\nnew Promise((resolve) => setTimeout(resolve, ms));\r\nexport const isIframe = () => window !== window.parent;\r\n//# sourceMappingURL=common.js.map","/* eslint-disable no-plusplus */\r\n/* eslint-disable @typescript-eslint/no-use-before-define */\r\n/* eslint-disable radix */\r\n/* eslint-disable prefer-destructuring */\r\n// @ts-nocheck\r\n// github.com/jam3/scientific-to-decimal\r\nexport const scientificToDecimal = (value) => {\r\n value = parseFloat(value);\r\n const REGEX_SCIENTIFIC = /(\\d+\\.?\\d*)e\\d*(\\+|-)(\\d+)/;\r\n const valueString = value.toString();\r\n let result = REGEX_SCIENTIFIC.exec(valueString);\r\n let base;\r\n let positiveNegative;\r\n let exponents;\r\n let precision;\r\n let rVal;\r\n // is scientific\r\n if (result) {\r\n // [ '1e+32', '1', '+', '2', index: 0, input: '1e+32' ]\r\n base = result[1];\r\n positiveNegative = result[2];\r\n exponents = result[3];\r\n if (positiveNegative === '+') {\r\n precision = parseInt(exponents);\r\n // base is a decimal\r\n if (base.indexOf('.') !== -1) {\r\n result = /(\\d+\\.)(\\d)/.exec(base);\r\n // [ 2 ] == right side after decimal\r\n // [ 1 ] == left side before decimal\r\n precision -= result[2].length + result[1].length;\r\n rVal = base.split('.').join('') + getZeros(precision);\r\n }\r\n else {\r\n rVal = base + getZeros(precision);\r\n }\r\n }\r\n else {\r\n precision = base.length + parseInt(exponents) - 1;\r\n // if it contains a period we want to drop precision by one\r\n if (base.indexOf('.') !== -1) {\r\n precision--;\r\n }\r\n rVal = value.toFixed(precision);\r\n }\r\n }\r\n else {\r\n rVal = value.toString();\r\n }\r\n return rVal;\r\n};\r\nfunction getZeros(count) {\r\n let rVal = '';\r\n for (let i = 0; i < count; i++) {\r\n rVal += '0';\r\n }\r\n return rVal;\r\n}\r\n//# sourceMappingURL=scientificToDecimal.js.map","import { BigNumber, ethers } from 'ethers';\r\nimport { isEmpty } from './common';\r\nimport { scientificToDecimal } from './scientificToDecimal';\r\nconst formatter = new Intl.NumberFormat('en-US', {\r\n style: 'currency',\r\n currency: 'USD',\r\n});\r\nexport const formatMoney = (num) => {\r\n if (isEmpty(num) || Number.isNaN(num)) {\r\n return num;\r\n }\r\n return formatter.format(Number(num));\r\n};\r\nexport const downScale = (num, decimals) => {\r\n if (isEmpty(num) || isEmpty(decimals)) {\r\n return num;\r\n }\r\n if (typeof num === 'string') {\r\n // eslint-disable-next-line prefer-destructuring\r\n num = num.split('.')[0];\r\n }\r\n const result = ethers.utils.formatUnits(num, decimals);\r\n if (typeof num === 'number') {\r\n return Number(result);\r\n }\r\n return result;\r\n};\r\nexport const upScale = (num, decimals) => {\r\n if (isEmpty(num) || isEmpty(decimals)) {\r\n return num;\r\n }\r\n const result = Number(num) * 10 ** decimals;\r\n if (typeof num === 'string') {\r\n return String(result);\r\n }\r\n return result;\r\n};\r\n// BigNumber.from needs the parameter to be integer otherwise it will throw error\r\n// Create this help function to make sure passing integer to BigNumber.from\r\nexport const toBigNumber = (num) => {\r\n const numStr = scientificToDecimal(num);\r\n try {\r\n return BigNumber.from(numStr);\r\n }\r\n catch (e) {\r\n return BigNumber.from(Number(numStr).toFixed(0));\r\n }\r\n};\r\n//# sourceMappingURL=number.js.map","import { Contract } from '@ethersproject/contracts';\r\nimport { AddressZero } from '@ethersproject/constants';\r\nimport { getAddress } from '@ethersproject/address';\r\n// returns the checksummed address if the address is valid, otherwise returns false\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport function isAddress(value) {\r\n try {\r\n // Alphabetical letters must be made lowercase for getAddress to work.\r\n // See documentation here: https://docs.ethers.io/v5/api/utils/address/\r\n return getAddress(value.toLowerCase());\r\n }\r\n catch (_a) {\r\n return false;\r\n }\r\n}\r\n// account is not optional\r\nfunction getSigner(provider, account) {\r\n return provider.getSigner(account).connectUnchecked();\r\n}\r\n// account is optional\r\nfunction getProviderOrSigner(provider, account) {\r\n return account ? getSigner(provider, account) : provider;\r\n}\r\n// account is optional\r\nexport function getContract(address, \r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nABI, provider, account) {\r\n if (!isAddress(address) || address === AddressZero) {\r\n throw Error(`Invalid 'address' parameter '${address}'.`);\r\n }\r\n return new Contract(address, ABI, \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getProviderOrSigner(provider, account));\r\n}\r\n//# sourceMappingURL=web3.js.map","import { useWeb3React } from '@web3-react/core';\r\nimport { useMemo } from 'react';\r\nimport ERC20_ABI from '../abis/erc20.json';\r\nimport ERC721_ABI from '../abis/erc721.json';\r\nimport MULTISEND_ABI from '../abis/Multisend.json';\r\nimport TEST_ERC20_ABI from '../abis/TestERC20.json';\r\nimport { SupplementaryContracts, SupplementaryContractsMap, } from '../utils/pool';\r\nimport { getContract } from '../utils/web3';\r\n// returns null on errors\r\nexport function useContract(address, \r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nABI, withSignerIfPossible = true) {\r\n const { provider, account, chainId } = useWeb3React();\r\n return useMemo(() => {\r\n if (!address || !ABI || !provider || !chainId)\r\n return null;\r\n try {\r\n return getContract(address, ABI, provider, withSignerIfPossible && account ? account : undefined);\r\n }\r\n catch (error) {\r\n return null;\r\n }\r\n }, [address, ABI, provider, chainId, withSignerIfPossible, account]);\r\n}\r\nexport function useERC20Contract(tokenAddress, withSignerIfPossible) {\r\n return useContract(tokenAddress, ERC20_ABI, withSignerIfPossible);\r\n}\r\nexport function useTestERC20Contract(tokenAddress, withSignerIfPossible) {\r\n return useContract(tokenAddress, TEST_ERC20_ABI, withSignerIfPossible);\r\n}\r\nexport function useERC721Contract(NFTAddress) {\r\n return useContract(NFTAddress, ERC721_ABI, false);\r\n}\r\nexport function useMultiSendContract() {\r\n var _a;\r\n const { chainId } = useWeb3React();\r\n return useContract(chainId\r\n ? (_a = SupplementaryContractsMap[chainId]) === null || _a === void 0 ? void 0 : _a[SupplementaryContracts.MultiSend]\r\n : undefined, MULTISEND_ABI, true);\r\n}\r\n//# sourceMappingURL=useContract.js.map","import { useCallback, useState } from 'react';\r\nexport const useForceRefresh = () => {\r\n const [refreshCount, setRefreshCount] = useState(0);\r\n const refresh = useCallback(() => {\r\n setRefreshCount((pre) => pre + 1);\r\n }, []);\r\n return [refreshCount, refresh];\r\n};\r\n//# sourceMappingURL=useForceRefresh.js.map","import { useWeb3React } from '@web3-react/core';\r\nimport { useEffect } from 'react';\r\nimport { useHistory } from 'react-router';\r\nimport { POOL_NAME, POOL_TYPE, PoolContractMap, } from '../utils/pool';\r\nimport { useParamsSearch } from './useParamsSearch';\r\nexport const usePoolName = () => {\r\n const history = useHistory();\r\n const { poolName } = useParamsSearch();\r\n useEffect(() => {\r\n if (!poolName || !Object.values(POOL_NAME).includes(poolName)) {\r\n history.push('/');\r\n }\r\n }, [history, poolName]);\r\n return poolName;\r\n};\r\nexport const usePoolChainCheck = () => {\r\n const history = useHistory();\r\n const { chainId } = useWeb3React();\r\n const { poolName } = useParamsSearch();\r\n useEffect(() => {\r\n if (chainId && poolName) {\r\n const config = PoolContractMap[chainId];\r\n const poolTypes = Object.keys(POOL_TYPE);\r\n // @ts-ignore\r\n if (poolTypes.every((poolType) => { var _a; return !((_a = config === null || config === void 0 ? void 0 : config[poolType]) === null || _a === void 0 ? void 0 : _a[poolName]); })) {\r\n history.push('/');\r\n }\r\n }\r\n }, [chainId, history, poolName]);\r\n return poolName;\r\n};\r\nexport const usePoolInfo = (poolName, poolType) => {\r\n var _a, _b;\r\n const { chainId } = useWeb3React();\r\n const poolInfo = chainId\r\n ? (_b = (_a = PoolContractMap[chainId]) === null || _a === void 0 ? void 0 : _a[poolType]) === null || _b === void 0 ? void 0 : _b[poolName]\r\n : undefined;\r\n return poolInfo;\r\n};\r\n//# sourceMappingURL=usePool.js.map","import { MaxUint256 } from '@ethersproject/constants';\r\nimport { useWeb3React } from '@web3-react/core';\r\nimport { BigNumber } from 'ethers';\r\nimport { useCallback, useEffect, useState } from 'react';\r\nimport BASE_FEE_MANAGER_ABI from '../abis/BaseFeeManager.json';\r\nimport { CreditState } from '../utils/credit';\r\nimport { downScale, toBigNumber, upScale } from '../utils/number';\r\nimport { PoolContractMap } from '../utils/pool';\r\nimport { useContract, useERC20Contract } from './useContract';\r\nimport { useForceRefresh } from './useForceRefresh';\r\nimport { usePoolInfo } from './usePool';\r\nexport function usePoolContract(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.pool, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAbi);\r\n}\r\nexport function useBaseConfigPoolContract(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfig, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.basePoolConfigAbi);\r\n}\r\nexport function usePoolFeeManagerContract(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolFeeManager, BASE_FEE_MANAGER_ABI);\r\n}\r\nexport function usePoolUnderlyingTokenContract(poolName, poolType) {\r\n var _a;\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useERC20Contract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) === null || _a === void 0 ? void 0 : _a.address);\r\n}\r\nexport function useHDTContract(poolName, poolType) {\r\n var _a, _b;\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useContract((_a = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _a === void 0 ? void 0 : _a.address, (_b = poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.HDT) === null || _b === void 0 ? void 0 : _b.abi);\r\n}\r\nexport function usePoolNFTContract(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return useContract(poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.assetAddress, poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolAssetAbi);\r\n}\r\nexport function usePoolUnderlyingToken(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n return (poolInfo === null || poolInfo === void 0 ? void 0 : poolInfo.poolUnderlyingToken) || {};\r\n}\r\nexport function usePoolUnderlyingTokenBalance(poolName, poolType, account) {\r\n const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);\r\n const [balance, setBalance] = useState(toBigNumber(0));\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (poolUnderlyingTokenContract && account) {\r\n const result = await poolUnderlyingTokenContract.balanceOf(account);\r\n setBalance(result);\r\n }\r\n };\r\n fetchData();\r\n }, [account, poolUnderlyingTokenContract]);\r\n return balance;\r\n}\r\nexport function usePoolBalance(poolName, poolType) {\r\n const poolUnderlyingTokenContract = usePoolUnderlyingTokenContract(poolName, poolType);\r\n const { chainId } = useWeb3React();\r\n const [balance, setBalance] = useState();\r\n const [refreshCount, refresh] = useForceRefresh();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n var _a;\r\n if (chainId && poolUnderlyingTokenContract) {\r\n const { pool } = ((_a = PoolContractMap[chainId][poolType]) === null || _a === void 0 ? void 0 : _a[poolName]) || {};\r\n if (pool) {\r\n const result = await poolUnderlyingTokenContract.balanceOf(pool);\r\n setBalance(result);\r\n }\r\n }\r\n };\r\n fetchData();\r\n }, [chainId, poolName, poolType, poolUnderlyingTokenContract, refreshCount]);\r\n return [balance, refresh];\r\n}\r\nexport function useAccountStats(poolName, poolType, account) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n const poolContract = usePoolContract(poolName, poolType);\r\n const [accountStats, setAccountStats] = useState({\r\n creditRecord: undefined,\r\n creditRecordStatic: undefined,\r\n receivableInfo: undefined,\r\n isApproved: false,\r\n payoffAmount: 0,\r\n principalAmount: 0,\r\n creditAvailableAmount: 0,\r\n totalDueAmount: 0,\r\n });\r\n const [refreshCount, refresh] = useForceRefresh();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (poolContract && account && poolInfo) {\r\n const creditRecord = await poolContract.creditRecordMapping(account);\r\n const creditRecordStatic = await poolContract.creditRecordStaticMapping(account);\r\n let receivableInfo;\r\n if (poolContract.receivableInfoMapping) {\r\n receivableInfo = await poolContract.receivableInfoMapping(account);\r\n }\r\n const isApproved = creditRecord\r\n ? creditRecord.state >= CreditState.Approved\r\n : false;\r\n const payoffWithoutCorrection = creditRecord.unbilledPrincipal.add(creditRecord.totalDue);\r\n const payoff = payoffWithoutCorrection.add(creditRecord.correction);\r\n const principal = payoffWithoutCorrection.sub(creditRecord.feesAndInterestDue);\r\n const creditAvailable = creditRecordStatic.creditLimit.sub(principal);\r\n const { decimals } = poolInfo.poolUnderlyingToken;\r\n setAccountStats({\r\n creditRecord,\r\n creditRecordStatic,\r\n receivableInfo,\r\n isApproved,\r\n payoffAmount: downScale(payoff.toString(), decimals),\r\n principalAmount: downScale(principal.toString(), decimals),\r\n creditAvailableAmount: downScale(creditAvailable.toString(), decimals),\r\n totalDueAmount: downScale(creditRecord.totalDue.toString(), decimals),\r\n });\r\n }\r\n };\r\n fetchData();\r\n }, [account, poolContract, poolInfo, refreshCount]);\r\n return [accountStats, refresh];\r\n}\r\nexport function useCreditRecord(poolName, poolType, account) {\r\n const poolContract = usePoolContract(poolName, poolType);\r\n const checkIsApproved = useCallback(async () => {\r\n if (poolContract && account) {\r\n const creditRecord = await poolContract.creditRecordMapping(account);\r\n const isApproved = creditRecord\r\n ? creditRecord.state >= CreditState.Approved\r\n : false;\r\n return isApproved;\r\n }\r\n return false;\r\n }, [account, poolContract]);\r\n return { checkIsApproved };\r\n}\r\nexport function useFeeManager(poolName, poolType) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n const feeManagerContract = usePoolFeeManagerContract(poolName, poolType);\r\n const [fees, setFees] = useState();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (feeManagerContract) {\r\n const result = await feeManagerContract.getFees();\r\n setFees(result);\r\n }\r\n };\r\n fetchData();\r\n }, [feeManagerContract]);\r\n /**\r\n * return fees charged without decimals\r\n */\r\n const getFeesCharged = useCallback((requestedLoan) => {\r\n if (!fees || !requestedLoan || !poolInfo) {\r\n return 0;\r\n }\r\n const { poolUnderlyingToken } = poolInfo;\r\n const { decimals } = poolUnderlyingToken;\r\n const { _frontLoadingFeeFlat: feeFlat, _frontLoadingFeeBps: feeBps } = fees;\r\n // @TODO: Figure out why feeBps.div(10000) directly not work\r\n return feeBps\r\n .div(100)\r\n .mul(toBigNumber(requestedLoan))\r\n .div(100)\r\n .add(downScale(feeFlat.toNumber(), decimals))\r\n .toNumber();\r\n }, [fees, poolInfo]);\r\n return { fees, getFeesCharged };\r\n}\r\nexport function usePoolAllowance(poolName, poolType, account) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n const contract = usePoolUnderlyingTokenContract(poolName, poolType);\r\n const [allowance, setAllowance] = useState(toBigNumber(0));\r\n const [approved, setApproved] = useState(false);\r\n const [loaded, setLoaded] = useState(false);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (contract && poolInfo && account) {\r\n const allowance = await contract.allowance(account, poolInfo.pool);\r\n setAllowance(allowance);\r\n setApproved(allowance.gt(MaxUint256.div(2)));\r\n setLoaded(true);\r\n }\r\n };\r\n fetchData();\r\n }, [account, contract, poolInfo]);\r\n return { approved, allowance, loaded };\r\n}\r\nexport function useLenderPosition(poolName, poolType, account) {\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n const contract = useHDTContract(poolName, poolType);\r\n const [position, setPosition] = useState();\r\n const [refreshCount, refresh] = useForceRefresh();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (contract && account && poolInfo) {\r\n const position = await contract.withdrawableFundsOf(account);\r\n const oneCentUSD = BigNumber.from(upScale('0.01', poolInfo.poolUnderlyingToken.decimals));\r\n // if position is less than one cent USD, consider it 0\r\n if (position.lt(oneCentUSD)) {\r\n setPosition(BigNumber.from(0));\r\n }\r\n else {\r\n setPosition(position);\r\n }\r\n }\r\n };\r\n fetchData();\r\n }, [account, contract, poolInfo, refreshCount]);\r\n return [position, refresh];\r\n}\r\nexport function useLenderApproved(poolName, poolType, account) {\r\n const contract = usePoolContract(poolName, poolType);\r\n const [approved, setApproved] = useState();\r\n const [refreshCount, refresh] = useForceRefresh();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (contract && account) {\r\n const approved = await contract.isApprovedLender(account);\r\n setApproved(approved);\r\n }\r\n };\r\n fetchData();\r\n }, [account, contract, refreshCount]);\r\n return [approved, refresh];\r\n}\r\nexport function useWithdrawlLockoutInSeconds(poolName, poolType) {\r\n const contract = useBaseConfigPoolContract(poolName, poolType);\r\n const [lockoutSeconds, setLockoutSeconds] = useState();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (contract) {\r\n const seconds = await contract.withdrawalLockoutPeriodInSeconds();\r\n setLockoutSeconds(seconds.toNumber());\r\n }\r\n };\r\n fetchData();\r\n }, [contract]);\r\n return lockoutSeconds;\r\n}\r\nexport function useLastDepositTime(poolName, poolType, account) {\r\n const contract = usePoolContract(poolName, poolType);\r\n const [lockoutSeconds, setLockoutSeconds] = useState();\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (contract && account) {\r\n const seconds = await contract.lastDepositTime(account);\r\n setLockoutSeconds(seconds.toNumber());\r\n }\r\n };\r\n fetchData();\r\n }, [account, contract]);\r\n return lockoutSeconds;\r\n}\r\n//# sourceMappingURL=usePoolContract.js.map","import { POOL_TYPE } from '../utils/pool';\r\nimport { useAccountStats, useBaseConfigPoolContract, useCreditRecord, useFeeManager, useLenderApproved, useLenderPosition, usePoolAllowance, usePoolBalance, usePoolContract, usePoolUnderlyingToken, usePoolUnderlyingTokenBalance, usePoolUnderlyingTokenContract, } from './usePoolContract';\r\nexport function useCLPoolContract(poolName) {\r\n return usePoolContract(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLBaseConfigPoolContract(poolName) {\r\n return useBaseConfigPoolContract(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLPoolUnderlyingTokenContract(poolName) {\r\n return usePoolUnderlyingTokenContract(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLPoolUnderlyingToken(poolName) {\r\n return usePoolUnderlyingToken(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLPoolUnderlyingTokenBalance(poolName, account) {\r\n return usePoolUnderlyingTokenBalance(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\nexport function useCLPoolBalance(poolName) {\r\n return usePoolBalance(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLStats(poolName, account) {\r\n return useAccountStats(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\nexport function useCLCreditRecord(poolName, account) {\r\n return useCreditRecord(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\nexport function useCLFeeManager(poolName) {\r\n return useFeeManager(poolName, POOL_TYPE.CreditLine);\r\n}\r\nexport function useCLPoolAllowance(poolName, account) {\r\n return usePoolAllowance(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\nexport function useCLLenderPosition(poolName, account) {\r\n return useLenderPosition(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\nexport function useCLLenderApproved(poolName, account) {\r\n return useLenderApproved(poolName, POOL_TYPE.CreditLine, account);\r\n}\r\n//# sourceMappingURL=useCLPoolContract.js.map","export const capitalizeFirstLetter = (str) => str.charAt(0).toUpperCase() + str.slice(1);\r\n//# sourceMappingURL=string.js.map","import { ethers } from 'ethers';\r\nimport TxErrors from './contractError.json';\r\nimport { capitalizeFirstLetter } from './string';\r\nexport var TxStateType;\r\n(function (TxStateType) {\r\n TxStateType[\"Success\"] = \"Success\";\r\n TxStateType[\"Denied\"] = \"Denied\";\r\n TxStateType[\"Invalid\"] = \"Invalid\";\r\n TxStateType[\"Failed\"] = \"Failed\";\r\n TxStateType[\"New\"] = \"New\";\r\n TxStateType[\"GasEstimating\"] = \"GasEstimating\";\r\n TxStateType[\"Signing\"] = \"Signing\";\r\n TxStateType[\"Confirming\"] = \"Confirming\";\r\n})(TxStateType || (TxStateType = {}));\r\nexport const isTxFailed = (txState) => [TxStateType.Denied, TxStateType.Invalid, TxStateType.Failed].includes(txState);\r\nexport const increaseGasLimit = (estimatedGasLimit) => {\r\n if (!estimatedGasLimit || Number.isNaN(estimatedGasLimit.toNumber())) {\r\n console.log('estimatedGasLimit', estimatedGasLimit);\r\n throw new Error('Estimated gas limited error.');\r\n }\r\n return estimatedGasLimit.mul(150).div(100);\r\n};\r\nconst parseErrorMessageToUserFriendlyMessage = (message) => capitalizeFirstLetter(message\r\n .replace('()', '')\r\n .split(/(?=[A-Z])/)\r\n .join(' ')\r\n .toLowerCase());\r\nconst findContractErrorMessage = (code) => {\r\n let reason = null;\r\n Object.keys(TxErrors).forEach((key) => {\r\n // @ts-ignore\r\n if (code.toLowerCase() === TxErrors[key].toLowerCase()) {\r\n reason = parseErrorMessageToUserFriendlyMessage(key);\r\n }\r\n });\r\n return reason;\r\n};\r\nexport const getTransactionErrorFromHash = async (provider, txHash) => {\r\n const commonErrorMessage = 'Send transaction failed';\r\n try {\r\n const originTx = await provider.getTransaction(txHash);\r\n const { from, to, data, gasLimit, blockNumber } = originTx;\r\n // Only provide necessary params to get the tx return which can avoid unexpected error\r\n const tx = { from, to, data, gasLimit };\r\n const code = await provider.call(tx, blockNumber);\r\n const reason = findContractErrorMessage(code);\r\n return reason !== null && reason !== void 0 ? reason : commonErrorMessage;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (error) {\r\n if (!error.data) {\r\n console.error(error);\r\n return commonErrorMessage;\r\n }\r\n const code = error.data.replace('Reverted ', '');\r\n const reason = ethers.utils.toUtf8String(`0x${code.substr(138)}`);\r\n return reason;\r\n }\r\n};\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const getTransactionErrorFromError = (e) => {\r\n var _a, _b, _c, _d, _e;\r\n const errorCode = ((_c = (_b = (_a = e.error) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.originalError) === null || _c === void 0 ? void 0 : _c.data) || ((_e = (_d = e.error) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.data);\r\n if (errorCode) {\r\n const contractErrorMessage = findContractErrorMessage(errorCode);\r\n if (contractErrorMessage) {\r\n return contractErrorMessage;\r\n }\r\n }\r\n return null;\r\n};\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const decodeLogs = (txlogs, abi) => {\r\n const result = [];\r\n const iface = new ethers.utils.Interface(abi);\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const log of txlogs) {\r\n try {\r\n result.push(iface.parseLog(log));\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n return result;\r\n};\r\n//# sourceMappingURL=transaction.js.map","import { atom } from 'jotai';\r\nimport { atomWithReset } from 'jotai/utils';\r\nimport { getTransactionErrorFromError, getTransactionErrorFromHash, increaseGasLimit, TxStateType, } from '../utils/transaction';\r\nconst txInitManagement = {\r\n state: TxStateType.New,\r\n txHash: '',\r\n txReceipt: undefined,\r\n loading: false,\r\n failReason: '',\r\n};\r\nexport const txAtom = atomWithReset(txInitManagement);\r\nexport const sendTxAtom = atom((get) => get(txAtom), \r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nasync (get, set, payload) => {\r\n const { contract, method, params, provider } = payload;\r\n try {\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { loading: true }));\r\n const gasLimit = await contract.estimateGas[method](...params);\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Signing }));\r\n const tx = await contract[method](...params, {\r\n gasLimit: increaseGasLimit(gasLimit),\r\n });\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Confirming, txHash: tx.hash }));\r\n const txReceipt = await tx.wait();\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { txReceipt }));\r\n // tx was mined successfully\r\n if (txReceipt.status === 1) {\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Success, loading: false }));\r\n }\r\n else {\r\n let failReason = 'Send transaction failed';\r\n if (provider) {\r\n const failReasonReturned = await getTransactionErrorFromHash(provider, tx.hash);\r\n if (failReasonReturned) {\r\n failReason = failReasonReturned;\r\n }\r\n }\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Failed, loading: false, failReason }));\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (e) {\r\n const contractErrorMessage = getTransactionErrorFromError(e);\r\n if (contractErrorMessage) {\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Failed, loading: false, failReason: contractErrorMessage }));\r\n return;\r\n }\r\n if (e.code === 4001 || e.code === 'ACTION_REJECTED') {\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Denied, loading: false, failReason: 'User has rejected the transaction' }));\r\n return;\r\n }\r\n set(txAtom, Object.assign(Object.assign({}, get(txAtom)), { state: TxStateType.Invalid, loading: false, failReason: e.reason || `Send transaction failed` }));\r\n }\r\n});\r\n//# sourceMappingURL=useContractFunction.js.map","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 { useMediaQuery, useTheme } from '@mui/material';\r\nexport const useMQ = () => {\r\n const theme = useTheme();\r\n const isXsSize = useMediaQuery(theme.breakpoints.down('sm'));\r\n const isSmSize = useMediaQuery(theme.breakpoints.down('md'));\r\n const isMdSize = useMediaQuery(theme.breakpoints.down('lg'));\r\n const isLgSize = useMediaQuery(theme.breakpoints.up('lg'));\r\n const isBelowXsSize = useMediaQuery(theme.breakpoints.down('xs'));\r\n return {\r\n isXsSize,\r\n isSmSize,\r\n isMdSize,\r\n isLgSize,\r\n isBelowXsSize,\r\n };\r\n};\r\n//# sourceMappingURL=useMQ.js.map","import { useWeb3React } from '@web3-react/core';\r\nimport { useCallback, useEffect, useRef, useState } from 'react';\r\nexport const useRefresh = () => {\r\n const { provider } = useWeb3React();\r\n const [loading, setLoading] = useState(false);\r\n const blockNumberRef = useRef();\r\n const targetBlockNumberRef = useRef();\r\n const callbackRef = useRef();\r\n // @ts-ignore\r\n useEffect(() => {\r\n if (!provider)\r\n return () => undefined;\r\n const listener = (latestBlockNumber) => {\r\n try {\r\n blockNumberRef.current = latestBlockNumber;\r\n if (targetBlockNumberRef.current &&\r\n latestBlockNumber >= targetBlockNumberRef.current) {\r\n if (callbackRef.current) {\r\n console.log('target block number', targetBlockNumberRef.current);\r\n console.log('latest block number', latestBlockNumber);\r\n callbackRef.current();\r\n targetBlockNumberRef.current = undefined;\r\n callbackRef.current = undefined;\r\n setLoading(false);\r\n }\r\n }\r\n }\r\n catch (error) {\r\n setLoading(false);\r\n }\r\n };\r\n provider.on('block', listener);\r\n return () => provider.removeListener('block', listener);\r\n }, [provider]);\r\n const subscribe = useCallback((targetBlockNumber, callbackFn) => {\r\n if (blockNumberRef.current &&\r\n blockNumberRef.current >= targetBlockNumber) {\r\n callbackFn();\r\n }\r\n else {\r\n setLoading(true);\r\n targetBlockNumberRef.current = targetBlockNumber;\r\n callbackRef.current = callbackFn;\r\n }\r\n }, []);\r\n return [subscribe, loading];\r\n};\r\n//# sourceMappingURL=useRefresh.js.map","import { css, useTheme } from '@mui/material';\r\nimport { useWeb3React } from '@web3-react/core';\r\nimport { useCallback, useState } from 'react';\r\nimport { useMQ } from './useMQ';\r\nimport { usePoolInfo } from './usePool';\r\nimport { useAccountStats } from './usePoolContract';\r\nimport { useRefresh } from './useRefresh';\r\nimport { hasRFActiveLoan } from '../utils/credit';\r\nexport function useFactoring(poolName, poolType, getPaidSuccessCallback) {\r\n const theme = useTheme();\r\n const { account } = useWeb3React();\r\n const poolInfo = usePoolInfo(poolName, poolType);\r\n const [accountStats, refreshReceivableStats] = useAccountStats(poolName, poolType, account);\r\n const { creditRecord, receivableInfo } = accountStats;\r\n const accountHasActiveLoan = hasRFActiveLoan(creditRecord, receivableInfo);\r\n const [modalIsOpen, setModalIsOpen] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState();\r\n const [actionType, setActionType] = useState();\r\n const [subscribe, loading] = useRefresh();\r\n const { isMdSize, isXsSize } = useMQ();\r\n const getPadding = useCallback(() => {\r\n if (isXsSize) {\r\n return '0 8px 8px 8px';\r\n }\r\n if (isMdSize) {\r\n return '0 32px 32px 32px';\r\n }\r\n return '0 90px 90px 90px';\r\n }, [isMdSize, isXsSize]);\r\n const styles = {\r\n wrapper: css `\n max-width: 1307px;\n padding: ${getPadding()};\n margin: 0 auto;\n `,\r\n title: css `\n font-family: 'Uni-Neue-Black';\n color: ${theme.palette.text.primary};\n font-size: 24px;\n margin-bottom: 16px;\n `,\r\n description: css `\n font-family: 'Uni-Neue-Regular';\n color: ${theme.palette.text.primary};\n font-size: 1rem;\n `,\r\n };\r\n const handleGetPaid = useCallback((item) => {\r\n setModalIsOpen(true);\r\n setSelectedItem(item);\r\n setActionType('borrow');\r\n }, []);\r\n const handleGetPaidSuccess = useCallback((blockNumber) => {\r\n const callbackFn = () => {\r\n refreshReceivableStats();\r\n if (getPaidSuccessCallback) {\r\n getPaidSuccessCallback();\r\n }\r\n };\r\n if (blockNumber) {\r\n subscribe(blockNumber, callbackFn);\r\n }\r\n else {\r\n callbackFn();\r\n }\r\n }, [getPaidSuccessCallback, refreshReceivableStats, subscribe]);\r\n const handlePayManually = useCallback((item) => {\r\n setModalIsOpen(true);\r\n setSelectedItem(item);\r\n setActionType('payment');\r\n }, []);\r\n const handleClose = useCallback(() => {\r\n setActionType(undefined);\r\n setModalIsOpen(false);\r\n }, []);\r\n return {\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 };\r\n}\r\n//# sourceMappingURL=useFactoring.js.map","import { useWeb3React } from '@web3-react/core';\r\nimport { useCallback, useEffect, useState } from 'react';\r\nimport ERC20_TRANSFERRABLE_ABI from '../abis/ERC20TransferableReceivable.json';\r\nimport { POOL_TYPE, PoolContractMap } from '../utils/pool';\r\nimport { useContract } from './useContract';\r\nexport function useInvoiceNFTContract(poolName) {\r\n var _a, _b, _c;\r\n const { chainId } = useWeb3React();\r\n const InvoiceNFTAddress = chainId\r\n ? (_c = (_b = (_a = PoolContractMap[chainId]) === null || _a === void 0 ? void 0 : _a[POOL_TYPE.Invoice]) === null || _b === void 0 ? void 0 : _b[poolName]) === null || _c === void 0 ? void 0 : _c.assetAddress\r\n : undefined;\r\n return useContract(InvoiceNFTAddress, ERC20_TRANSFERRABLE_ABI);\r\n}\r\nexport function useNFTIds(poolName, account) {\r\n const invoiceNFTContract = useInvoiceNFTContract(poolName);\r\n const [NFTTokenIds, setNFTTokenIds] = useState();\r\n const [refreshCount, setRefreshCount] = useState(0);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (invoiceNFTContract && account) {\r\n const ids = await invoiceNFTContract.getTokenIds(account);\r\n setNFTTokenIds(ids);\r\n }\r\n };\r\n fetchData();\r\n }, [account, invoiceNFTContract, refreshCount]);\r\n const refresh = useCallback(() => {\r\n setRefreshCount((pre) => pre + 1);\r\n }, []);\r\n return [NFTTokenIds, refresh];\r\n}\r\nexport function useInvoiceNFTMetadata(poolName) {\r\n const invoiceNFTContract = useInvoiceNFTContract(poolName);\r\n const getTokenMetadatas = useCallback(async (tokenIds) => {\r\n if (!tokenIds || !invoiceNFTContract) {\r\n return;\r\n }\r\n const getTokenMetadata = async (tokenId) => {\r\n const uri = await invoiceNFTContract.tokenURI(tokenId);\r\n const uriDecoded = atob(uri.split(',')[1]);\r\n try {\r\n return JSON.parse(uriDecoded);\r\n }\r\n catch (error) {\r\n throw new Error(`Access invoice NFT metadata error.`);\r\n }\r\n };\r\n const result = await Promise.all(tokenIds.map((tokenId) => getTokenMetadata(tokenId)));\r\n // eslint-disable-next-line consistent-return\r\n return result;\r\n }, [invoiceNFTContract]);\r\n return { getTokenMetadatas };\r\n}\r\nexport function useInvoiceNFTApproved(poolName) {\r\n const invoiceNFTContract = useInvoiceNFTContract(poolName);\r\n const getApprovedBy = useCallback(async (tokenId) => {\r\n if (!tokenId || !invoiceNFTContract) {\r\n return undefined;\r\n }\r\n const approvedAddr = await invoiceNFTContract.getApproved(tokenId);\r\n return approvedAddr;\r\n }, [invoiceNFTContract]);\r\n return { getApprovedBy };\r\n}\r\n//# sourceMappingURL=useInvoiceNFTContract.js.map","import { useEffect } from 'react';\r\nexport const isFunction = (value) => typeof value === 'function';\r\nexport const useMount = (fn) => {\r\n useEffect(() => {\r\n fn === null || fn === void 0 ? void 0 : fn();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n};\r\n//# sourceMappingURL=useMount.js.map","import { POOL_TYPE } from '../utils/pool';\r\nimport { useAccountStats, useFeeManager, useLenderApproved, useLenderPosition, usePoolAllowance, usePoolBalance, usePoolContract, usePoolUnderlyingToken, usePoolUnderlyingTokenContract, } from './usePoolContract';\r\nexport function useRFPoolContract(poolName) {\r\n return usePoolContract(poolName, POOL_TYPE.Invoice);\r\n}\r\nexport function useRFPoolUnderlyingTokenContract(poolName) {\r\n return usePoolUnderlyingTokenContract(poolName, POOL_TYPE.Invoice);\r\n}\r\nexport function useRFPoolUnderlyingToken(poolName) {\r\n return usePoolUnderlyingToken(poolName, POOL_TYPE.Invoice);\r\n}\r\nexport function useRFPoolBalance(poolName) {\r\n return usePoolBalance(poolName, POOL_TYPE.Invoice);\r\n}\r\nexport function useReceivableStats(poolName, account) {\r\n return useAccountStats(poolName, POOL_TYPE.Invoice, account);\r\n}\r\nexport function useRFFeeManager(poolName) {\r\n return useFeeManager(poolName, POOL_TYPE.Invoice);\r\n}\r\nexport function useRFPoolAllowance(poolName, account) {\r\n return usePoolAllowance(poolName, POOL_TYPE.Invoice, account);\r\n}\r\nexport function useRFLenderPosition(poolName, account) {\r\n return useLenderPosition(poolName, POOL_TYPE.Invoice, account);\r\n}\r\nexport function useRFLenderApproved(poolName, account) {\r\n return useLenderApproved(poolName, POOL_TYPE.Invoice, account);\r\n}\r\n//# sourceMappingURL=useRFPoolContract.js.map","export const requestGet = async (url) => {\r\n const config = {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n };\r\n // @ts-ignore\r\n return window.fetch(url, config).then((response) => response.json());\r\n};\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport const requestPost = async (url, payload) => {\r\n const config = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(payload),\r\n };\r\n // @ts-ignore\r\n return window.fetch(url, config).then((response) => response.json());\r\n};\r\n//# sourceMappingURL=request.js.map","import { configUtil } from '../utils/config';\r\nimport { EARejectionError } from '../utils/errors';\r\nimport { requestPost } from '../utils/request';\r\n/**\r\n * Submits a credit underwriting request to Huma's EAVerse.\r\n * @param {EAPayload} payload The payload for the underwrite approval.\r\n * @param {number} chainId The chain ID.\r\n * @param {boolean} isDev Is dev environment or not.\r\n * @returns {Promise<ApproveInfo>} Promise that returns approval info on success.\r\n * @throws {EARejectionError} If the underwrite approval is rejected.\r\n */\r\nconst approve = async (payload, chainId, isDev = false) => {\r\n var _a;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const data = await requestPost(`${configUtil.getEAVerseUrl(chainId, isDev)}/underwriter/underwrite`, payload);\r\n if ((_a = data.rejectionReasons) === null || _a === void 0 ? void 0 : _a.length) {\r\n throw new EARejectionError();\r\n }\r\n return data;\r\n};\r\nconst approveLender = async (payload, chainId) => {\r\n var _a, _b;\r\n const generalErrorMessage = 'Sorry, there was an error approving your wallet as a lender.';\r\n try {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const data = await requestPost(`${configUtil.getEABaseUrlV1(chainId)}/addApprovedLender`, payload);\r\n if (data.statusCode >= 500) {\r\n throw new Error(data.errorMessage ? data.errorMessage[0] : generalErrorMessage);\r\n }\r\n else if (data.status) {\r\n throw new Error(data.reason[0]);\r\n }\r\n else if ((_a = data.rejectionReason) === null || _a === void 0 ? void 0 : _a.length) {\r\n throw new Error(data.rejectionReason[0]);\r\n }\r\n return data;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (error) {\r\n throw new Error((_b = error.message) !== null && _b !== void 0 ? _b : generalErrorMessage, {\r\n cause: 'server error',\r\n });\r\n }\r\n};\r\nconst addToAllowList = async (walletAddress, poolAddress, userName) => {\r\n try {\r\n await requestPost(`${configUtil.getEAAllowListUrl()}/user/create`, {\r\n wallet_address: walletAddress,\r\n pool_address: poolAddress,\r\n user_name: userName !== null && userName !== void 0 ? userName : '',\r\n });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (error) {\r\n throw new Error(error.message);\r\n }\r\n};\r\nexport const EAService = {\r\n approve,\r\n approveLender,\r\n addToAllowList,\r\n};\r\n//# sourceMappingURL=EAService.js.map","import moment from 'moment';\r\nimport { isEmpty } from './common';\r\nexport const MILLISECONDS = 1000;\r\nexport const DAY_SECONDS = 24 * 60 * 60;\r\nexport const TIME_FORMAT_LL = 'll';\r\nexport const timestampToStr = (timestamp, format) => moment.unix(timestamp).format(format);\r\n/**\r\n * Convert timestamp to format ll: Nov 12, 2022\r\n *\r\n * @param timestamp\r\n * @returns format ll: Nov 12, 2022\r\n */\r\nexport const timestampToLL = (timestamp) => {\r\n if (!timestamp) {\r\n return '';\r\n }\r\n return timestampToStr(timestamp, TIME_FORMAT_LL);\r\n};\r\n/**\r\n * get unix time in seconds\r\n *\r\n * @returns timestamp\r\n */\r\nexport const getUnixTimestamp = (date) => {\r\n if (date) {\r\n return date.unix();\r\n }\r\n return Math.floor(Date.now() / MILLISECONDS);\r\n};\r\nexport const secondsToDays = (seconds) => {\r\n if (isEmpty(seconds)) {\r\n return 0;\r\n }\r\n try {\r\n return seconds / DAY_SECONDS;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n }\r\n catch (error) {\r\n return 0;\r\n }\r\n};\r\n// eslint-disable-next-line no-promise-executor-return\r\nconst sleep = (ms) => new Promise((r) => setTimeout(r, ms));\r\nexport const timeUtil = {\r\n timestampToStr,\r\n timestampToLL,\r\n getUnixTimestamp,\r\n secondsToDays,\r\n sleep,\r\n};\r\n//# sourceMappingURL=time.js.map","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 { ApproveInfo } from '@00labs/huma-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 AddToAllowList = 'AddToAllowList',\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 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 approveInfo?: ApproveInfo\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 { ApproveInfo } from '@00labs/huma-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.approveInfo = 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 setApproveInfo: (\r\n state,\r\n { payload }: PayloadAction<ApproveInfo & { nextStep: WIDGET_STEP }>,\r\n ) => {\r\n state.approveInfo = payload\r\n if (Number(payload.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 setApproveInfo,\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","import { RootState } from '.'\r\n\r\nexport const selectWidgetState = (state: RootState) => state.widget\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 '@00labs/huma-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 '@00labs/huma-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 { 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 '@00labs/huma-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.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS ||\r\n window.location.hostname.startsWith('dev')\r\n )\r\n\r\nexport const envUtil = {\r\n checkIsDev,\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\r\nimport {\r\n downScale,\r\n EAPayload,\r\n EARejectionError,\r\n EARejectMessage,\r\n EARejectReason,\r\n EAService,\r\n} from '@00labs/huma-shared'\r\nimport { useCallback } from 'react'\r\n\r\nimport { setApproveInfo, setError, setStep } from '../store/widgets.reducers'\r\nimport { WIDGET_STEP } from '../store/widgets.store'\r\nimport { useAppDispatch } from './useRedux'\r\nimport { envUtil } from '../utils/env'\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 (\r\n payload: EAPayload,\r\n nextStep: WIDGET_STEP,\r\n addToAllowList = false,\r\n ) => {\r\n try {\r\n const result = await EAService.approve(\r\n payload,\r\n chainId!,\r\n envUtil.checkIsDev(),\r\n )\r\n result.creditLimit = downScale<number>(\r\n result.creditLimit,\r\n result.tokenDecimal,\r\n )\r\n result.receivableAmount = downScale<number>(\r\n result.receivableAmount,\r\n result.tokenDecimal,\r\n )\r\n dispatch(setApproveInfo({ ...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 if (addToAllowList) {\r\n dispatch(setStep(WIDGET_STEP.AddToAllowList))\r\n } else {\r\n dispatch(\r\n setError({\r\n errorMessage: EARejectMessage,\r\n errorReason: EARejectReason,\r\n }),\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 { ChainEnum, PoolInfoType } from '@00labs/huma-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 receivableAddress: poolInfo.assetAddress,\r\n },\r\n WIDGET_STEP.Evaluation,\r\n chainId === ChainEnum.Goerli,\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 { Box, Button, css, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport {\r\n EARejectMessageWithAllowList,\r\n EARejectReason,\r\n EAService,\r\n PoolInfoType,\r\n} from '@00labs/huma-shared'\r\nimport React, { useCallback, useState } from 'react'\r\n\r\nimport { CustomError } from '../utilTypes'\r\nimport { ErrorModal } from './ErrorModal'\r\nimport { CheckCircleIcon } from './icons'\r\nimport { LoadingModal } from './LoadingModal'\r\nimport { WrapperModal } from './WrapperModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n handleSuccess: () => void\r\n handleError: (errorMessage: string) => void\r\n}\r\n\r\nexport function AllowListModal({\r\n poolInfo,\r\n handleSuccess,\r\n handleError,\r\n}: Props): React.ReactElement | null {\r\n const theme = useTheme()\r\n const { account } = useWeb3React()\r\n const [status, setStatus] = useState<\r\n 'notApproved' | 'approving' | 'approved'\r\n >('notApproved')\r\n\r\n const styles = {\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 addToAllowList = useCallback(async () => {\r\n try {\r\n setStatus('approving')\r\n await EAService.addToAllowList(account!, poolInfo.pool)\r\n setStatus('approved')\r\n } catch (e) {\r\n const error = e as CustomError\r\n handleError(error.message)\r\n }\r\n }, [account, handleError, poolInfo.pool])\r\n\r\n const continueToBorrow = () => {\r\n handleSuccess()\r\n }\r\n\r\n if (status === 'approving') {\r\n return (\r\n <LoadingModal\r\n title='Add To Allowlist'\r\n description='Waiting for approval confirmation...'\r\n />\r\n )\r\n }\r\n\r\n if (status === 'approved') {\r\n return (\r\n <WrapperModal title='Add To Allowlist'>\r\n <>\r\n <Box css={styles.congratsWrapper}>\r\n <CheckCircleIcon />\r\n <Box sx={{ marginLeft: '6px' }}>\r\n Congrats, you have been added to the allowlist\r\n </Box>\r\n </Box>\r\n <Box css={styles.bottom}>\r\n <Button variant='contained' onClick={continueToBorrow}>\r\n CONTINUE TO BORROW\r\n </Button>\r\n </Box>\r\n </>\r\n </WrapperModal>\r\n )\r\n }\r\n\r\n return (\r\n <ErrorModal\r\n title='Application Not Approved'\r\n errorReason={EARejectReason}\r\n errorMessage={EARejectMessageWithAllowList}\r\n handleOk={addToAllowList}\r\n okText='ADD ME TO ALLOWLIST'\r\n shouldResetState={false}\r\n />\r\n )\r\n}\r\n","import { PoolInfoType } from '@00labs/huma-shared'\r\nimport React, { useCallback } 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 { AllowListModal } from '../../AllowListModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function AllowList({ poolInfo }: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Evaluation))\r\n }, [dispatch])\r\n\r\n const handleError = useCallback(\r\n (errorMessage: string) => {\r\n dispatch(setError({ errorMessage }))\r\n },\r\n [dispatch],\r\n )\r\n\r\n return (\r\n <AllowListModal\r\n poolInfo={poolInfo}\r\n handleSuccess={handleSuccess}\r\n handleError={handleError}\r\n />\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 '@00labs/huma-shared'\r\nimport React 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\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 // @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={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={currentAmount}\r\n onChange={handleInputChange}\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={currentAmount === 0 || currentAmount > sliderMax}\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 { useWeb3React } from '@web3-react/core'\r\nimport {\r\n AccountStats,\r\n PoolInfoType,\r\n upScale,\r\n useCLFeeManager,\r\n useCLPoolAllowance,\r\n} from '@00labs/huma-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 { account } = useWeb3React()\r\n const { poolUnderlyingToken } = poolInfo\r\n const { symbol, decimals } = poolUnderlyingToken\r\n const { approved } = useCLPoolAllowance(poolInfo.poolName, account)\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 = approved\r\n ? WIDGET_STEP.Transfer\r\n : WIDGET_STEP.ApproveAllowance\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 }, [approved, 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 onClick?: () => void\r\n}\r\n\r\nexport function BottomButton({\r\n variant,\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}>\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 '@00labs/huma-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 '@00labs/huma-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\r\n handleSuccess: () => void\r\n}\r\n\r\nexport function ApproveAllowanceModal({\r\n poolInfo,\r\n showAutoPayback = false,\r\n allowanceAmount,\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: [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 ])\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 '@00labs/huma-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\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 '@00labs/huma-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 { PoolInfoType } from '@00labs/huma-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 { borrowAmountBN } = useAppSelector(selectWidgetState)\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='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 '@00labs/huma-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}\r\n\r\nexport function TxDoneModal({\r\n content,\r\n handleAction,\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 DONE\r\n </Button>\r\n </Box>\r\n )\r\n}\r\n","import { CreditRecordType, PoolInfoType, timeUtil } from '@00labs/huma-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}\r\n\r\nexport function Success({\r\n poolInfo,\r\n creditRecord,\r\n handleAction,\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 <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\nimport {\n CreditState,\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@00labs/huma-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 { AllowList } from './2-AllowList'\nimport { ChooseAmount } from './3-ChooseAmount'\nimport { ApproveAllowance } from './4-ApproveAllowance'\nimport { Transfer } from './5-Transfer'\nimport { Success } from './6-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.AddToAllowList && <AllowList poolInfo={poolInfo} />}\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'\r\nimport {\r\n PoolInfoType,\r\n toBigNumber,\r\n upScale,\r\n useCLPoolAllowance,\r\n} from '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-shared'\r\nimport transferAbi from '@00labs/huma-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'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@00labs/huma-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'\r\nimport { ChainEnum, PoolInfoType, toBigNumber } from '@00labs/huma-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 receivableAddress: poolInfo.assetAddress,\r\n receivableParam: toBigNumber(tokenId).toHexString(),\r\n },\r\n WIDGET_STEP.ChooseAmount,\r\n chainId === ChainEnum.Goerli,\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 { PoolInfoType } from '@00labs/huma-shared'\r\nimport React, { useCallback } 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 { AllowListModal } from '../../AllowListModal'\r\n\r\ntype Props = {\r\n poolInfo: PoolInfoType\r\n}\r\n\r\nexport function AllowList({ poolInfo }: Props): React.ReactElement | null {\r\n const dispatch = useAppDispatch()\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Evaluation))\r\n }, [dispatch])\r\n\r\n const handleError = useCallback(\r\n (errorMessage: string) => {\r\n dispatch(setError({ errorMessage }))\r\n },\r\n [dispatch],\r\n )\r\n\r\n return (\r\n <AllowListModal\r\n poolInfo={poolInfo}\r\n handleSuccess={handleSuccess}\r\n handleError={handleError}\r\n />\r\n )\r\n}\r\n","import {\r\n AccountStats,\r\n PoolInfoType,\r\n upScale,\r\n useFeeManager,\r\n} from '@00labs/huma-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 { approveInfo } = useAppSelector(selectWidgetState)\r\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\r\n const [remainder, setRemainder] = useState(approveInfo!.receivableAmount)\r\n\r\n const getAvailableCreditLimit = () => {\r\n if (approveInfo && creditRecord) {\r\n const principal = creditRecord.unbilledPrincipal\r\n .add(creditRecord.totalDue)\r\n .sub(creditRecord.feesAndInterestDue)\r\n .toNumber()\r\n return Number(approveInfo.creditLimit) - principal\r\n }\r\n return 0\r\n }\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n if (approveInfo) {\r\n setCurrentAmount(newAmount)\r\n setChargedFees(getFeesCharged(newAmount))\r\n setRemainder(Number(approveInfo.receivableAmount) - newAmount)\r\n }\r\n },\r\n [approveInfo, 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, approveInfo?.tokenDecimal),\r\n chargedFees,\r\n remainder: Number(remainder!),\r\n nextStep: WIDGET_STEP.ConfirmTransfer,\r\n }),\r\n )\r\n }, [\r\n approveInfo?.tokenDecimal,\r\n chargedFees,\r\n currentAmount,\r\n dispatch,\r\n remainder,\r\n ])\r\n\r\n if (!approveInfo) {\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={approveInfo.tokenSymbol}\r\n topLeft='Fees'\r\n topRight={`${chargedFees} ${approveInfo.tokenSymbol}`}\r\n downLeft='Remainder'\r\n downRight={`${remainder} ${approveInfo.tokenSymbol}`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n />\r\n )\r\n}\r\n","import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\r\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\r\nimport { isEmpty } from '@00labs/huma-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\n\r\nexport function ConfirmTransfer(): React.ReactElement | null {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const { borrowAmountNet, approveInfo } = useAppSelector(selectWidgetState)\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 font-family: 'Uni-Neue-Bold';\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-weight: 500;\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 32px;\r\n margin-bottom: 9px;\r\n position: relative;\r\n box-sizing: border-box;\r\n `,\r\n arrow: css`\r\n color: #d2d0d6;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n right: 0;\r\n `,\r\n okButton: css`\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n `,\r\n }\r\n\r\n const handleAction = () => {\r\n dispatch(setStep(WIDGET_STEP.ApproveNFT))\r\n }\r\n\r\n if (isEmpty(borrowAmountNet) || isEmpty(approveInfo)) {\r\n return null\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n Confirm transaction details\r\n </Typography>\r\n <Box css={styles.description}>\r\n Huma keeps your Invoice NFT as collateral until it's fully paid.\r\n </Box>\r\n <Box css={styles.transferWrapper}>\r\n <Box css={styles.transfer}>\r\n <Box>Invoice NFT</Box>\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>Huma</Box>\r\n </Box>\r\n <Box css={styles.transfer}>\r\n <Box>\r\n {borrowAmountNet!} {approveInfo?.tokenSymbol}\r\n </Box>\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>You</Box>\r\n </Box>\r\n </Box>\r\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\r\n Approve Transfer\r\n </Button>\r\n </Box>\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 '@00labs/huma-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 '@00labs/huma-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, approveInfo } =\r\n useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmountNet} ${approveInfo?.tokenSymbol} is now in your wallet.`,\r\n `The remaining ${remainder} ${approveInfo?.tokenSymbol} 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'\nimport { BigNumber } from 'ethers'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@00labs/huma-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 { AllowList } from './2-AllowList'\nimport { ChooseAmount } from './3-ChooseAmount'\nimport { ConfirmTransfer } from './4-ConfirmTransfer'\nimport { ApproveNFT } from './5-ApproveNFT'\nimport { Transfer } from './6-Transfer'\nimport { Success } from './7-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.AddToAllowList && <AllowList poolInfo={poolInfo} />}\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'\r\nimport {\r\n CreditRecordType,\r\n downScale,\r\n PoolInfoType,\r\n toBigNumber,\r\n upScale,\r\n useRFPoolAllowance,\r\n} from '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-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'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useAccountStats,\n usePoolInfo,\n} from '@00labs/huma-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 { Box, css, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { EAService, PoolInfoType } from '@00labs/huma-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 Evaluation({\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 { BigNumber } from 'ethers'\r\nimport {\r\n PoolInfoType,\r\n timeUtil,\r\n toBigNumber,\r\n upScale,\r\n} from '@00labs/huma-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\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 '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-shared'\r\nimport transferAbi from '@00labs/huma-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 [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 <TxDoneModal handleAction={handleAction} content={content} />\r\n}\r\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 '@00labs/huma-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'\r\nimport {\r\n isEmpty,\r\n PoolInfoType,\r\n timeUtil,\r\n useLastDepositTime,\r\n useWithdrawlLockoutInSeconds,\r\n} from '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-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 '@00labs/huma-shared'\r\nimport transferAbi from '@00labs/huma-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'\nimport {\n POOL_NAME,\n POOL_TYPE,\n useLenderPosition,\n usePoolInfo,\n} from '@00labs/huma-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'\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 { Box, css } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport {\r\n CreditEvent,\r\n CreditEventText,\r\n downScale,\r\n PoolInfoType,\r\n timeUtil,\r\n useMQ,\r\n} from '@00labs/huma-shared'\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 { title: 'Amount', dataIndex: 'amount' },\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, toBigNumber } from '@00labs/huma-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 currentFlowRate: string\r\n}\r\n\r\nexport function Evaluation({\r\n poolInfo,\r\n payerAddress,\r\n superToken,\r\n currentFlowRate,\r\n}: Props): React.ReactElement {\r\n const { account } = useWeb3React()\r\n const { checkingEA } = useEA()\r\n const ONE_MONTH_SECONDS = 30 * 24 * 60 * 60\r\n const creditLimit = toBigNumber(currentFlowRate)\r\n .mul(ONE_MONTH_SECONDS)\r\n .toString()\r\n\r\n useEffect(() => {\r\n if (account) {\r\n checkingEA(\r\n {\r\n creditLimit,\r\n poolAddress: poolInfo.pool,\r\n borrowerWalletAddress: account,\r\n payerAddress,\r\n superToken,\r\n },\r\n WIDGET_STEP.ChooseAmount,\r\n )\r\n }\r\n }, [\r\n account,\r\n checkingEA,\r\n creditLimit,\r\n payerAddress,\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 '@00labs/huma-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 { approveInfo } = 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 = approveInfo!.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, approveInfo!.tokenDecimal),\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\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 approveInfo!.tokenDecimal,\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 [approveInfo, borrowPeriodInSeconds, currentFlowRate],\r\n )\r\n\r\n const handleChangeAmount = useCallback(\r\n (newAmount: number) => {\r\n if (approveInfo) {\r\n setCurrentAmount(newAmount)\r\n setChargedFees(getFeesCharged(newAmount))\r\n }\r\n },\r\n [approveInfo, 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 (!approveInfo) {\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(approveInfo.creditLimit)}\r\n currentAmount={currentAmount}\r\n tokenSymbol={approveInfo.tokenSymbol}\r\n topLeft='Fees'\r\n topRight={`${chargedFees} ${approveInfo.tokenSymbol}`}\r\n handleChangeAmount={handleChangeAmount}\r\n handleAction={handleAction}\r\n actionText='Confirm Transfer'\r\n />\r\n )\r\n}\r\n","import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\r\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { CHAINS, isEmpty } from '@00labs/huma-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\n\r\nexport function ConfirmTransfer(): React.ReactElement | null {\r\n const theme = useTheme()\r\n const dispatch = useAppDispatch()\r\n const { chainId } = useWeb3React()\r\n const { borrowAmount, approveInfo } = useAppSelector(selectWidgetState)\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-weight: 500;\r\n font-size: 16px;\r\n color: #49505b;\r\n margin-top: 30px;\r\n `,\r\n transferWrapper: css`\r\n margin-top: 75px;\r\n `,\r\n transfer: css`\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 32px;\r\n margin-bottom: 9px;\r\n position: relative;\r\n `,\r\n arrow: css`\r\n color: #d2d0d6;\r\n position: absolute;\r\n margin: auto;\r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n right: 0;\r\n `,\r\n okButton: css`\r\n width: 100%;\r\n position: absolute;\r\n bottom: 0;\r\n `,\r\n }\r\n\r\n const handleAction = () => {\r\n const step = CHAINS[chainId!].isTestnet\r\n ? WIDGET_STEP.ApproveAllowance\r\n : WIDGET_STEP.Permit\r\n dispatch(setStep(step))\r\n }\r\n\r\n if (isEmpty(borrowAmount) || isEmpty(approveInfo)) {\r\n return null\r\n }\r\n\r\n return (\r\n <Box css={styles.wrapper}>\r\n <Typography variant='h6' css={styles.header}>\r\n Confirm transaction details\r\n </Typography>\r\n <Box css={styles.description}>\r\n Huma keeps your Tradable Stream NFT as collateral until it's fully paid.\r\n </Box>\r\n <Box css={styles.transferWrapper}>\r\n <Box css={styles.transfer}>\r\n <Box>Tradable Stream</Box>\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>Huma</Box>\r\n </Box>\r\n <Box css={styles.transfer}>\r\n <Box>\r\n {borrowAmount!.toFixed(2)} {approveInfo?.tokenSymbol}\r\n </Box>\r\n <ArrowForwardIosIcon css={styles.arrow} />\r\n <Box>You</Box>\r\n </Box>\r\n </Box>\r\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\r\n Approve Transfer\r\n </Button>\r\n </Box>\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 usePoolAllowance,\r\n} from '@00labs/huma-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\nimport { LoadingModal } from '../../LoadingModal'\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 { account } = useWeb3React()\r\n const { borrowAmount, approveInfo } = useAppSelector(selectWidgetState)\r\n const { allowance, loaded } = usePoolAllowance(\r\n poolInfo.poolName,\r\n poolInfo.poolType,\r\n account,\r\n )\r\n\r\n const getNewAllowance = () => {\r\n if (!borrowAmount || !loaded) {\r\n return null\r\n }\r\n return toBigNumber(\r\n upScale(borrowAmount, poolInfo.poolUnderlyingToken.decimals),\r\n ).add(allowance)\r\n }\r\n\r\n const handleSuccess = useCallback(() => {\r\n dispatch(setStep(WIDGET_STEP.Permit))\r\n }, [dispatch])\r\n\r\n const newAllowance = getNewAllowance()\r\n\r\n if (!newAllowance) {\r\n return (\r\n <LoadingModal\r\n title={`Approve ${approveInfo?.tokenSymbol}`}\r\n description='Waiting for approval confirmation...'\r\n />\r\n )\r\n }\r\n\r\n return (\r\n <ApproveAllowanceModal\r\n poolInfo={poolInfo}\r\n allowanceAmount={newAllowance}\r\n handleSuccess={handleSuccess}\r\n />\r\n )\r\n}\r\n","import { Contract, ethers } from 'ethers'\r\nimport {\r\n CHAINS,\r\n Erc2612,\r\n PoolInfoType,\r\n StreamFactoringPool,\r\n useERC2612Permit,\r\n useMount,\r\n} from '@00labs/huma-shared'\r\nimport ERC2612Abi from '@00labs/huma-shared/dist/abis/erc2612.json'\r\nimport PoolAbi from '@00labs/huma-shared/dist/abis/StreamFactoringPool.json'\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.pool,\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.pool,\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.pool,\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 poolContract = new Contract(\r\n poolInfo.pool,\r\n PoolAbi,\r\n ) as StreamFactoringPool\r\n\r\n return poolContract.interface.encodeFunctionData(\r\n 'drawdownWithAuthorization',\r\n [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.pool)\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 '@00labs/huma-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, approveInfo } = useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmount?.toFixed(2)} ${\r\n approveInfo?.tokenSymbol\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 '@00labs/huma-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 currentFlowRate={currentFlowRate}\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 '@00labs/huma-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 '@00labs/huma-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: '18px' }} />,\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 '@00labs/huma-shared'\r\nimport React 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 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 />\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 { Button } from '@mui/material'\r\nimport { useWeb3React } from '@web3-react/core'\r\nimport { History } from 'history'\r\nimport {\r\n downScale,\r\n getWalletAddressAbbr,\r\n PoolInfoType,\r\n toBigNumber,\r\n} from '@00labs/huma-shared'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport { useHistory } from 'react-router'\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 history: History,\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: 'Payer Approve',\r\n action: (record) => (\r\n <TableActionButton\r\n title='Go To Approve'\r\n handleClick={() =>\r\n history.push(\r\n `/superfluid?payer=${record.payer}&superToken=${record.tokenId}`,\r\n )\r\n }\r\n disabled={userHasActiveLoan}\r\n />\r\n ),\r\n },\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 history = useHistory()\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: '18px' }} />,\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, history)}\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 PoolContractMap,\r\n PoolMap,\r\n useFactoring,\r\n} from '@00labs/huma-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={PoolContractMap[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 '&: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'\n\nimport { JsonRpcProvider } from '@ethersproject/providers'\nimport { ThemeProvider } from '@mui/material'\nimport { Provider as Eip1193Provider } from '@web3-react/types'\nimport {\n Provider as Web3Provider,\n ProviderProps as Web3Props,\n} from '@00labs/huma-shared'\nimport { Provider as AtomProvider } from 'jotai'\nimport { Provider as ReduxProvider } from 'react-redux'\n\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 {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 jsonRpcUrlMap?: JsonRpcConnectionMap\n provider?: Eip1193Provider | JsonRpcProvider | null\n}\n\nfunction Widget(props: WCProps<WidgetProps>) {\n const { children } = props\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 {InvoiceFactoringBorrowWidgetProps} 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 {InvoiceFactoringPaymentWidgetProps} 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 {CreditLineBorrowWidgetProps} 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 {CreditLinePaymentWidgetProps} 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 {LendSupplyWidgetProps} 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","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","length","descriptor","_createClass","protoProps","staticProps","asyncGeneratorStep","gen","resolve","reject","_next","_throw","info","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","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","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","runtime","regenerator","regeneratorRuntime","accidentalStrictMode","globalThis","Function","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","_s","_e","_x","_r","_arr","_n","_d","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","toString","from","test","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","hexToUtf8","hex","str","code","replace","split","join","l","parseInt","substr","fromCharCode","utf8","decode","randomId","Math","floor","random","send","provider","params","payload","id","callback","console","_provider","_a","getUncheckedSigner","r","catch","e","sendAsync","message","splitSignatureToRSV","signature","concat","substring","s","v","signWithEthers","_ref","_callee","signer","fromAddress","typeData","signerAddress","types","rawSignature","_callee$","_context","getAddress","toLowerCase","EIP712Domain","__rest","signTypedData","domain","_signTypedData","_x2","_x3","signData","_ref2","_callee2","typeDataString","_callee2$","_context2","JSON","stringify","_x4","_x5","_x6","getChainId","_ref3","_callee3","_callee3$","_context3","chainIdOverride","_x7","to","data","MAX_INT","createTypedERC2612Data","typedData","Permit","primaryType","createTypedTradableStreamData","MintToWithAuthorization","NONCES_FN","NAME_FN","zeros","numZeros","padEnd","getTokenName","address","t0","t1","getDomain","token","tokenAddress","_yield$Promise$all","_yield$Promise$all2","chainId","all","version","verifyingContract","signERC2612Permit","_ref4","_callee4","owner","spender","deadline","nonce","sig","_args4","_callee4$","_context4","t2","t3","t4","t5","assign","_x11","_x12","_x13","_x14","signTradableStreamPermit","_ref5","_callee5","NFT","receiver","origin","flowrate","durationInSeconds","expiry","NFTAddress","_callee5$","_context5","t6","t7","t8","_x15","_x16","_x17","_x18","_x19","_x20","_x21","_x22","_x23","_x24","useERC2612Permit","_useWeb3React","useWeb3React","account","getDeadline","useCallback","FIVE_MINUTES","latestBlock","getBlock","timestamp","getERC2612PermitMessage","amount","getTradableStreamPermitMessage","_x8","_x9","_x10","getDevPrefix","isDev","getEAVerseUrl","network","CHAINS","getEAAllowListUrl","getEABaseUrlV1","getRequestAPIUrl","url","requestAPIUrl","InfuraRpcUrl","AlchemyRpcUrl","DEFAULT_CHAIN_ID","configUtil","ETH","symbol","decimals","MATIC","ChainEnum","Polygon","Goerli","Mumbai","_CHAINS","urls","nativeCurrency","explorer","wait","isTestnet","icon","reduce","accumulator","validURLs","getWalletAddressAbbr","supportedChainId","_setPrototypeOf","p","bind","_inherits","subClass","superClass","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","_isNativeFunction","indexOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","isNativeReflectConstruct","a","_wrapNativeSuper","_cache","Map","isNativeFunction","has","get","set","Wrapper","EARejectReason","EARejectMessage","EARejectMessageWithAllowList","DEFAULT_ERROR_HEADER","DEFAULT_ERROR_ACTION","WidgetError","_Error","_super","_createSuper","config","_this","dismissable","header","action","_b","ConnectionError","_WidgetError2","_super3","_this3","MetaMaskConnectionError","_ConnectionError","_super4","EARejectionError","_Error2","_super5","parseChainId","JsonRpcConnector","_Connector","actions","onError","customProvider","on","update","resetState","accounts","_activate","startActivation","getNetwork","listAccounts","activate","Connector","_superPropBase","property","_get","base","superPropBase","getOwnPropertyDescriptor","WalletConnectPopup","_WalletConnect","options","defaultChainId","timeout","qrcode","WalletConnect","WalletConnectQR","_WalletConnect2","_super2","events","once","URI_AVAILABLE","connector","deactivate","uri","svg","QRCode","margin","width","emit","SVG_AVAILABLE","useAsyncError","_useState","useState","_useState2","setError","ConnectorsContext","createContext","Provider","connectors","children","useEffect","React","createElement","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_toConsumableArray","arrayWithoutHoles","iterableToArray","nonIterableSpread","JSON_RPC_FALLBACK_ENDPOINTS","_JSON_RPC_FALLBACK_EN","JsonRpcUrlMapContext","jsonRpcMap","toJsonRpcMap","getChainConnections","connectionMap","_filter","filter","toJsonRpcConnectionMap","getJsonRpcProvider","_getChainConnections","_getChainConnections2","connection","JsonRpcProvider","isProvider","StaticJsonRpcProvider","toJsonRpcUrlMap","getJsonRpcUrl","_getChainConnections3","_getChainConnections4","_ref$defaultChainId","jsonRpcUrlMap","useMemo","warn","web3ReactConnectors","useWeb3ReactConnectors","useRef","prioritizedConnectors","current","user","metaMask","walletConnect","walletConnectQR","shouldEagerlyConnect","eagerConnectors","connectEagerly","Web3ReactProvider","JsonRpcUrlMapProvider","ConnectorsProvider","initializeWeb3ReactConnector","_initializeConnector","initializeConnector","_initializeConnector2","hooks","useProvider","_useMemo","_useMemo2","urlMap","throwAsync","EIP1193","MetaMask","rpc","Network","POOL_NAME","POOL_TYPE","PoolMap","_PoolMap","CreditLine","_POOL_TYPE$CreditLine","HumaCreditLine","borrowDesc","lendDesc","Jia","Invoice","RequestNetwork","Stream","Superfluid","PoolContractMap","_PoolContractMap","_ChainEnum$Polygon","subgraph","basePoolConfig","pool","poolFeeManager","poolUnderlyingToken","poolName","poolType","poolAbi","BASE_CREDIT_POOL_ABI","basePoolConfigAbi","BASE_POOL_CONFIG_ABI","HDT","abi","HDT_ABI","assetAddress","RECEIVABLE_FACTORING_POOL_ABI","_ChainEnum$Goerli","_POOL_TYPE$CreditLine3","STEAM_FACTORING_POOL_ABI","poolAssetAbi","TRADABLE_STREAM_ABI","extra","superTokens","SupplementaryContracts","SupplementaryContractsMap","_SupplementaryContrac","_ChainEnum$Goerli2","MultiSend","BaseCreditPoolReceivable","CreditState","hasRFActiveLoan","creditRecord","receivableInfo","accountHasActiveLoan","GoodStanding","receivableParam","gt","Approved","CreditEvent","CreditEventText","_CreditEventText","DrawdownMade","DrawdownMadeWithReceivable","PaymentMade","ReceivedPaymentProcessed","isEmpty","openInNewTab","window","open","focus","scientificToDecimal","parseFloat","REGEX_SCIENTIFIC","valueString","exec","positiveNegative","exponents","precision","rVal","getZeros","toFixed","count","formatter","Intl","NumberFormat","style","currency","formatMoney","num","format","downScale","ethers","utils","formatUnits","upScale","pow","toBigNumber","numStr","BigNumber","isAddress","getSigner","connectUnchecked","getProviderOrSigner","getContract","ABI","AddressZero","Contract","useContract","withSignerIfPossible","useERC20Contract","ERC20_ABI","useMultiSendContract","_useWeb3React2","MULTISEND_ABI","useForceRefresh","refreshCount","setRefreshCount","refresh","pre","usePoolInfo","poolInfo","usePoolContract","useBaseConfigPoolContract","usePoolFeeManagerContract","BASE_FEE_MANAGER_ABI","usePoolUnderlyingTokenContract","useHDTContract","usePoolUnderlyingToken","usePoolUnderlyingTokenBalance","poolUnderlyingTokenContract","balance","setBalance","fetchData","balanceOf","useAccountStats","poolContract","_useState5","creditRecordStatic","isApproved","payoffAmount","principalAmount","creditAvailableAmount","totalDueAmount","_useState6","accountStats","setAccountStats","_useForceRefresh3","_useForceRefresh4","payoffWithoutCorrection","payoff","principal","creditAvailable","creditRecordMapping","creditRecordStaticMapping","receivableInfoMapping","unbilledPrincipal","add","totalDue","correction","sub","feesAndInterestDue","creditLimit","useFeeManager","feeManagerContract","_useState7","_useState8","fees","setFees","_ref6","getFees","getFeesCharged","requestedLoan","feeFlat","_frontLoadingFeeFlat","feeBps","_frontLoadingFeeBps","div","mul","toNumber","usePoolAllowance","contract","_useState9","_useState10","allowance","setAllowance","_useState11","_useState12","approved","setApproved","_useState13","_useState14","loaded","setLoaded","_ref7","_callee6","_allowance","_callee6$","_context6","MaxUint256","useLenderPosition","_useState15","_useState16","position","setPosition","_useForceRefresh5","_useForceRefresh6","_ref8","_callee7","_position","oneCentUSD","_callee7$","_context7","withdrawableFundsOf","lt","useLenderApproved","_useState17","_useState18","_useForceRefresh7","_useForceRefresh8","_ref9","_callee8","_approved","_callee8$","_context8","isApprovedLender","useWithdrawlLockoutInSeconds","_useState19","_useState20","lockoutSeconds","setLockoutSeconds","_ref10","_callee9","seconds","_callee9$","_context9","withdrawalLockoutPeriodInSeconds","useLastDepositTime","_useState21","_useState22","_ref11","_callee10","_callee10$","_context10","lastDepositTime","useCLFeeManager","useCLPoolAllowance","capitalizeFirstLetter","toUpperCase","TxStateType","isTxFailed","txState","Denied","Invalid","Failed","includes","increaseGasLimit","estimatedGasLimit","log","parseErrorMessageToUserFriendlyMessage","findContractErrorMessage","reason","TxErrors","getTransactionErrorFromHash","txHash","commonErrorMessage","originTx","gasLimit","blockNumber","tx","_code","_reason","getTransaction","toUtf8String","getTransactionErrorFromError","errorCode","_c","originalError","contractErrorMessage","decodeLogs","txlogs","iface","Interface","_iterator","_createForOfIteratorHelper","_step","parseLog","f","txInitManagement","New","txReceipt","loading","failReason","txAtom","atomWithReset","sendTxAtom","atom","_contract$estimateGas","failReasonReturned","estimateGas","Signing","Confirming","hash","status","Success","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","useMQ","theme","useTheme","isXsSize","useMediaQuery","breakpoints","down","isSmSize","isMdSize","isLgSize","up","isBelowXsSize","useRefresh","setLoading","blockNumberRef","targetBlockNumberRef","callbackRef","listener","latestBlockNumber","removeListener","subscribe","targetBlockNumber","callbackFn","useFactoring","getPaidSuccessCallback","_useAccountStats","_useAccountStats2","refreshReceivableStats","modalIsOpen","setModalIsOpen","_useState3","_useState4","selectedItem","setSelectedItem","actionType","setActionType","_useRefresh","_useRefresh2","_useMQ","getPadding","styles","wrapper","css","_templateObject","title","_templateObject2","palette","text","primary","description","_templateObject3","handleGetPaid","item","handleGetPaidSuccess","handlePayManually","handleClose","useInvoiceNFTContract","InvoiceNFTAddress","ERC20_TRANSFERRABLE_ABI","useMount","useRFPoolAllowance","requestPost","headers","body","fetch","response","json","approve","_args","rejectionReasons","approveLender","generalErrorMessage","statusCode","errorMessage","rejectionReason","cause","addToAllowList","walletAddress","poolAddress","userName","wallet_address","pool_address","user_name","EAService","MILLISECONDS","DAY_SECONDS","TIME_FORMAT_LL","timestampToStr","moment","unix","timestampToLL","getUnixTimestamp","date","Date","now","secondsToDays","sleep","ms","setTimeout","timeUtil","useAppDispatch","useDispatch","useAppSelector","useSelector","WIDGET_STEP","initialWidgetState","widgetSlice","createSlice","initialState","reducers","errorReason","step","approveInfo","borrowAmount","borrowAmountBN","chargedFees","borrowAmountNet","remainder","tokenId","paymentAmount","remainDueAmount","stream","multisend","supplyAmount","withdrawAmount","setStep","setApproveInfo","nextStep","setBorrowInfo","setTokenId","setPaymentAmount","setSupplyAmount","setWithdrawAmount","setStream","_state$stream","_objectSpread","setMultisend","_widgetSlice$actions","reducer","selectWidgetState","widget","_path","_extends","_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","_jsx","ReceiptSvg","SeparatorIcon","SeparatorSvg","LoaderIcon","LoaderSvg","SorryIcon","SorrySvg","CheckIcon","CheckSvg","CheckGreenIcon","CheckGreenSvg","CheckCircleIcon","CheckCircleSvg","AutoPaybackIcon","AutoPaybackSvg","ApproveLenderIcon","ApproveLenderSvg","UsdcIcon","UsdcSvg","getIcon","ErrorModal","handleOk","_ref$okText","okText","_ref$shouldResetState","shouldResetState","dispatch","useResetAtom","cssMixins","rowHCentered","sorry","content","_templateObject4","errorIcon","_templateObject5","messageWrapper","_templateObject6","_templateObject7","okButton","_templateObject8","handleCloseModal","_jsxs","Box","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","secondary","success","tertiary","quaternary","warning","HumaModal","isOpen","onClose","overflow","overflowY","_ref$width","_ref$padding","padding","_ref$disableBackdropC","disableBackdropClick","process","env","NODE_ENV","Dialog","disableScrollLock","maxWidth","fullScreen","PaperProps","borderRadius","event","_objectWithoutPropertiesLoose","source","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","HumaModalHeader","hideClose","allowBack","_ref$onBack","onBack","_ref$height","height","_excluded","buttonBackWrapper","spacing","buttonClose","buttonCloseWrapper","headerBand","ChevronLeftOutlinedIcon","CloseIcon","map","_EMOTION_STRINGIFIED_CSS_ERROR__","HumaLoading","_ref2$fullScreen","_ref2$minHeight","minHeight","pathLength","setCount","intervalTime","interval","setInterval","element","document","querySelector","visibility","elements","querySelectorAll","clearInterval","rowCentered","WrapperModal","subTitle","bottom","LoadingModal","_ref$hideLoader","hideLoader","loader","WidgetWrapper","_ref$isLoading","isLoading","_ref$loadingTitle","loadingTitle","handleSuccess","_useAppSelector","_useAtom","useAtom","_useAtom2","_useAtom2$","Done","checkIsDev","REACT_APP_FORCE_DEV_PREFIX_FOR_URLS","location","hostname","startsWith","envUtil","useEA","checkingEA","tokenDecimal","receivableAmount","AddToAllowList","Evaluation","handleApprove","_useEA","setStatus","borrowerWalletAddress","receivableAddress","checkWrapper","rowVCentered","checkIcon","congratsWrapper","goToNextStep","ChooseAmount","sx","marginBottom","src","spinner","alt","_Fragment","marginLeft","AllowListModal","handleError","continueToBorrow","AllowList","ChooseAmountModal","tokenIcon","description1","description2","currentAmount","sliderMax","tokenSymbol","topLeft","topRight","downLeft","downRight","_ref$actionText","actionText","_ref$hideTerms","hideTerms","_ref$type","handleChangeAmount","handleAction","chosenAmountWrapper","chosenAmount","chosenAmountSymbol","inputAmountWrapper","inputAmount","rowSpaceBetweened","inputField","maxButton","_templateObject9","amountAvailable","_templateObject10","editIcon","_templateObject11","_templateObject12","slider","_templateObject13","_templateObject14","_templateObject15","_templateObject16","terms","_templateObject17","handleSliderChange","newValue","handleInputChange","handleSetMax","handleIncrement","newAmount","handleDecrement","handlePayoff","component","fontSize","size","className","ArrowDropUpIcon","ArrowDropDownIcon","Slider","max","min","onChange","Input","Divider","disabled","_useCLPoolAllowance","_useCLFeeManager","setChargedFees","setCurrentAmount","newChargedFees","Transfer","ApproveAllowance","aprInBps","BottomButton","ViewOnExplorer","chain","ApproveAllowanceModal","_ref$showAutoPayback","showAutoPayback","allowanceAmount","waitingForAccept","iconWrapper","sendApprove","TxSendModal","TxDoneModal","colVCentered","check","doneButton","marginTop","dueDate","CreditLineBorrow","poolNameStr","poolTypeStr","refreshAccountStats","accountState","approveCallback","_poolInfo$poolUnderly","payAmount","paymentBigNumber","payedAmount","setPayedAmount","_decodeLogs","logs","transferAbi","_decodeLogs2","CreditLinePayment","_useAccountStats2$","toHexString","_useFeeManager","setRemainder","getAvailableCreditLimit","ConfirmTransfer","colStretch","transferWrapper","transfer","arrow","ApproveNFT","ArrowForwardIosIcon","invoiceNFTContract","requestLoanBigNumber","InvoiceFactoringBorrow","_useRFPoolAllowance","remainingDue","setRemainingDue","InvoiceFactoringPayment","handleApproveSuccess","lenderWalletAddress","withdrawlLockoutSeconds","underlyingTokenBalance","depositAmount","needApprove","withdrawlLockoutDays","supplyBigNumber","_event$args","LendSupply","_usePoolAllowance","_useLenderApproved","_useLenderApproved2","lenderApproved","refreshLenderApproved","_useLenderPosition","_useLenderPosition2","refreshLenderPosition","balanceWithoutDecimals","handleSupplySuccess","CheckWithdrawable","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","TableContainer","Table","TableHead","TableRow","column","TableCell","noSeparator","TableBody","row","index","scope","dataIndex","display","alignItems","lineHeight","TablePagination","rowsPerPageOptions","onPageChange","onRowsPerPageChange","GET_ACTIVITY","gql","Activity","targetEvents","setEvents","_useQuery","useQuery","variables","creditEvents","parse","eventText","tableWrapper","ApolloWrapper","client","ApolloClient","cache","InMemoryCache","ApolloProvider","payerAddress","superToken","currentFlowRate","ONE_MONTH_SECONDS","borrowPeriodInSeconds","intervalInDays","getBorrowFlowrateAndAmount","currentFlowRateBN","totalAmountInBorrowPeriod","borrowFlowrate","gte","newBorrowAmountBN","newBorrowAmount","_getBorrowFlowrateAnd","getNewAllowance","newAllowance","borrower","_useERC2612Permit","getApproveAllowanceCallData","erc2612PermitResult","tokenContract","ERC2612Abi","interface","encodeFunctionData","getDrawdownCallData","NFTPermitResult","drawdownEncodedData","defaultAbiCoder","encode","PoolAbi","callData","addresses","approveAllowanceCallData","drawdownCalldata","multiSendContract","StreamFactoringBorrow","UpcomingList","items","connectWalletDesc","noItemDesc","isActive","progress","LinearProgress","FactoredList","getColumns","setItem","_usePoolUnderlyingTok","factoredItem","setFactoredItem","hasActiveLoan","_factoredItem","customProps","due","factored","remained","SuperfluidFactoredList","TableActionButton","handleClick","_ref$disabled","GET_RECEIVED_STREAMS","getUpcomingColumns","userHasActiveLoan","history","payer","SuperfluidUpcomingList","_poolInfo$extra$super","_poolInfo$extra","useHistory","streams","setStreams","tokenIds","_data$streams","flowrateMonth","sender","payerAbbr","goToCreateStream","href","SuperfluidFactoring","_useFactoring","store","configureStore","widgetsReducers","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","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","ThemeProvider","ReduxProvider","Web3Provider","AtomProvider","InvoiceFactoringBorrowWidget","InvoiceFactoringPaymentWidget","CreditLineBorrowWidget","CreditLinePaymentWidget","LendSupplyWidget","LendWithdrawWidget","SuperfluidFactoringWidget"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.cjs","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/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","../../src/hooks/useRedux.ts","../../src/store/widgets.store.ts","../../src/store/widgets.reducers.ts","../../src/store/widgets.selectors.ts","../../../../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../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/HumaLoading.tsx","../../src/components/WrapperModal.tsx","../../src/components/LoadingModal.tsx","../../src/components/WidgetWrapper.tsx","../../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../../node_modules/@babel/runtime/helpers/typeof.js","../../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../../../../node_modules/@babel/runtime/regenerator/index.js","../../src/utils/env.ts","../../src/hooks/useEA.ts","../../src/components/icons/spinner.gif","../../src/components/CreditLine/borrow/1-Evaluation.tsx","../../src/components/AllowListModal.tsx","../../src/components/CreditLine/borrow/2-AllowList.tsx","../../src/components/ChooseAmountModal.tsx","../../src/components/CreditLine/borrow/3-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/5-Transfer.tsx","../../src/components/TxDoneModal.tsx","../../src/components/CreditLine/borrow/6-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-AllowList.tsx","../../src/components/InvoiceFactoring/borrow/3-ChooseAmount.tsx","../../src/components/InvoiceFactoring/borrow/4-ConfirmTransfer.tsx","../../src/components/InvoiceFactoring/borrow/5-ApproveNFT.tsx","../../src/components/InvoiceFactoring/borrow/6-Transfer.tsx","../../src/components/InvoiceFactoring/borrow/7-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}","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}","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 { ApproveInfo } 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 AddToAllowList = 'AddToAllowList',\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 approveInfo?: ApproveInfo\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 { ApproveInfo } 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.approveInfo = 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 setApproveInfo: (\n state,\n { payload }: PayloadAction<ApproveInfo & { nextStep: WIDGET_STEP }>,\n ) => {\n state.approveInfo = payload\n if (Number(payload.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 setApproveInfo,\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","import { RootState } from '.'\r\n\r\nexport const selectWidgetState = (state: RootState) => state.widget\r\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}","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'\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'\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'\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 */\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 { 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'\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","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}","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","const checkIsDev = () =>\r\n !!(\r\n window.REACT_APP_FORCE_DEV_PREFIX_FOR_URLS ||\r\n window.location.hostname.startsWith('dev')\r\n )\r\n\r\nexport const envUtil = {\r\n checkIsDev,\r\n}\r\n","import { useWeb3React } from '@web3-react/core'\nimport {\n downScale,\n EAPayload,\n EARejectionError,\n EARejectMessage,\n EARejectReason,\n EAService,\n} from '@huma-finance/shared'\nimport { useCallback } from 'react'\n\nimport { setApproveInfo, setError, setStep } from '../store/widgets.reducers'\nimport { WIDGET_STEP } from '../store/widgets.store'\nimport { useAppDispatch } from './useRedux'\nimport { envUtil } from '../utils/env'\n\nconst useEA = () => {\n const dispatch = useAppDispatch()\n const { chainId } = useWeb3React()\n\n const checkingEA = useCallback(\n async (\n payload: EAPayload,\n nextStep: WIDGET_STEP,\n addToAllowList = false,\n ) => {\n try {\n const result = await EAService.approve(\n payload,\n chainId!,\n envUtil.checkIsDev(),\n )\n result.creditLimit = downScale<number>(\n result.creditLimit,\n result.tokenDecimal,\n )\n result.receivableAmount = downScale<number>(\n result.receivableAmount,\n result.tokenDecimal,\n )\n dispatch(setApproveInfo({ ...result, nextStep }))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (e: any) {\n if (e instanceof EARejectionError) {\n if (addToAllowList) {\n dispatch(setStep(WIDGET_STEP.AddToAllowList))\n } else {\n dispatch(\n setError({\n errorMessage: EARejectMessage,\n errorReason: EARejectReason,\n }),\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 { ChainEnum, 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 receivableAddress: poolInfo.assetAddress,\n },\n WIDGET_STEP.Evaluation,\n chainId === ChainEnum.Goerli,\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 { Box, Button, css, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport {\n EARejectMessageWithAllowList,\n EARejectReason,\n EAService,\n PoolInfoType,\n} from '@huma-finance/shared'\nimport React, { useCallback, useState } from 'react'\n\nimport { CustomError } from '../utilTypes'\nimport { ErrorModal } from './ErrorModal'\nimport { CheckCircleIcon } from './icons'\nimport { LoadingModal } from './LoadingModal'\nimport { WrapperModal } from './WrapperModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n handleSuccess: () => void\n handleError: (errorMessage: string) => void\n}\n\nexport function AllowListModal({\n poolInfo,\n handleSuccess,\n handleError,\n}: Props): React.ReactElement | null {\n const theme = useTheme()\n const { account } = useWeb3React()\n const [status, setStatus] = useState<\n 'notApproved' | 'approving' | 'approved'\n >('notApproved')\n\n const styles = {\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 addToAllowList = useCallback(async () => {\n try {\n setStatus('approving')\n await EAService.addToAllowList(account!, poolInfo.pool)\n setStatus('approved')\n } catch (e) {\n const error = e as CustomError\n handleError(error.message)\n }\n }, [account, handleError, poolInfo.pool])\n\n const continueToBorrow = () => {\n handleSuccess()\n }\n\n if (status === 'approving') {\n return (\n <LoadingModal\n title='Add To Allowlist'\n description='Waiting for approval confirmation...'\n />\n )\n }\n\n if (status === 'approved') {\n return (\n <WrapperModal title='Add To Allowlist'>\n <>\n <Box css={styles.congratsWrapper}>\n <CheckCircleIcon />\n <Box sx={{ marginLeft: '6px' }}>\n Congrats, you have been added to the allowlist\n </Box>\n </Box>\n <Box css={styles.bottom}>\n <Button variant='contained' onClick={continueToBorrow}>\n CONTINUE TO BORROW\n </Button>\n </Box>\n </>\n </WrapperModal>\n )\n }\n\n return (\n <ErrorModal\n title='Application Not Approved'\n errorReason={EARejectReason}\n errorMessage={EARejectMessageWithAllowList}\n handleOk={addToAllowList}\n okText='ADD ME TO ALLOWLIST'\n shouldResetState={false}\n />\n )\n}\n","import { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setError, setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { AllowListModal } from '../../AllowListModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function AllowList({ poolInfo }: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Evaluation))\n }, [dispatch])\n\n const handleError = useCallback(\n (errorMessage: string) => {\n dispatch(setError({ errorMessage }))\n },\n [dispatch],\n )\n\n return (\n <AllowListModal\n poolInfo={poolInfo}\n handleSuccess={handleSuccess}\n handleError={handleError}\n />\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 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\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 // @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={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={currentAmount}\n onChange={handleInputChange}\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={currentAmount === 0 || currentAmount > sliderMax}\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 { useWeb3React } from '@web3-react/core'\nimport {\n AccountStats,\n PoolInfoType,\n upScale,\n useCLFeeManager,\n useCLPoolAllowance,\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 { account } = useWeb3React()\n const { poolUnderlyingToken } = poolInfo\n const { symbol, decimals } = poolUnderlyingToken\n const { approved } = useCLPoolAllowance(poolInfo.poolName, account)\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 = approved\n ? WIDGET_STEP.Transfer\n : WIDGET_STEP.ApproveAllowance\n dispatch(\n setBorrowInfo({\n borrowAmount: currentAmount,\n borrowAmountBN: upScale(currentAmount, decimals),\n chargedFees,\n nextStep,\n }),\n )\n }, [approved, 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'\r\nimport React from 'react'\r\n\r\nimport { WCProps } from '../utilTypes'\r\n\r\ntype Props = {\r\n variant: 'contained' | 'outlined'\r\n onClick?: () => void\r\n}\r\n\r\nexport function BottomButton({\r\n variant,\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}>\r\n {children}\r\n </Button>\r\n </Box>\r\n )\r\n}\r\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\n handleSuccess: () => void\n}\n\nexport function ApproveAllowanceModal({\n poolInfo,\n showAutoPayback = false,\n allowanceAmount,\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: [poolInfo.pool, allowanceAmount ?? MaxUint256],\n provider,\n })\n }, [\n allowanceAmount,\n poolInfo.pool,\n poolUnderlyingTokenContract,\n provider,\n send,\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.Transfer))\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 { PoolInfoType } 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 { borrowAmountBN } = useAppSelector(selectWidgetState)\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Done))\n }, [dispatch])\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 { AllowList } from './2-AllowList'\nimport { ChooseAmount } from './3-ChooseAmount'\nimport { ApproveAllowance } from './4-ApproveAllowance'\nimport { Transfer } from './5-Transfer'\nimport { Success } from './6-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.AddToAllowList && <AllowList poolInfo={poolInfo} />}\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 { ChainEnum, 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 receivableAddress: poolInfo.assetAddress,\n receivableParam: toBigNumber(tokenId).toHexString(),\n },\n WIDGET_STEP.ChooseAmount,\n chainId === ChainEnum.Goerli,\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 { PoolInfoType } from '@huma-finance/shared'\nimport React, { useCallback } from 'react'\n\nimport { useAppDispatch } from '../../../hooks/useRedux'\nimport { setError, setStep } from '../../../store/widgets.reducers'\nimport { WIDGET_STEP } from '../../../store/widgets.store'\nimport { AllowListModal } from '../../AllowListModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function AllowList({ poolInfo }: Props): React.ReactElement | null {\n const dispatch = useAppDispatch()\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Evaluation))\n }, [dispatch])\n\n const handleError = useCallback(\n (errorMessage: string) => {\n dispatch(setError({ errorMessage }))\n },\n [dispatch],\n )\n\n return (\n <AllowListModal\n poolInfo={poolInfo}\n handleSuccess={handleSuccess}\n handleError={handleError}\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 { approveInfo } = useAppSelector(selectWidgetState)\n const { getFeesCharged } = useFeeManager(poolInfo.poolName, poolInfo.poolType)\n const [remainder, setRemainder] = useState(approveInfo!.receivableAmount)\n\n const getAvailableCreditLimit = () => {\n if (approveInfo && creditRecord) {\n const principal = creditRecord.unbilledPrincipal\n .add(creditRecord.totalDue)\n .sub(creditRecord.feesAndInterestDue)\n .toNumber()\n return Number(approveInfo.creditLimit) - principal\n }\n return 0\n }\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n if (approveInfo) {\n setCurrentAmount(newAmount)\n setChargedFees(getFeesCharged(newAmount))\n setRemainder(Number(approveInfo.receivableAmount) - newAmount)\n }\n },\n [approveInfo, getFeesCharged],\n )\n\n const handleAction = useCallback(() => {\n dispatch(\n setBorrowInfo({\n borrowAmount: currentAmount,\n borrowAmountBN: upScale(currentAmount, approveInfo?.tokenDecimal),\n chargedFees,\n remainder: Number(remainder!),\n nextStep: WIDGET_STEP.ConfirmTransfer,\n }),\n )\n }, [\n approveInfo?.tokenDecimal,\n chargedFees,\n currentAmount,\n dispatch,\n remainder,\n ])\n\n if (!approveInfo) {\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={approveInfo.tokenSymbol}\n topLeft='Fees'\n topRight={`${chargedFees} ${approveInfo.tokenSymbol}`}\n downLeft='Remainder'\n downRight={`${remainder} ${approveInfo.tokenSymbol}`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n />\n )\n}\n","import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\nimport { 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'\n\nexport function ConfirmTransfer(): React.ReactElement | null {\n const theme = useTheme()\n const dispatch = useAppDispatch()\n const { borrowAmountNet, approveInfo } = useAppSelector(selectWidgetState)\n\n const styles = {\n wrapper: css`\n height: 518px;\n position: relative;\n ${theme.cssMixins.colStretch};\n `,\n header: css`\n font-family: 'Uni-Neue-Bold';\n ${theme.cssMixins.rowHCentered};\n margin-top: -5px;\n `,\n description: css`\n font-family: 'Uni-Neue-Regular';\n font-weight: 500;\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 32px;\n margin-bottom: 9px;\n position: relative;\n box-sizing: border-box;\n `,\n arrow: css`\n color: #d2d0d6;\n position: absolute;\n margin: auto;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n `,\n okButton: css`\n width: 100%;\n position: absolute;\n bottom: 0;\n `,\n }\n\n const handleAction = () => {\n dispatch(setStep(WIDGET_STEP.ApproveNFT))\n }\n\n if (isEmpty(borrowAmountNet) || isEmpty(approveInfo)) {\n return null\n }\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n Confirm transaction details\n </Typography>\n <Box css={styles.description}>\n Huma keeps your Invoice NFT as collateral until it's fully paid.\n </Box>\n <Box css={styles.transferWrapper}>\n <Box css={styles.transfer}>\n <Box>Invoice NFT</Box>\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>Huma</Box>\n </Box>\n <Box css={styles.transfer}>\n <Box>\n {borrowAmountNet!} {approveInfo?.tokenSymbol}\n </Box>\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>You</Box>\n </Box>\n </Box>\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\n Approve Transfer\n </Button>\n </Box>\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'\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, approveInfo } =\r\n useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmountNet} ${approveInfo?.tokenSymbol} is now in your wallet.`,\r\n `The remaining ${remainder} ${approveInfo?.tokenSymbol} 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'\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 { AllowList } from './2-AllowList'\nimport { ChooseAmount } from './3-ChooseAmount'\nimport { ConfirmTransfer } from './4-ConfirmTransfer'\nimport { ApproveNFT } from './5-ApproveNFT'\nimport { Transfer } from './6-Transfer'\nimport { Success } from './7-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.AddToAllowList && <AllowList poolInfo={poolInfo} />}\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 { Box, css, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { EAService, PoolInfoType } from '@huma-finance/shared'\nimport React, { 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'\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 { account, chainId } = useWeb3React()\n const [loading, setLoading] = useState(false)\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 const approveLender = async () => {\n if (account) {\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\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} />\n <BottomButton variant='contained' onClick={approveLender}>\n GET APPROVED\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'\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'\nimport { Box, css } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport {\n CreditEvent,\n CreditEventText,\n downScale,\n PoolInfoType,\n timeUtil,\n useMQ,\n} from '@huma-finance/shared'\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 { title: 'Amount', dataIndex: 'amount' },\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'\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'\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 payerAddress: string\n superToken: string\n currentFlowRate: string\n}\n\nexport function Evaluation({\n poolInfo,\n payerAddress,\n superToken,\n currentFlowRate,\n}: Props): React.ReactElement {\n const { account } = useWeb3React()\n const { checkingEA } = useEA()\n const ONE_MONTH_SECONDS = 30 * 24 * 60 * 60\n const creditLimit = toBigNumber(currentFlowRate)\n .mul(ONE_MONTH_SECONDS)\n .toString()\n\n useEffect(() => {\n if (account) {\n checkingEA(\n {\n creditLimit,\n poolAddress: poolInfo.pool,\n borrowerWalletAddress: account,\n payerAddress,\n superToken,\n },\n WIDGET_STEP.ChooseAmount,\n )\n }\n }, [\n account,\n checkingEA,\n creditLimit,\n payerAddress,\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 { approveInfo } = 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 = approveInfo!.intervalInDays * 24 * 60 * 60\n\n const getBorrowFlowrateAndAmount = useCallback(\n (borrowAmount: number) => {\n const currentFlowRateBN = toBigNumber(currentFlowRate)\n const borrowAmountBN = toBigNumber(\n upScale(borrowAmount, approveInfo!.tokenDecimal),\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\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 approveInfo!.tokenDecimal,\n )\n\n return {\n borrowFlowrate: borrowFlowrate.toString(),\n borrowAmount: Number(newBorrowAmount),\n borrowAmountBN: newBorrowAmountBN.toString(),\n }\n },\n [approveInfo, borrowPeriodInSeconds, currentFlowRate],\n )\n\n const handleChangeAmount = useCallback(\n (newAmount: number) => {\n if (approveInfo) {\n setCurrentAmount(newAmount)\n setChargedFees(getFeesCharged(newAmount))\n }\n },\n [approveInfo, 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 (!approveInfo) {\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(approveInfo.creditLimit)}\n currentAmount={currentAmount}\n tokenSymbol={approveInfo.tokenSymbol}\n topLeft='Fees'\n topRight={`${chargedFees} ${approveInfo.tokenSymbol}`}\n handleChangeAmount={handleChangeAmount}\n handleAction={handleAction}\n actionText='Confirm Transfer'\n />\n )\n}\n","import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'\nimport { Box, Button, css, Typography, useTheme } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { CHAINS, 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'\n\nexport function ConfirmTransfer(): React.ReactElement | null {\n const theme = useTheme()\n const dispatch = useAppDispatch()\n const { chainId } = useWeb3React()\n const { borrowAmount, approveInfo } = useAppSelector(selectWidgetState)\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-weight: 500;\n font-size: 16px;\n color: #49505b;\n margin-top: 30px;\n `,\n transferWrapper: css`\n margin-top: 75px;\n `,\n transfer: css`\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 32px;\n margin-bottom: 9px;\n position: relative;\n `,\n arrow: css`\n color: #d2d0d6;\n position: absolute;\n margin: auto;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n `,\n okButton: css`\n width: 100%;\n position: absolute;\n bottom: 0;\n `,\n }\n\n const handleAction = () => {\n const step = CHAINS[chainId!].isTestnet\n ? WIDGET_STEP.ApproveAllowance\n : WIDGET_STEP.Permit\n dispatch(setStep(step))\n }\n\n if (isEmpty(borrowAmount) || isEmpty(approveInfo)) {\n return null\n }\n\n return (\n <Box css={styles.wrapper}>\n <Typography variant='h6' css={styles.header}>\n Confirm transaction details\n </Typography>\n <Box css={styles.description}>\n Huma keeps your Tradable Stream NFT as collateral until it's fully paid.\n </Box>\n <Box css={styles.transferWrapper}>\n <Box css={styles.transfer}>\n <Box>Tradable Stream</Box>\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>Huma</Box>\n </Box>\n <Box css={styles.transfer}>\n <Box>\n {borrowAmount!.toFixed(2)} {approveInfo?.tokenSymbol}\n </Box>\n <ArrowForwardIosIcon css={styles.arrow} />\n <Box>You</Box>\n </Box>\n </Box>\n <Button variant='contained' css={styles.okButton} onClick={handleAction}>\n Approve Transfer\n </Button>\n </Box>\n )\n}\n","import { useWeb3React } from '@web3-react/core'\nimport {\n PoolInfoType,\n toBigNumber,\n upScale,\n usePoolAllowance,\n} 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'\nimport { LoadingModal } from '../../LoadingModal'\n\ntype Props = {\n poolInfo: PoolInfoType\n}\n\nexport function ApproveAllowance({\n poolInfo,\n}: Props): React.ReactElement | null {\n const dispatch = useDispatch()\n const { account } = useWeb3React()\n const { borrowAmount, approveInfo } = useAppSelector(selectWidgetState)\n const { allowance, loaded } = usePoolAllowance(\n poolInfo.poolName,\n poolInfo.poolType,\n account,\n )\n\n const getNewAllowance = () => {\n if (!borrowAmount || !loaded) {\n return null\n }\n return toBigNumber(\n upScale(borrowAmount, poolInfo.poolUnderlyingToken.decimals),\n ).add(allowance)\n }\n\n const handleSuccess = useCallback(() => {\n dispatch(setStep(WIDGET_STEP.Permit))\n }, [dispatch])\n\n const newAllowance = getNewAllowance()\n\n if (!newAllowance) {\n return (\n <LoadingModal\n title={`Approve ${approveInfo?.tokenSymbol}`}\n description='Waiting for approval confirmation...'\n />\n )\n }\n\n return (\n <ApproveAllowanceModal\n poolInfo={poolInfo}\n allowanceAmount={newAllowance}\n handleSuccess={handleSuccess}\n />\n )\n}\n","import { Contract, ethers } from 'ethers'\nimport {\n CHAINS,\n Erc2612,\n PoolInfoType,\n StreamFactoringPool,\n useERC2612Permit,\n useMount,\n} from '@huma-finance/shared'\nimport ERC2612Abi from '@huma-finance/shared/dist/abis/erc2612.json'\nimport PoolAbi from '@huma-finance/shared/dist/abis/StreamFactoringPool.json'\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.pool,\n borrowAmountBN!,\n )\n const tokenContract = new Contract(tokenAddress, ERC2612Abi) as Erc2612\n return tokenContract.interface.encodeFunctionData('permit', [\n poolInfo.pool,\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.pool,\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 poolContract = new Contract(\n poolInfo.pool,\n PoolAbi,\n ) as StreamFactoringPool\n\n return poolContract.interface.encodeFunctionData(\n 'drawdownWithAuthorization',\n [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.pool)\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'\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, approveInfo } = useAppSelector(selectWidgetState)\r\n\r\n const content = [\r\n `${borrowAmount?.toFixed(2)} ${\r\n approveInfo?.tokenSymbol\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'\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 currentFlowRate={currentFlowRate}\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: '18px' }} />,\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 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 return (\n <FactoredList\n title='Streams'\n poolInfo={poolInfo}\n loading={loading}\n handlePayManually={handlePayManually}\n getColumns={getColumns}\n accountStats={accountStats}\n />\n )\n}\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'\nimport { EmotionJSX } from '@emotion/react/types/jsx-namespace'\nimport { Button } from '@mui/material'\nimport { useWeb3React } from '@web3-react/core'\nimport { History } from 'history'\nimport {\n downScale,\n getWalletAddressAbbr,\n PoolInfoType,\n toBigNumber,\n} from '@huma-finance/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { useHistory } from 'react-router'\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 history: History,\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: 'Payer Approve',\n action: (record) => (\n <TableActionButton\n title='Go To Approve'\n handleClick={() =>\n history.push(\n `/superfluid?payer=${record.payer}&superToken=${record.tokenId}`,\n )\n }\n disabled={userHasActiveLoan}\n />\n ),\n },\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 history = useHistory()\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: '18px' }} />,\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, history)}\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 PoolContractMap,\n PoolMap,\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={PoolContractMap[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 {\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 '&: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'\n\nimport { JsonRpcProvider } from '@ethersproject/providers'\nimport { ThemeProvider } from '@mui/material'\nimport { Provider as Eip1193Provider } from '@web3-react/types'\nimport {\n Provider as Web3Provider,\n ProviderProps as Web3Props,\n} from '@huma-finance/shared'\nimport { Provider as AtomProvider } from 'jotai'\nimport { Provider as ReduxProvider } from 'react-redux'\n\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 {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 jsonRpcUrlMap?: JsonRpcConnectionMap\n provider?: Eip1193Provider | JsonRpcProvider | null\n}\n\nfunction Widget(props: WCProps<WidgetProps>) {\n const { children } = props\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 {InvoiceFactoringBorrowWidgetProps} 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 {InvoiceFactoringPaymentWidgetProps} 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 {CreditLineBorrowWidgetProps} 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 {CreditLinePaymentWidgetProps} 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 {LendSupplyWidgetProps} 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","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","i","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","length","err","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","o","minLen","arrayLikeToArray","n","toString","slice","name","from","test","_nonIterableRest","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","useAppDispatch","useDispatch","useAppSelector","useSelector","WIDGET_STEP","initialWidgetState","widgetSlice","createSlice","initialState","reducers","resetState","state","errorReason","errorMessage","step","approveInfo","borrowAmount","borrowAmountBN","chargedFees","borrowAmountNet","remainder","tokenId","paymentAmount","remainDueAmount","stream","multisend","supplyAmount","withdrawAmount","setStep","_ref","payload","setApproveInfo","_ref2","creditLimit","nextStep","Error","setBorrowInfo","_ref3","setTokenId","_ref4","setPaymentAmount","_ref5","setSupplyAmount","_ref6","setWithdrawAmount","_ref7","setStream","_ref8","_state$stream","_objectSpread","setMultisend","_ref9","setError","_ref10","_widgetSlice$actions","actions","reducer","selectWidgetState","widget","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","_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","reset","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","error","info","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","keys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","HumaModalHeader","hideClose","allowBack","_ref$onBack","onBack","_ref$height","height","_excluded","buttonBackWrapper","spacing","buttonClose","palette","buttonCloseWrapper","headerBand","ChevronLeftOutlinedIcon","CloseIcon","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","forEach","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","asyncGeneratorStep","gen","resolve","reject","_next","_throw","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","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","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","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","checkIsDev","window","REACT_APP_FORCE_DEV_PREFIX_FOR_URLS","location","hostname","startsWith","envUtil","useEA","_useWeb3React","useWeb3React","chainId","checkingEA","_callee","addToAllowList","_args","_callee$","_context","EAService","approve","downScale","tokenDecimal","receivableAmount","t0","EARejectionError","AddToAllowList","EARejectMessage","EARejectReason","message","_x2","Evaluation","poolInfo","handleApprove","_useEA","account","status","setStatus","fetchData","poolAddress","pool","borrowerWalletAddress","receivableAddress","assetAddress","ChainEnum","Goerli","checkWrapper","rowVCentered","checkIcon","congratsWrapper","goToNextStep","ChooseAmount","sx","marginBottom","src","spinner","alt","_Fragment","marginLeft","AllowListModal","handleError","continueToBorrow","EARejectMessageWithAllowList","AllowList","ChooseAmountModal","tokenIcon","description1","description2","currentAmount","sliderMax","tokenSymbol","topLeft","topRight","downLeft","downRight","_ref$actionText","actionText","payoffAmount","_ref$hideTerms","hideTerms","_ref$type","handleChangeAmount","handleAction","chosenAmountWrapper","chosenAmount","chosenAmountSymbol","inputAmountWrapper","inputAmount","rowSpaceBetweened","inputField","maxButton","_templateObject9","amountAvailable","_templateObject10","editIcon","_templateObject11","_templateObject12","slider","_templateObject13","_templateObject14","_templateObject15","_templateObject16","terms","_templateObject17","handleSliderChange","newValue","handleInputChange","handleSetMax","handleIncrement","newAmount","handleDecrement","handlePayoff","component","fontSize","size","className","toFixed","ArrowDropUpIcon","ArrowDropDownIcon","Slider","max","min","onChange","Input","createElement","Divider","disabled","toUpperCase","accountStats","poolUnderlyingToken","symbol","decimals","_useCLPoolAllowance","useCLPoolAllowance","poolName","approved","_useCLFeeManager","useCLFeeManager","getFeesCharged","setChargedFees","_useState3","_useState4","setCurrentAmount","creditRecordStatic","creditAvailableAmount","newChargedFees","Transfer","ApproveAllowance","upScale","aprInBps","BottomButton","ViewOnExplorer","txHash","chain","CHAINS","openInNewTab","explorer","ApproveAllowanceModal","_ref$showAutoPayback","showAutoPayback","allowanceAmount","provider","poolUnderlyingTokenContract","usePoolUnderlyingTokenContract","poolType","send","waitingForAccept","TxStateType","New","Success","iconWrapper","sendApprove","contract","params","MaxUint256","useMount","TxSendModal","poolContract","usePoolContract","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","allowance","payAmount","toBigNumber","gt","paymentBigNumber","payedAmount","setPayedAmount","_decodeLogs","decodeLogs","logs","transferAbi","_decodeLogs2","formatMoney","CreditLinePayment","_useAccountStats2$","receivableParam","toHexString","_useFeeManager","useFeeManager","_useState5","_useState6","setRemainder","getAvailableCreditLimit","principal","unbilledPrincipal","add","totalDue","sub","feesAndInterestDue","ConfirmTransfer","colStretch","transferWrapper","transfer","arrow","ApproveNFT","isEmpty","ArrowForwardIosIcon","invoiceNFTContract","useInvoiceNFTContract","requestLoanBigNumber","InvoiceFactoringBorrow","_useRFPoolAllowance","useRFPoolAllowance","remainingDue","setRemainingDue","InvoiceFactoringPayment","handleApproveSuccess","loading","setLoading","approveLender","lenderWalletAddress","withdrawlLockoutSeconds","underlyingTokenBalance","depositAmount","needApprove","withdrawlLockoutDays","secondsToDays","supplyBigNumber","address","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","Activity","targetEvents","setEvents","_useQuery","useQuery","variables","owner","data","isSmSize","getPadding","creditEvents","JSON","parse","stringify","eventText","CreditEventText","amount","timestamp","tableWrapper","ApolloWrapper","uri","client","ApolloClient","cache","InMemoryCache","ApolloProvider","payerAddress","superToken","currentFlowRate","ONE_MONTH_SECONDS","mul","borrowPeriodInSeconds","intervalInDays","getBorrowFlowrateAndAmount","currentFlowRateBN","totalAmountInBorrowPeriod","borrowFlowrate","div","gte","newBorrowAmountBN","newBorrowAmount","_getBorrowFlowrateAnd","durationInSeconds","isTestnet","Permit","loaded","getNewAllowance","newAllowance","borrower","tokenAddress","_useERC2612Permit","useERC2612Permit","getERC2612PermitMessage","getTradableStreamPermitMessage","getApproveAllowanceCallData","erc2612PermitResult","tokenContract","Contract","ERC2612Abi","interface","encodeFunctionData","nonce","deadline","v","r","s","getDrawdownCallData","_callee2","NFTPermitResult","drawdownEncodedData","_callee2$","_context2","ethers","utils","defaultAbiCoder","encode","expiry","PoolAbi","_callee3","callData","addresses","approveAllowanceCallData","drawdownCalldata","_callee3$","_context3","code","multiSendContract","useMultiSendContract","StreamFactoringBorrow","UpcomingList","items","connectWalletDesc","noItemDesc","isActive","isMdSize","progress","LinearProgress","FactoredList","handlePayManually","getColumns","setItem","_usePoolUnderlyingTok","usePoolUnderlyingToken","factoredItem","setFactoredItem","receivableInfo","hasActiveLoan","hasRFActiveLoan","_factoredItem","customProps","due","factored","remained","SuperfluidFactoredList","TableActionButton","handleClick","_ref$disabled","GET_RECEIVED_STREAMS","getUpcomingColumns","userHasActiveLoan","handleGetPaid","history","payer","SuperfluidUpcomingList","_poolInfo$extra$super","_poolInfo$extra","useHistory","streams","setStreams","receiver","tokenIds","extra","superTokens","_data$streams","flowrateMonth","token","sender","payerAbbr","getWalletAddressAbbr","flowrate","filter","goToCreateStream","href","SuperfluidFactoring","_PoolContractMap","Superfluid","_useFactoring","useFactoring","Stream","accountHasActiveLoan","actionType","modalIsOpen","selectedItem","handleGetPaidSuccess","PoolMap","borrowDesc","subgraph","PoolContractMap","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","ThemeProvider","ReduxProvider","Web3Provider","AtomProvider","InvoiceFactoringBorrowWidget","InvoiceFactoringPaymentWidget","CreditLineBorrowWidget","CreditLinePaymentWidget","LendSupplyWidget","LendWithdrawWidget","SuperfluidFactoringWidget"],"mappings":"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"}