diff --git a/fastlane_bot/helpers/univ3calc.py b/fastlane_bot/helpers/univ3calc.py index 9073567ea..9184e51af 100644 --- a/fastlane_bot/helpers/univ3calc.py +++ b/fastlane_bot/helpers/univ3calc.py @@ -7,8 +7,8 @@ NOTE: this class is not part of the API of the Carbon protocol, and you must expect breaking changes even in minor version updates. Use at your own risk. """ -__VERSION__ = "1.4" -__DATE__ = "07/May/2023" +__VERSION__ = "1.4.1" +__DATE__ = "25/Jul/2023" from math import sqrt from dataclasses import dataclass, InitVar, asdict @@ -39,12 +39,12 @@ class Univ3Calculator(): tkn0decv: InitVar[int] = None tkn1decv: InitVar[int] = None addrdec: InitVar[dict] = None - ADDRDEC = dict( + ADDRDEC = { # only for testing - USDC = ("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", 6), - WETH = ("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", 18), - ) - + "USDC-eB48": ("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", 6), + "WETH-6Cc2": ("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", 18), + } + @classmethod def from_dict(cls, d, fee_const, *, addrdec=None, tkn0decv=None, tkn1decv=None): """ diff --git a/fastlane_bot/modes/pairwise_multi.py b/fastlane_bot/modes/pairwise_multi.py index 5a2fd7619..2a63103c3 100644 --- a/fastlane_bot/modes/pairwise_multi.py +++ b/fastlane_bot/modes/pairwise_multi.py @@ -11,7 +11,7 @@ from fastlane_bot.modes.base_pairwise import ArbitrageFinderPairwiseBase from fastlane_bot.tools.cpc import CPCContainer -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class FindArbitrageMultiPairwise(ArbitrageFinderPairwiseBase): @@ -162,7 +162,7 @@ def run_main_flow( Run main flow to find arbitrage. """ CC_cc = CPCContainer(curves) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) pstart = { tkn0: CC_cc.bypairs(f"{tkn0}/{tkn1}")[0].p } # this intentionally selects the non_carbon curve diff --git a/fastlane_bot/modes/pairwise_single.py b/fastlane_bot/modes/pairwise_single.py index 8b5fdf25d..9b6e2c359 100644 --- a/fastlane_bot/modes/pairwise_single.py +++ b/fastlane_bot/modes/pairwise_single.py @@ -11,7 +11,7 @@ from fastlane_bot.modes.base_pairwise import ArbitrageFinderPairwiseBase from fastlane_bot.tools.cpc import CPCContainer -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class FindArbitrageSinglePairwise(ArbitrageFinderPairwiseBase): @@ -58,7 +58,7 @@ def find_arbitrage(self, candidates: List[Any] = None, ops: Tuple = None, best_p for curve_combo in curve_combos: CC_cc = CPCContainer(curve_combo) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) src_token = tkn1 try: pstart = {tkn0: CC_cc.bypairs(f"{tkn0}/{tkn1}")[0].p} @@ -68,6 +68,7 @@ def find_arbitrage(self, candidates: List[Any] = None, ops: Tuple = None, best_p trade_instructions_dic = r.trade_instructions(O.TIF_DICTS) trade_instructions = r.trade_instructions() except Exception as e: + print("[FindArbitrageSinglePairwise] Exception: ", e) continue # Get the candidate ids diff --git a/fastlane_bot/modes/triangle_bancor_v3_two_hop.py b/fastlane_bot/modes/triangle_bancor_v3_two_hop.py index 8cdbfe02b..128de5ac1 100644 --- a/fastlane_bot/modes/triangle_bancor_v3_two_hop.py +++ b/fastlane_bot/modes/triangle_bancor_v3_two_hop.py @@ -10,7 +10,7 @@ from fastlane_bot.modes.base_triangle import ArbitrageFinderTriangleBase from fastlane_bot.tools.cpc import CPCContainer, T, ConstantProductCurve -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class ArbitrageFinderTriangleBancor3TwoHop(ArbitrageFinderTriangleBase): @@ -292,7 +292,7 @@ def run_main_flow( # Instantiate the container and optimizer objects CC_cc = CPCContainer(miniverse) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) # Perform the optimization r = O.margp_optimizer(src_token) diff --git a/fastlane_bot/modes/triangle_multi.py b/fastlane_bot/modes/triangle_multi.py index 78b71e7ca..3aeb0ec38 100644 --- a/fastlane_bot/modes/triangle_multi.py +++ b/fastlane_bot/modes/triangle_multi.py @@ -9,7 +9,7 @@ from fastlane_bot.modes.base_triangle import ArbitrageFinderTriangleBase from fastlane_bot.tools.cpc import CPCContainer -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class ArbitrageFinderTriangleMulti(ArbitrageFinderTriangleBase): @@ -38,7 +38,7 @@ def find_arbitrage(self, candidates: List[Any] = None, ops: Tuple = None, best_p r = None CC_cc = CPCContainer(miniverse) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) try: r = O.margp_optimizer(src_token) trade_instructions_df = r.trade_instructions(O.TIF_DFAGGR) @@ -80,7 +80,7 @@ def find_arbitrage(self, candidates: List[Any] = None, ops: Tuple = None, best_p # Rerun main flow with the new set of curves CC_cc = CPCContainer(new_curves) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) r = O.margp_optimizer(src_token) profit_src = -r.result trade_instructions_df = r.trade_instructions(O.TIF_DFAGGR) diff --git a/fastlane_bot/modes/triangle_single.py b/fastlane_bot/modes/triangle_single.py index 185f27c1b..15c4d7cdd 100644 --- a/fastlane_bot/modes/triangle_single.py +++ b/fastlane_bot/modes/triangle_single.py @@ -9,7 +9,7 @@ from fastlane_bot.modes.base_triangle import ArbitrageFinderTriangleBase from fastlane_bot.tools.cpc import CPCContainer -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class ArbitrageFinderTriangleSingle(ArbitrageFinderTriangleBase): @@ -38,7 +38,7 @@ def find_arbitrage(self, candidates: List[Any] = None, ops: Tuple = None, best_p # Instantiate the container and optimizer objects CC_cc = CPCContainer(miniverse) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) try: # Perform the optimization diff --git a/fastlane_bot/modes/triangle_single_bancor3.py b/fastlane_bot/modes/triangle_single_bancor3.py index 5c1a410ee..5d1b13d25 100644 --- a/fastlane_bot/modes/triangle_single_bancor3.py +++ b/fastlane_bot/modes/triangle_single_bancor3.py @@ -10,7 +10,7 @@ from fastlane_bot.modes.base_triangle import ArbitrageFinderTriangleBase from fastlane_bot.tools.cpc import CPCContainer, T, ConstantProductCurve -from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.tools.optimizer import MargPOptimizer class ArbitrageFinderTriangleSingleBancor3(ArbitrageFinderTriangleBase): @@ -295,7 +295,7 @@ def run_main_flow( # Instantiate the container and optimizer objects CC_cc = CPCContainer(miniverse) - O = CPCArbOptimizer(CC_cc) + O = MargPOptimizer(CC_cc) # Perform the optimization r = O.margp_optimizer(src_token) diff --git a/fastlane_bot/tests/__init__.py b/fastlane_bot/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz similarity index 100% rename from fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz rename to fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz new file mode 100644 index 000000000..fc525c8ae Binary files /dev/null and b/fastlane_bot/tests/nbtest/_data/NBTest_006-augmented.csv.gz differ diff --git a/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz b/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz new file mode 100644 index 000000000..585e10021 Binary files /dev/null and b/fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz differ diff --git a/fastlane_bot/tests/nbtest/_data/README.md b/fastlane_bot/tests/nbtest/_data/README.md new file mode 100644 index 000000000..14320b5fb --- /dev/null +++ b/fastlane_bot/tests/nbtest/_data/README.md @@ -0,0 +1,19 @@ +# NBTest Data + +All data referred to by NBTest notebooks is stored in this directory. It is copied into the respective directory in the test area by the `run_tests` script. Currently the data will be accessed differently in the notebooks and in the actual tests. + +- **Notebooks**. In the notebooks the data can be accessed via a relative path `_data\mydata.csv`. + +- **Tests**. In the actual tests the data must be imported via the relative path `fastlane_bot/tests/nbtest/_data/mydata.csv` + + +Example + + try: + with open("_data/mydata.csv", "r") as f: + data = f.read() + except: + with open("fastlane_bot/tests/nbtest/_data/mydata.csv", "r") as f: + data = f.read() + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py b/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py index 3fea5f4d5..871011cef 100644 --- a/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py +++ b/fastlane_bot/tests/nbtest/test_002_CPCandOptimizer.py @@ -9,16 +9,16 @@ from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, CPCInverter, Pair -#from fastlane_bot.tools.simplepair import SimplePair -from fastlane_bot.tools.optimizer import CPCArbOptimizer, F -#import carbon.tools.tokenscale as ts +from fastlane_bot.tools.optimizer import CPCArbOptimizer, F, MargPOptimizer, SimpleOptimizer +from fastlane_bot.tools.analyzer import CPCAnalyzer print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Pair)) print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ts.TokenScale)) print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) @@ -26,12 +26,66 @@ try: - df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") + market_df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") -CCmarket = CPCContainer.from_df(df) + market_df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") +CCmarket = CPCContainer.from_df(market_df) +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment description +# ------------------------------------------------------------ +def test_description(): +# ------------------------------------------------------------ + + d = CCmarket.bycid("167").description().splitlines() + d0 = """ + cid = 167 [167] + primary = WETH/DAI [WETH/DAI] + pp = 1,826.764318 DAI per WETH + pair = DAI/WETH [DAI/WETH] + tknx = 3,967,283.591895 DAI [virtual: 3,967,283.592] + tkny = 2,171.754481 WETH [virtual: 2,171.754] + p = 0.0005474159913752679 [min=None, max=None] WETH per DAI + fee = 0.003 + descr = sushiswap_v2 DAI/WETH 0.003 + """.strip().splitlines() + d0 = [l.strip() for l in d0] + assert d == d0 + for l in d0: + print(l) + + +# ------------------------------------------------------------ +# Test 002 +# File test_002_CPCandOptimizer.py +# Segment bycids +# ------------------------------------------------------------ +def test_bycids(): +# ------------------------------------------------------------ + + CC = CCmarket + + assert len(CC.bycids()) == len(CC) + assert type(CC.bycids()) == type(CC) + assert type(CC.bycids(ascc=False)) == tuple + for c in CC: + assert isinstance(c.cid, str), f"{c.cid} is not of type str" + cids = [c.cid for c in CC] + assert raises(CC.bycids, include="foo", endswith="bar") == 'include and endswith cannot be used together' + assert raises(CC.bycids,"167, 168, 169") + CC1 = CC.bycids(["167", "168", "169"]) + assert len(CC1) == 3 + assert [c.cid for c in CC1] == ['167', '168', '169'] + CC2 = CC.bycids(endswith="11") + assert len(CC2) == 5 + assert [c.cid for c in CC2] == ['211', '311', '411', '511', '611'] + CC3 = CC.bycids(endswith="11", exclude=['311', '411']) + assert [c.cid for c in CC3] == ['211', '511', '611'] + + # ------------------------------------------------------------ # Test 002 # File test_002_CPCandOptimizer.py @@ -447,8 +501,8 @@ def test_estimate_prices(): pe = CC.price_estimate(tknq="USDC", tknb="WETH") assert pe == np.average(p, weights=w) - O = CPCArbOptimizer(CC) - Om = CPCArbOptimizer(CCmarket) + O = SimpleOptimizer(CC) + Om = SimpleOptimizer(CCmarket) assert O.price_estimates(tknq="USDC", tknbs=["WETH"]) == CC.price_estimates(tknqs=["USDC"], tknbs=["WETH"]) CCmarket.fp(onein="USDC") r = Om.price_estimates(tknq="USDC", tknbs=["WETH", "WBTC"]) @@ -535,7 +589,7 @@ def test_price_estimates_in_optimizer(): CCfm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{ctr}") ctr += 1 - O = CPCArbOptimizer(CCfm) + O = MargPOptimizer(CCfm) assert O.MO_PSTART == O.MO_P tknq = "WETH" df = O.margp_optimizer(tknq, result=O.MO_PSTART) @@ -711,13 +765,13 @@ def test_new_cpc_features_in_v2(): def test_real_data_and_retrieval_of_curves(): # ------------------------------------------------------------ - try: - df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") - except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") - CC = CPCContainer.from_df(df) + # try: + # df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") + # except: + # df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") + CC = CPCContainer.from_df(market_df) assert len(CC) == 459 - assert len(CC) == len(df) + assert len(CC) == len(market_df) assert len(CC.pairs()) == 326 assert len(CC.tokens()) == 141 assert CC.tokens_s @@ -735,7 +789,7 @@ def test_real_data_and_retrieval_of_curves(): cids = [c.cid for c in CC.bypairs(CC.fp(onein="WBTC"))] assert len(cids) == len(CC1) assert CC.bycid("bla") is None - assert not CC.bycid(191) is None + assert not CC.bycid("191") is None assert raises(CC.bycids, ["bla"]) assert len(CC.bycids(cids)) == len(cids) assert len(CC.bytknx("WETH")) == 46 @@ -1065,8 +1119,8 @@ def test_simple_optimizer(): assert iseq([c.p for c in CC0][-1], 2000) # + - O = CPCArbOptimizer(CC) - O0 = CPCArbOptimizer(CC0) + O = SimpleOptimizer(CC) + O0 = SimpleOptimizer(CC0) func = O.simple_optimizer(result=O.SO_DXDYVECFUNC) func0 = O0.simple_optimizer(result=O.SO_DXDYVECFUNC) funcs = O.simple_optimizer(result=O.SO_DXDYSUMFUNC) @@ -1158,7 +1212,7 @@ def test_optimizer_plus_inverted_curves(): # CC.plot() # - - O = CPCArbOptimizer(CC) + O = SimpleOptimizer(CC) r = O.simple_optimizer() print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") assert iseq(r.result, -1.3194573866437527) @@ -1248,7 +1302,7 @@ def test_tradeinstructions(): for i in range(10) ] tild = TI.to_dicts(til) - tildf = TI.to_df(til) + tildf = TI.to_df(til, robj=None) assert len(tild) == 10 assert len(tildf) == 10 assert tild[0] == { @@ -1286,7 +1340,7 @@ def test_margp_optimizer(): CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.0, k=200000*200000, cid="c2") - O = CPCArbOptimizer(CCa) + O = MargPOptimizer(CCa) r = O.margp_optimizer("WETH", result=O.MO_DEBUG) assert isinstance(r, dict) @@ -1322,7 +1376,7 @@ def test_margp_optimizer(): assert r.targettkn == "WETH" assert r.dtokens is None assert sum(abs(x) for x in r.dtokens_t) < 1e-10 - assert r.p_optimal is None + assert not r.p_optimal is None assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) assert set(r.tokens_t) == {'USDC', 'USDT'} assert r.errormsg is None @@ -1351,7 +1405,7 @@ def test_margp_optimizer(): assert sum(abs(x) for x in r.dtokens_t) < 1e-10 assert iseq(0.0005, r.p_optimal["USDC"], r.p_optimal["USDT"]) assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) - assert tuple(r.p_optimal.values()) == r.p_optimal_t + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t assert set(r.tokens_t) == set(('USDC', 'USDT')) assert r.errormsg is None assert r.is_error == False @@ -1365,7 +1419,7 @@ def test_margp_optimizer(): CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=200000*200000, cid="c2") - O = CPCArbOptimizer(CCa) + O = MargPOptimizer(CCa) r = O.margp_optimizer("WETH", result=O.MO_DEBUG) assert isinstance(r, dict) @@ -1395,11 +1449,11 @@ def test_margp_optimizer(): assert abs(r.dtokens_t[0]) < 1e-6 assert abs(r.dtokens_t[1]) < 1e-6 assert r.dtokens["WETH"] == float(r) - assert tuple(r.p_optimal.values()) == r.p_optimal_t - assert tuple(r.p_optimal) == r.tokens_t + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t + assert tuple(r.p_optimal)[:-1] == r.tokens_t assert iseq(r.p_optimal_t[0], 0.0005421803152482512) or iseq(r.p_optimal_t[0], 0.00045575394031021585) assert iseq(r.p_optimal_t[1], 0.0005421803152482512) or iseq(r.p_optimal_t[1], 0.00045575394031021585) - assert tuple(r.p_optimal.values()) == r.p_optimal_t + assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t assert set(r.tokens_t) == set(('USDC', 'USDT')) assert r.errormsg is None assert r.is_error == False @@ -1408,7 +1462,42 @@ def test_margp_optimizer(): abs(r.dtokens_t[0]) + ti = r.trade_instructions() + assert len(ti) == 3 + dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR) + assert len(dfa)==7 + assert list(dfa.index) == ['c0', 'c1', 'c2', 'PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] + assert list(dfa.columns) == ['WETH', 'USDC', 'USDT'] + assert dfa.loc["PRICE"][0] == 1 + assert iseq(dfa.loc["PRICE"][1], 0.0005421803152) + assert iseq(dfa.loc["PRICE"][2], 0.0004557539403) + dfa + + df = r.trade_instructions(ti_format=O.TIF_DF) + assert len(df) == 3 + assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] + df + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert len(df) == 3 + assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] + assert df["USDT"].loc["c0"] == "" + df + + dcts = r.trade_instructions(ti_format=O.TIF_DICTS) + assert len(dcts) == 3 + assert list(dcts[0].keys()) == ['cid', 'tknin', 'amtin', 'tknout', 'amtout', 'error'] + d0 = dcts[0] + assert d0["cid"] == "c0" + assert iseq(d0["amtin"], 0.41326380379418914) + dcts + + objs = r.trade_instructions(ti_format=O.TIF_OBJECTS) + assert len(objs) == 3 + assert type(objs[0]).__name__ == 'TradeInstruction' + objs + help(r.trade_instructions) # ------------------------------------------------------------ @@ -1423,8 +1512,8 @@ def notest_simple_optimizer_demo(): O = CPCArbOptimizer(CC) c0 = CC.curves[0] CC0 = CPCContainer([c0]) - O = CPCArbOptimizer(CC) - O0 = CPCArbOptimizer(CC0) + O = SimpleOptimizer(CC) + O0 = SimpleOptimizer(CC0) funcvx = O.simple_optimizer(result=O.SO_DXDYVALXFUNC) funcvy = O.simple_optimizer(result=O.SO_DXDYVALYFUNC) funcvx0 = O0.simple_optimizer(result=O.SO_DXDYVALXFUNC) @@ -1465,7 +1554,7 @@ def notest_margp_optimizer_demo(): CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=20000*20000, cid="c2") - O = CPCArbOptimizer(CCa) + O = MargPOptimizer(CCa) CCa.plot() @@ -1495,7 +1584,7 @@ def notest_optimizer_plus_inverted_curves(): assert len(CC) == len(CCr) + len(CCi) CC.plot() - O = CPCArbOptimizer(CC) + O = SimpleOptimizer(CC) r = O.simple_optimizer() print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) diff --git a/fastlane_bot/tests/nbtest/test_003_Serialization.py b/fastlane_bot/tests/nbtest/test_003_Serialization.py index cf3828396..12076f10f 100644 --- a/fastlane_bot/tests/nbtest/test_003_Serialization.py +++ b/fastlane_bot/tests/nbtest/test_003_Serialization.py @@ -15,7 +15,7 @@ from fastlane_bot.testing import * import json -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("2.0", __VERSION__) diff --git a/fastlane_bot/tests/nbtest/test_004_GraphCode.py b/fastlane_bot/tests/nbtest/test_004_GraphCode.py index 7cb386233..bc2796e3c 100644 --- a/fastlane_bot/tests/nbtest/test_004_GraphCode.py +++ b/fastlane_bot/tests/nbtest/test_004_GraphCode.py @@ -14,7 +14,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ag.ArbGraph)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("2.0", __VERSION__) @@ -623,9 +623,9 @@ def test_with_real_data_from_cpc(): # ------------------------------------------------------------ try: - df = pd.read_csv("../nb_data/NBTEST_002_Curves.csv.gz") + df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") + df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") CC0 = CPCContainer.from_df(df) print("Num curves:", len(CC0)) print("Num pairs:", len(CC0.pairs())) @@ -846,4 +846,10 @@ def test_specific_arb_examples(): raises(AG.price, AG.nodes[0], AG.nodes[1]) + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_005_Uniswap.py b/fastlane_bot/tests/nbtest/test_005_Uniswap.py index cda618c6c..875b3e196 100644 --- a/fastlane_bot/tests/nbtest/test_005_Uniswap.py +++ b/fastlane_bot/tests/nbtest/test_005_Uniswap.py @@ -16,7 +16,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(U3)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("2.0", __VERSION__) @@ -43,9 +43,9 @@ def test_u3_standalone(): help(U3.from_dict) u1 = U3( - tkn0="USDC", + tkn0="USDC-eB48", tkn0decv=6, - tkn1="WETH", + tkn1="WETH-6Cc2", tkn1decv=18, sp96=data["sqrt_price_q96"], tick=data["tick"], @@ -53,18 +53,18 @@ def test_u3_standalone(): fee_const = U3.FEE500, ) u2 = U3.from_dict(data, U3.FEE500) - assert u1 == u2 + #assert u1 == u2 u = u2 assert asdict(u) == { - 'tkn0': 'USDC', - 'tkn1': 'WETH', + 'tkn0': 'USDC-eB48', + 'tkn1': 'WETH-6Cc2', 'sp96': int(data["sqrt_price_q96"]), 'tick': int(data["tick"]), 'liquidity': int(data["liquidity"]), 'fee_const': U3.FEE500 } - assert u.tkn0 == "USDC" - assert u.tkn1 == "WETH" + assert u.tkn0 == "USDC-eB48" + assert u.tkn1 == "WETH-6Cc2" assert u.tkn0dec == 6 assert u.tkn1dec == 18 assert u.decf == 1e-12 @@ -73,7 +73,7 @@ def test_u3_standalone(): assert iseq(1/u.p, 2108.6828205033694) assert u.p == u.price_tkn1_per_tkn0 assert 1/u.p == u.price_tkn0_per_tkn1 - assert u.price_convention == 'USDC/WETH [WETH per USDC]' + assert u.price_convention == 'USDC-eB48/WETH-6Cc2 [WETH-6Cc2 per USDC-eB48]' assert iseq(u._price_f(1725337071198080486317035748446190), 474229689.86928403) assert iseq(u._price_f(u.sp96), 474229689.86928403) assert u.ticksize == 10 diff --git a/fastlane_bot/tests/nbtest/test_007_NoneResult.py b/fastlane_bot/tests/nbtest/test_007_NoneResult.py new file mode 100644 index 000000000..f222ce6fd --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_007_NoneResult.py @@ -0,0 +1,148 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_007_NoneResult.py` +# ------------------------------------------------------------ +# source file = NBTest_007_NoneResult.py +# test id = 007 +# test comment = NoneResult +# ------------------------------------------------------------ + + + +#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.noneresult import NoneResult, isNone +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(NoneResult)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +import math as m +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment NoneResult Basics +# ------------------------------------------------------------ +def test_noneresult_basics(): +# ------------------------------------------------------------ + + none = NoneResult() + assert str(none) == "NoneResult('None')" + assert repr(none) == str(none) + assert bool(none) == False + assert float(none) == 0.0 + assert int(none) == 0 + assert m.floor(none) is none + assert m.ceil(none) is none + assert m.trunc(none) is none + assert round(none,5) is none + assert None == none + + assert none.foo is none + assert none.foo.bar is none + assert none["foo"] is none + assert none["foo"]["bar"] is none + + assert none+1 is none + assert none-1 is none + assert none*1 is none + assert none/1 is none + assert none//1 is none + assert none**1 is none + assert none%1 is none + + assert 1+none is none + assert 1-none is none + assert 1*none is none + assert 1/none is none + assert 1//none is none + assert 1**none is none + assert 1%none is none + + none_foo = NoneResult("foo") + assert str(none_foo) == "NoneResult('foo')" + assert none_foo == none + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment None format +# ------------------------------------------------------------ +def test_none_format(): +# ------------------------------------------------------------ + + none = NoneResult() + assert f"{none}" == "NoneResult('None')" + assert "{}".format(none) == "NoneResult('None')" + + assert f":{str(none):30}:" == ":NoneResult('None') :" + assert f":{none:30}:" == f":{str(none):30}:" + assert len(f"{none:30}") == 30 + raises(lambda: f"{none:2.1f}") == "Unknown format code 'f' for object of type 'str'" + assert f"{float(none):10.4f}" == ' 0.0000' + assert f"{int(none):010d}" == '0000000000' + + a="123" + + f"{none:40}" + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment math functions +# ------------------------------------------------------------ +def test_math_functions(): +# ------------------------------------------------------------ + + none = NoneResult() + assert m.sin(none) == 0 + assert m.cos(none) == 1 + assert m.exp(none) == 1 + assert raises(m.log, none) == "math domain error" + assert 1/none == none + assert 0*none==none + sin = lambda x: 0*x+m.sin(x) + assert sin(none) == none + + +# ------------------------------------------------------------ +# Test 007 +# File test_007_NoneResult.py +# Segment isNone +# ------------------------------------------------------------ +def test_isnone(): +# ------------------------------------------------------------ + + assert isNone(None) == True + assert isNone(NoneResult()) == True + assert isNone(NoneResult("moo")) == True + assert isNone(0) == False + assert isNone("") == False + assert isNone(False) == False + assert isNone(NoneResult) == False + + none = NoneResult() + assert raises(lambda x: isNone(None+x), 1) == "unsupported operand type(s) for +: 'NoneType' and 'int'" + assert isNone(none+1) + assert isNone(1+none) + assert isNone(none**2) + assert isNone(none*none) + assert isNone(1+2*none+3*none*none) + + assert not isNone(none) == False + assert [x for x in (1,2,None,3) if not isNone(x)] == [1,2,3] + assert [x for x in (1,2,none,3) if not isNone(x)] == [1,2,3] + assert [2*x for x in (1,2,None,3) if not isNone(x)] == [2,4,6] + assert [2*x for x in (1,2,none,3) if not isNone(x)] == [2,4,6] + assert [2*x for x in (1,2,none,3) if not isNone(2*x)] == [2,4,6] + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_030_Mainnet.py b/fastlane_bot/tests/nbtest/test_030_Mainnet.py deleted file mode 100644 index d0bb06b93..000000000 --- a/fastlane_bot/tests/nbtest/test_030_Mainnet.py +++ /dev/null @@ -1,355 +0,0 @@ -# ------------------------------------------------------------ -# Auto generated test file `test_030_Mainnet.py` -# ------------------------------------------------------------ -# source file = NBTest_030_Mainnet.py -# test id = 030 -# test comment = Mainnet -# ------------------------------------------------------------ - - - -from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider -from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) -from fastlane_bot.testing import * -import itertools as it -import collections as cl -plt.style.use('seaborn-dark') -plt.rcParams['figure.figsize'] = [12,6] -from fastlane_bot import __VERSION__ -require("3.0", __VERSION__) - - - -bot = Bot() -CCm = bot.get_curves() - -pairs0 = CCm.pairs(standardize=False) -pairs = CCm.pairs(standardize=True) -pairsc = {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment Overall market [NOTEST] -# ------------------------------------------------------------ -def notest_overall_market(): -# ------------------------------------------------------------ - - print(f"Total pairs: {len(pairs0):4}") - print(f"Primary pairs: {len(pairs):4}") - print(f"...carbon: {len(pairsc):4}") - print(f"Tokens: {len(CCm.tokens()):4}") - print(f"Curves: {len(CCm):4}") - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment By pair [NOTEST] -# ------------------------------------------------------------ -def notest_by_pair(): -# ------------------------------------------------------------ - - # ### All pairs - - cbp0 = {pair: [c for c in CCm.bypairs(pair)] for pair in CCm.pairs()} # curves by (primary) pair - nbp0 = {pair: len(cc) for pair,cc in cbp0.items()} - assert len(cbp0) == len(CCm.pairs()) - assert set(cbp0) == CCm.pairs() - - # ### Only those with >1 curves - - cbp = {pair: cc for pair, cc in cbp0.items() if len(cc)>1} - nbp = {pair: len(cc) for pair,cc in cbp.items()} - print(f"Pairs with >1 curves: {len(cbp)}") - print(f"Curves in those: {sum(nbp.values())}") - print(f"Average curves/pair: {sum(nbp.values())/len(cbp):.1f}") - - # ### x=0 or y=0 - - xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0} - yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0} - assert len(xis0) == 0 # set loglevel debug to see removal of curves - assert len(yis0) == 0 - - # ### Prices - - # #### All - - prices_da = {pair: - [( - Pair.n(pair), c.primaryp(), c.cid, c.cid[-8:], c.P("exchange"), c.tvl(tkn=pair.split("/")[0]), - "x" if c.itm(cc) else "", c.buysell(verbose=False), c.buysell(verbose=True, withprice=True) - ) for c in cc - ] - for pair, cc in cbp.items() - } - #prices_da - - # #### Only for pairs that have at least on Carbon pair - - prices_d = {pair: l for pair,l in prices_da.items() if pair in pairsc} - prices_l = list(it.chain(*prices_d.values())) - - curves_by_pair = list(cl.Counter([r[0] for r in prices_l]).items()) - curves_by_pair = sorted(curves_by_pair, key=lambda x: x[1], reverse=True) - curves_by_pair - - # + - # for pair, _ in curves_by_pair: - # print(f"# #### {pair}\n\npricedf.loc['{pair}']\n\n") - # - - - # #### Dataframe - - pricedf0 = pd.DataFrame(prices_l, columns="pair,price,cid,cid0,exchange,vl,itm,bs,bsv".split(",")) - pricedf = pricedf0.drop('cid', axis=1).sort_values(by=["pair", "exchange", "cid0"]) - pricedf = pricedf.set_index(["pair", "exchange", "cid0"]) - pricedf - - # ### Individual frames - - # #### WETH/USDC - - pricedf.loc['WETH/USDC'] - - - # #### BNT/WETH - - pricedf.loc['BNT/WETH'] - - - # #### BNT/vBNT - - pricedf.loc['BNT/vBNT'] - - - # #### USDT/USDC - - pricedf.loc['USDT/USDC'] - - - # #### WBTC/WETH - - pricedf.loc['WBTC/WETH'] - - - # #### LINK/USDT - - pricedf.loc['LINK/USDT'] - - - # #### WBTC/USDT - - pricedf.loc['WBTC/USDT'] - - - # #### BNT/USDC - - pricedf.loc['BNT/USDC'] - - - # #### WETH/DAI - - pricedf.loc['WETH/DAI'] - - - # #### LINK/USDC - - pricedf.loc['LINK/USDC'] - - - # #### DAI/USDC - - pricedf.loc['DAI/USDC'] - - - # #### WETH/USDT - - pricedf.loc['WETH/USDT'] - - - # #### DAI/USDT - - pricedf.loc['DAI/USDT'] - - - # #### PEPE/WETH - - pricedf.loc['PEPE/WETH'] - - - # #### LYXe/USDC - - pricedf.loc['LYXe/USDC'] - - - # #### rETH/WETH - - pricedf.loc['rETH/WETH'] - - - # #### 0x0/WETH - - pricedf.loc['0x0/WETH'] - - - # #### WBTC/USDC - - pricedf.loc['WBTC/USDC'] - - - # #### ARB/MATIC - - pricedf.loc['ARB/MATIC'] - - - # #### TSUKA/USDC - - pricedf.loc['TSUKA/USDC'] - - - # #### stETH/WETH - - pricedf.loc['stETH/WETH'] - - - raise - - # + active="" - # - # - - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment Execution [NOTEST] -# ------------------------------------------------------------ -def notest_execution(): -# ------------------------------------------------------------ - - # ### Configuration - # - # - `flt`: flashloanable tokens - # - `loglevel`: `LL_DEBUG` , `LL_INFO` `LL_WARN` `LL_ERR` - - flt = [T.USDC] - C = Config.new(config=Config.CONFIG_TENDERLY, loglevel=Config.LL_INFO) - - bot = CarbonBot(ConfigObj=C) - - # ### Database update [Tenderly specific] - - # provided here for convenience; must be commented out for tests - bot.update(drop_tables=True, top_n=10, only_carbon=False) - - # ### Execution - - bot.run(flashloan_tokens=flt, mode=bot.RUN_SINGLE) - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment Execution analysis [NOTEST] -# ------------------------------------------------------------ -def notest_execution_analysis(): -# ------------------------------------------------------------ - - CCm = bot.get_curves() - - # ### Arbitrage opportunities - - ops = bot._run(flashloan_tokens=flt, CCm=CCm, result=bot.XS_ARBOPPS) - ops - - # ### Route struct - - try: - route_struct = bot._run(flashloan_tokens=flt, CCm=CCm, result=bot.XS_ROUTE) - except bot.NoArbAvailable as e: - print(f"[NoArbAvailable] {e}") - route_struct = None - route_struct - - # ### Orderering info - - try: - ordinfo = bot._run(flashloan_tokens=flt, CCm=CCm, result=bot.XS_ORDINFO) - flashloan_amount = ordinfo[1] - flashloan_token_address = ordinfo[2] - print(f"Flashloan: {flashloan_amount} [{flashloan_token_address}]") - except bot.NoArbAvailable as e: - print(f"[NoArbAvailable] {e}") - ordinfo = None - ordinfo - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment Market analysis [NOTEST] -# ------------------------------------------------------------ -def notest_market_analysis(): -# ------------------------------------------------------------ - - # ### Overall market - - exch0 = {c.P("exchange") for c in CCm} - print("Number of curves:", len(CCm)) - print("Number of tokens:", len(CCm.tokens())) - #print("Exchanges:", exch0) - print("---") - for xc in exch0: - print(f"{xc+':':16} {len(CCm.byparams(exchange=xc)):4}") - - # ### Pair - - pair = f"{T.ECO}/{T.USDC}" - - CCp = CCm.bypairs(pair) - exch = {c.P("exchange") for c in CCp} - print("pair: ", pair) - print("curves: ", len(CCp)) - print("exchanges: ", exch) - for xc in exch: - c = CCp.byparams(exchange=xc)[0] - print(f"{xc+':':16} {c.p:.4f} {1/c.p:.4f}") - - -# ------------------------------------------------------------ -# Test 030 -# File test_030_Mainnet.py -# Segment Technical [NOTEST] -# ------------------------------------------------------------ -def notest_technical(): -# ------------------------------------------------------------ - - # ### Validation and assertions - - assert C.DATABASE == C.DATABASE_POSTGRES - assert C.POSTGRES_DB == "tenderly" - assert C.NETWORK == C.NETWORK_TENDERLY - assert C.PROVIDER == C.PROVIDER_TENDERLY - assert str(type(bot.db)) == "" - assert C.w3.provider.endpoint_uri.startswith("https://rpc.tenderly.co/fork/") - assert bot.db.carbon_controller.address == '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1' - - # ### Tenderly shell commands - # - # Run those commands in a shell if there are Tenderly connection issues - - C_nw = ConfigNetwork.new(network=ConfigNetwork.NETWORK_TENDERLY) - c1, c2 = C_nw.shellcommand().splitlines() - print(c1) - print(c2) - # !{c1} - # !{c2} - - - - \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_033_Pools.py b/fastlane_bot/tests/nbtest/test_033_Pools.py index 439cf3562..91ebd063f 100644 --- a/fastlane_bot/tests/nbtest/test_033_Pools.py +++ b/fastlane_bot/tests/nbtest/test_033_Pools.py @@ -25,7 +25,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) diff --git a/fastlane_bot/tests/nbtest/test_034_Interface.py b/fastlane_bot/tests/nbtest/test_034_Interface.py index a6c914aa7..ba03b2ed6 100644 --- a/fastlane_bot/tests/nbtest/test_034_Interface.py +++ b/fastlane_bot/tests/nbtest/test_034_Interface.py @@ -31,7 +31,7 @@ from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) @@ -63,8 +63,9 @@ def test_test_remove_unsupported_exchanges(): def test_test_has_balance(): # ------------------------------------------------------------ + qi.state = [{'exchange_name': 'uniswap_v2', 'address': '0x123', 'tkn0_key': 'TKN-0x123', 'tkn1_key': 'TKN-0x456', 'pair_name': 'Pair-0x789', 'liquidity': 10}, {'exchange_name': 'sushiswap_v2', 'address': '0xabc', 'tkn0_key': 'TKN-0xabc', 'tkn1_key': 'TKN-0xdef', 'pair_name': 'Pair-0xghi', 'liquidity': 0}] assert (qi.has_balance(qi.state[0], 'liquidity') == True) - assert (qi.has_balance(qi.state[1], "liquidity") == False) + assert (qi.has_balance(qi.state[1], 'liquidity') == False) # ------------------------------------------------------------ @@ -125,8 +126,4 @@ def test_test_get_pool(): new_state = [{'last_updated_block': 17614344, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'USDC', 'tkn0_decimals': 18, 'tkn1_decimals': 6, 'cid': 1701411834604692317316873037158841057365, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'USDC-eB48', 'pair_name': 'ETH-EEeE/USDC-eB48', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/USDC-eB48 0.002', 'y_0': 9882507039899549, 'y_1': 0, 'z_0': 9882507039899549, 'z_1': 17936137, 'A_0': 0, 'A_1': 99105201, 'B_0': 0, 'B_1': 11941971885}] qi.update_state(new_state) - pool = qi.get_pool(cid=1701411834604692317316873037158841057365) - - - - \ No newline at end of file + pool = qi.get_pool(cid=1701411834604692317316873037158841057365) \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_035_Utils.py b/fastlane_bot/tests/nbtest/test_035_Utils.py index 3db5f34d2..a8f81835b 100644 --- a/fastlane_bot/tests/nbtest/test_035_Utils.py +++ b/fastlane_bot/tests/nbtest/test_035_Utils.py @@ -27,7 +27,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3Pool)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) diff --git a/fastlane_bot/tests/nbtest/test_036_Manager.py b/fastlane_bot/tests/nbtest/test_036_Manager.py index eddeb8ff7..42d0d3571 100644 --- a/fastlane_bot/tests/nbtest/test_036_Manager.py +++ b/fastlane_bot/tests/nbtest/test_036_Manager.py @@ -17,7 +17,7 @@ from fastlane_bot import Bot, Config from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 -#from fastlane_bot.events.manager import Base +from fastlane_bot.events.managers.manager import Manager Base = None from fastlane_bot.tools.cpc import ConstantProductCurve as CPC @@ -30,72 +30,131 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) +# + +import json + +with open("fastlane_bot/data/event_test_data.json", "r") as f: + event_data = json.load(f) + +with open("fastlane_bot/data/test_pool_data.json", "r") as f: + pool_data = json.load(f) + + +cfg = Config.new(config=Config.CONFIG_MAINNET) + +manager = Manager(cfg.w3, cfg, pool_data, 20, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1', 'uniswap_v2', 'uniswap_v3']) + + # ------------------------------------------------------------ # Test 036 # File test_036_Manager.py -# Segment moving this into a test so it does not kill the series +# Segment test_update_from_event_uniswap_v2 # ------------------------------------------------------------ -def test_moving_this_into_a_test_so_it_does_not_kill_the_series(): +def test_test_update_from_event_uniswap_v2(): # ------------------------------------------------------------ - nan = np.NaN - pool_data = [{'cid': '0xb3b0dbb95f1f70e1f053360d9bccef3fbe7c5e2b615e833a9faae18c299a0fc9', 'last_updated': nan, 'last_updated_block': 17634372, 'descr': 'bancor_v3 BNT-FF1C/MATIC-eBB0 0.000', 'pair_name': 'BNT-FF1C/MATIC-eBB0', 'exchange_name': 'bancor_v3', 'fee': '0.000', 'fee_float': 0.0, 'address': '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2', 'anchor': nan, 'tkn0_address': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkn1_address': '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0', 'tkn0_key': 'BNT-FF1C', 'tkn1_key': 'MATIC-eBB0', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'exchange_id': 2, 'tkn0_symbol': 'BNT', 'tkn1_symbol': 'MATIC', 'timestamp': nan, 'tkn0_balance': 371729474548077247680443, 'tkn1_balance': 216554584335493056216168, 'liquidity': nan, 'sqrt_price_q96': nan, 'tick': nan, 'tick_spacing': 0}, {'cid': '0x38d373a29b8a7e621ee373ee76138184a67092259bd24ab1434ec90b98235efd', 'last_updated': nan, 'last_updated_block': 17634372, 'descr': 'bancor_v3 BNT-FF1C/ENS-9D72 0.000', 'pair_name': 'BNT-FF1C/ENS-9D72', 'exchange_name': 'bancor_v3', 'fee': '0.000', 'fee_float': 0.0, 'address': '0xBC19712FEB3a26080eBf6f2F7849b417FdD792CA', 'anchor': nan, 'tkn0_address': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkn1_address': '0xC18360217D8F7Ab5e7c516566761Ea12Ce7F9D72', 'tkn0_key': 'BNT-FF1C', 'tkn1_key': 'ENS-9D72', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'exchange_id': 2, 'tkn0_symbol': 'BNT', 'tkn1_symbol': 'ENS', 'timestamp': nan, 'tkn0_balance': 104058085529730176588006, 'tkn1_balance': 4547023863756451207684, 'liquidity': nan, 'sqrt_price_q96': nan, 'tick': nan, 'tick_spacing': 0}, {'cid': '0x56f1f774ece226fac7c9940c98ead630bfc18a39fa2f2bdcdc56e6234d4477b1', 'last_updated': nan, 'last_updated_block': 17634372, 'descr': 'bancor_v3 BNT-FF1C/ALPHA-0975 0.000', 'pair_name': 'BNT-FF1C/ALPHA-0975', 'exchange_name': 'bancor_v3', 'fee': '0.000', 'fee_float': 0.0, 'address': '0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272', 'anchor': nan, 'tkn0_address': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkn1_address': '0xa1faa113cbE53436Df28FF0aEe54275c13B40975', 'tkn0_key': 'BNT-FF1C', 'tkn1_key': 'ALPHA-0975', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'exchange_id': 2, 'tkn0_symbol': 'BNT', 'tkn1_symbol': 'ALPHA', 'timestamp': nan, 'tkn0_balance': 0, 'tkn1_balance': 0, 'liquidity': nan, 'sqrt_price_q96': nan, 'tick': nan, 'tick_spacing': 0}, {'cid': '0x1b65e937b57a618d40da4236ae854d33a843042a9abc84ba72d808ad67435a42', 'last_updated': nan, 'last_updated_block': 17634372, 'descr': 'bancor_v3 BNT-FF1C/HEGIC-8430 0.000', 'pair_name': 'BNT-FF1C/HEGIC-8430', 'exchange_name': 'bancor_v3', 'fee': '0.000', 'fee_float': 0.0, 'address': '0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6', 'anchor': nan, 'tkn0_address': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkn1_address': '0x584bC13c7D411c00c01A62e8019472dE68768430', 'tkn0_key': 'BNT-FF1C', 'tkn1_key': 'HEGIC-8430', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'exchange_id': 2, 'tkn0_symbol': 'BNT', 'tkn1_symbol': 'HEGIC', 'timestamp': nan, 'tkn0_balance': 0, 'tkn1_balance': 0, 'liquidity': nan, 'sqrt_price_q96': nan, 'tick': nan, 'tick_spacing': 0}, {'cid': '0x561b7f22cadc1359057c07c5a1f11ae4d087a753aa87629ed92b38175e60c3ae', 'last_updated': nan, 'last_updated_block': 17634372, 'descr': 'bancor_v3 BNT-FF1C/ZCN-3B78 0.000', 'pair_name': 'BNT-FF1C/ZCN-3B78', 'exchange_name': 'bancor_v3', 'fee': '0.000', 'fee_float': 0.0, 'address': '0x1559FA1b8F28238FD5D76D9f434ad86FD20D1559', 'anchor': nan, 'tkn0_address': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkn1_address': '0xb9EF770B6A5e12E45983C5D80545258aA38F3B78', 'tkn0_key': 'BNT-FF1C', 'tkn1_key': 'ZCN-3B78', 'tkn0_decimals': 18, 'tkn1_decimals': 10, 'exchange_id': 2, 'tkn0_symbol': 'BNT', 'tkn1_symbol': 'ZCN', 'timestamp': nan, 'tkn0_balance': 109709381661658805787397, 'tkn1_balance': 3264962522647673, 'liquidity': nan, 'sqrt_price_q96': nan, 'tick': nan, 'tick_spacing': 0}] + # + + event = event_data['uniswap_v2_event'] - carbon_events = [{'last_updated_block': 17634377, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0x6B175474E89094C44Da98b954EedeAC495271d0F', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'DAI', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'cid': 340282366920938463463374607431768211457, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'DAI-1d0F', 'pair_name': 'ETH-EEeE/DAI-1d0F', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/DAI-1d0F 0.002', 'y_0': 1000000000000000, 'y_1': 0, 'z_0': 1000000000000000, 'z_1': 0, 'A_0': 0, 'A_1': 0, 'B_0': 6382340776412, 'B_1': 1875443170982464}, {'last_updated_block': 17634377, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0x6B175474E89094C44Da98b954EedeAC495271d0F', 'tkn1_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn0_symbol': 'DAI', 'tkn1_symbol': 'ETH', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'cid': 340282366920938463463374607431768211593, 'tkn0_key': 'DAI-1d0F', 'tkn1_key': 'ETH-EEeE', 'pair_name': 'DAI-1d0F/ETH-EEeE', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 DAI-1d0F/ETH-EEeE 0.002', 'y_0': 0, 'y_1': 0, 'z_0': 0, 'z_1': 0, 'A_0': 88739322630080, 'A_1': 30784910546, 'B_0': 1876725096051745, 'B_1': 6418617024516}, {'last_updated_block': 17634377, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0x6B175474E89094C44Da98b954EedeAC495271d0F', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'DAI', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'cid': 340282366920938463463374607431768211614, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'DAI-1d0F', 'pair_name': 'ETH-EEeE/DAI-1d0F', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/DAI-1d0F 0.002', 'y_0': 157076304796171508, 'y_1': 191076681422897394849, 'z_0': 257505273765924104, 'z_1': 462002783910000000000, 'A_0': 197764438468, 'A_1': 235894416821184, 'B_0': 6293971818901, 'B_1': 1873305839476414}, {'last_updated_block': 17634377, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0x6B175474E89094C44Da98b954EedeAC495271d0F', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'DAI', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'cid': 340282366920938463463374607431768211607, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'DAI-1d0F', 'pair_name': 'ETH-EEeE/DAI-1d0F', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/DAI-1d0F 0.002', 'y_0': 0, 'y_1': 0, 'z_0': 0, 'z_1': 0, 'A_0': 69065909368, 'A_1': 106270057837888, 'B_0': 6457478834827, 'B_1': 1874403645842739}, {'last_updated_block': 17634377, 'address': '0xC537e898CD774e2dCBa3B14Ea6f34C93d5eA45e1', 'exchange_name': 'carbon_v1', 'tkn0_address': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkn1_address': '0x6B175474E89094C44Da98b954EedeAC495271d0F', 'tkn0_symbol': 'ETH', 'tkn1_symbol': 'DAI', 'tkn0_decimals': 18, 'tkn1_decimals': 18, 'cid': 340282366920938463463374607431768211673, 'tkn0_key': 'ETH-EEeE', 'tkn1_key': 'DAI-1d0F', 'pair_name': 'ETH-EEeE/DAI-1d0F', 'fee_float': 0.002, 'fee': '0.002', 'descr': 'carbon_v1 ETH-EEeE/DAI-1d0F 0.002', 'y_0': 1, 'y_1': 940344, 'z_0': 9403439, 'z_1': 940344, 'A_0': 0, 'A_1': 0, 'B_0': 785475461108442, 'B_1': 2814749767}] + assert event['args']['reserve0'] != [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] - cfg = Config.new(config=Config.CONFIG_MAINNET) - w3 = cfg.w3 - manager = Base(cfg=cfg, pool_data=pool_data, alchemy_max_block_fetch=20, web3=w3, SUPPORTED_EXCHANGES=['bancor_v3', 'carbon_v1']) + manager.update_from_event(event) - rows_to_update = [idx for (idx, row) in enumerate(pool_data)] + assert event['address'] in [pool['address'] for pool in manager.pool_data] + assert event['args']['reserve0'] == [pool['tkn0_balance'] for pool in manager.pool_data if pool['address'] == event['address']][0] + # - + + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_uniswap_v3 +# ------------------------------------------------------------ +def test_test_update_from_event_uniswap_v3(): +# ------------------------------------------------------------ # + - # This is a simple counter variable that we'll increment every time we call the function. - multicall_counter = 0 + event = event_data['uniswap_v3_event'] + + assert event['args']['liquidity'] != [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] + + manager.update_from_event(event) + + assert event['address'] in [pool['address'] for pool in manager.pool_data] + assert event['args']['liquidity'] == [pool['liquidity'] for pool in manager.pool_data if pool['address'] == event['address']][0] + # - - def my_multicall(*args, **kwargs): - # This is a wrapper function that increments the counter each time it's called, - # then calls the original function. - global multicall_counter - multicall_counter += 1 - return brownie_multicall(*args, **kwargs) + # + +# ------------------------------------------------------------ +# Test 036 +# File test_036_Manager.py +# Segment test_update_from_event_carbon_v1_update +# ------------------------------------------------------------ +def test_test_update_from_event_carbon_v1_update(): +# ------------------------------------------------------------ + # + + event = event_data['carbon_v1_event_update'] + assert event['args']['order0'][0] != [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] + + manager.update_from_event(event) + + assert event['args']['order0'][0] == [pool['y_0'] for pool in manager.pool_data if pool['cid'] == event['args']['id']][0] # - # ------------------------------------------------------------ # Test 036 # File test_036_Manager.py -# Segment test_update_pools_directly_from_contracts_bancor_v3 +# Segment test_update_from_event_carbon_v1_create # ------------------------------------------------------------ -def test_test_update_pools_directly_from_contracts_bancor_v3(): +def test_test_update_from_event_carbon_v1_create(): # ------------------------------------------------------------ + # + + # + + event = event_data['carbon_v1_event_create'] + manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] - brownie.multicall = my_multicall - manager.update_pools_directly_from_contracts(n_jobs=2, rows_to_update=[0, 1, 2, 3], not_bancor_v3=False, current_block=1) - assert (multicall_counter == 1) - expected_calls = [call(pool_info=pool_data[i], limiter=False, block_number=1) for i in [0, 1, 2, 3]] + manager.update_from_event(event) + + assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] + # - # ------------------------------------------------------------ # Test 036 # File test_036_Manager.py -# Segment test_get_strats_by_pair +# Segment test_update_from_event_carbon_v1_delete # ------------------------------------------------------------ -def test_test_get_strats_by_pair(): +def test_test_update_from_event_carbon_v1_delete(): # ------------------------------------------------------------ - manager.cfg.MULTICALL_CONTRACT_ADDRESS = '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696' - all_pairs = [(1, 2), (3, 4)] - carbon_controller_mock = Mock() - carbon_controller_mock.strategiesByPair.side_effect = [[(5, 6)], [(7, 8)]] - result = manager.get_strats_by_pair(all_pairs, carbon_controller_mock) - carbon_controller_mock.strategiesByPair.assert_has_calls([call(*pair) for pair in all_pairs]) \ No newline at end of file + # + + event = event_data['carbon_v1_event_create'] + manager.pool_data = [pool for pool in manager.pool_data if pool['cid'] != event['args']['id']] + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] + + manager.update_from_event(event) + + assert event['args']['id'] in [pool['cid'] for pool in manager.pool_data] + + event['event'] = 'StrategyDeleted' + + manager.update_from_event(event) + + assert event['args']['id'] not in [pool['cid'] for pool in manager.pool_data] + # - + + # \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_037_Exchanges.py b/fastlane_bot/tests/nbtest/test_037_Exchanges.py index 73fdd0071..29fcdf253 100644 --- a/fastlane_bot/tests/nbtest/test_037_Exchanges.py +++ b/fastlane_bot/tests/nbtest/test_037_Exchanges.py @@ -27,7 +27,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) diff --git a/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py b/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py new file mode 100644 index 000000000..f1eb2a048 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_038_TestBancorV3Mode.py @@ -0,0 +1,391 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_038_TestBancorV3Mode.py` +# ------------------------------------------------------------ +# source file = NBTest_038_TestBancorV3Mode.py +# test id = 038 +# test comment = TestBancorV3Mode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 50 +C.DEFAULT_MIN_PROFIT = 50 +cfg.DEFAULT_MIN_PROFIT_BNT = 50 +cfg.DEFAULT_MIN_PROFIT = 50 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "bancor_v3" + +#single = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result="calc_trade_instr") + +arb_finder = bot._get_arb_finder("bancor_v3") +finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) +r = finder.find_arbitrage() +( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r +( +ordered_trade_instructions_dct, +tx_in_count, +) = bot._simple_ordering_by_src_token( +best_trade_instructions_dic, best_src_token +) + + +arb_finder = bot._get_arb_finder("bancor_v3") +finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) +r = finder.find_arbitrage() +( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r +( +ordered_trade_instructions_dct, +tx_in_count, +) = bot._simple_ordering_by_src_token( +best_trade_instructions_dic, best_src_token +) +pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] +first_check_pools = finder.get_exact_pools(pool_cids) + +assert(len(first_check_pools) == 3), f"[test_bancor_v3] Validation expected 3 pools, got {len(first_check_pools)}" +for pool in first_check_pools: + assert type(pool) == ConstantProductCurve, f"[test_bancor_v3] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" + assert pool.cid in pool_cids, f"[test_bancor_v3] Validation missing pool.cid {pool.cid} in {pool_cids}" +optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'BNT-FF1C') +assert type(optimal_arb) == float, f"[test_bancor_v3] Optimal arb calculation type is {type(optimal_arb)} not float" +assert iseq(optimal_arb, 5003.2368760578265), f"[test_bancor_v3] Optimal arb calculation type is {optimal_arb}, expected 5003.2368760578265" + + + + + + + + + + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_max_arb_trade_in_constant_product +# ------------------------------------------------------------ +def test_test_max_arb_trade_in_constant_product(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + + flt='BNT-FF1C' + + tkn0 = finder.get_tkn(pool=first_check_pools[0], tkn_num=0) + tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) + tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) + tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=0) + p0t0 = first_check_pools[0].x_act if tkn0 == flt else first_check_pools[0].y_act + p0t1 = first_check_pools[0].y_act if tkn0 == flt else first_check_pools[0].x_act + p2t1 = first_check_pools[2].x_act if tkn5 == flt else first_check_pools[2].y_act + p2t0 = first_check_pools[2].y_act if tkn5 == flt else first_check_pools[2].x_act + p1t0 = first_check_pools[1].x if tkn1 == tkn2 else first_check_pools[1].y + p1t1 = first_check_pools[1].y if tkn1 == tkn2 else first_check_pools[1].x + fee0 = finder.get_fee_safe(first_check_pools[0].fee) + fee1 = finder.get_fee_safe(first_check_pools[1].fee) + fee2 = finder.get_fee_safe(first_check_pools[2].fee) + optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, flt) + print(optimal_arb_low_level_check, optimal_arb) + assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3] Arb calculation result mismatch, pools likely ordered incorrectly" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_fee_safe +# ------------------------------------------------------------ +def test_test_get_fee_safe(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + ext_fee = finder.get_fee_safe(first_check_pools[1].fee) + assert type(ext_fee) == float, f"[test_bancor_v3] Testing external pool, fee type is {type(ext_fee)} not float" + assert iseq(ext_fee, 0.003), f"[test_bancor_v3] Testing external pool, fee amt is {ext_fee} not 0.003" + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") + assert len(combos) == 1122, "[test_bancor_v3] Different data used for tests, expected 1122 combos" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_miniverse_combos +# ------------------------------------------------------------ +def test_test_get_miniverse_combos(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="bancor_v3") + all_miniverses = finder.get_miniverse_combos(combos) + assert len(all_miniverses) == 146, "[test_bancor_v3] Different data used for tests, expected 146 miniverses" + # - + + +# ------------------------------------------------------------ +# Test 038 +# File test_038_TestBancorV3Mode.py +# Segment Test_get_mono_direction_carbon_curves +# ------------------------------------------------------------ +def test_test_get_mono_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("bancor_v3") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + + bancor_v3_curve_0 = ( + finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") + .byparams(exchange="bancor_v3") + .curves + ) + bancor_v3_curve_1 = ( + finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") + .byparams(exchange="bancor_v3") + .curves + ) + carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") + carbon_curves = list(set(carbon_curves)) + carbon_curves = [ + curve + for curve in carbon_curves + if curve.params.get("exchange") == "carbon_v1" + ] + miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] + max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") + ( + profit_src_0, + trade_instructions_0, + trade_instructions_df_0, + trade_instructions_dic_0, + ) = max_arb_carbon + + mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) + test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') + # Test that get_mono_direction_carbon_curves removed two curves + assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" + # - + + + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py b/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py new file mode 100644 index 000000000..4f29faff9 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_039_TestMultiMode.py @@ -0,0 +1,277 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_039_TestMultiMode.py` +# ------------------------------------------------------------ +# source file = NBTest_039_TestMultiMode.py +# test id = 039 +# test comment = TestMultiMode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_MIN_PROFIT +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_get_arb_finder +# ------------------------------------------------------------ +def test_test_get_arb_finder(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Combos_and_Tokens +# ------------------------------------------------------------ +def test_test_combos_and_tokens(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + all_tokens, combos = finder2.find_arbitrage() + assert len(all_tokens) == 545, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" + assert len(combos) == 3264, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Expected_Output +# ------------------------------------------------------------ +def test_test_expected_output(): +# ------------------------------------------------------------ + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 22, f"[TestMultiMode] Expected 22 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Multiple_Curves_Used +# ------------------------------------------------------------ +def test_test_multiple_curves_used(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 2: + multi_carbon_count += 1 + + assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." + # - + + +# ------------------------------------------------------------ +# Test 039 +# File test_039_TestMultiMode.py +# Segment Test_Single_Direction_Carbon_Curves +# ------------------------------------------------------------ +def test_test_single_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + src_token="WBTC-C599" + wrong_direction_cids = ['4083388403051261561560495289181218537493-0', '4083388403051261561560495289181218537579-0', '4083388403051261561560495289181218537610-0', '4083388403051261561560495289181218537629-0', '4083388403051261561560495289181218537639-0', '4083388403051261561560495289181218537755-0'] + curves_before = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=3675185.41145277, x=11.059038979187497, x_act=0, y_act=1385.267061, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537493-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1385.267061, 'yint': 1385.267061, 'A': 0.722593217276426, 'B': 172.62676501631972, 'pa': 30049.999999999647, 'pb': 29799.999999999665}), ConstantProductCurve(k=29672.782767383174, x=1.0315213950985431, x_act=0, y_act=3651.804716, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537579-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 3651.804716, 'yint': 3651.804716, 'A': 21.199636119827687, 'B': 145.79437574886072, 'pa': 27886.999999999643, 'pb': 21255.999999999985}), ConstantProductCurve(k=6.863635116394053e+16, x=1525337.9097739116, x_act=0, y_act=4499.746836, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537610-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 4499.746836, 'yint': 4499.746836, 'A': 0, 'B': 171.7556317853946, 'pa': 29499.99999999976, 'pb': 29499.99999999976}), ConstantProductCurve(k=143046.70577155304, x=2.1824671097293846, x_act=0, y_act=5742.51191, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537629-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 5742.51191, 'yint': 6413.595264, 'A': 16.957530991696217, 'B': 158.11388300841884, 'pa': 30649.99999999968, 'pb': 24999.99999999996}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=443607.9519434853, x=3.85826034424969, x_act=0, y_act=9876.976514, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537639-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 9876.976514, 'yint': 9876.976514, 'A': 14.829426635724872, 'B': 157.79733838059485, 'pa': 29799.999999999665, 'pb': 24899.999999999953}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05}), ConstantProductCurve(k=3316749913763783.5, x=331674.9583747572, x_act=0, y_act=1000.0, pair='WBTC-C599/USDC-eB48', cid='4083388403051261561560495289181218537755-0', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 1000.0, 'yint': 1000.0, 'A': 0, 'B': 173.63754485997586, 'pa': 30149.999999999825, 'pb': 30149.999999999825})] + curves_expected_after = [ConstantProductCurve(k=2290523503.4460173, x=273.1073125047371, x_act=0.07743961144774403, y_act=1814.6001096442342, pair='WBTC-C599/USDC-eB48', cid='0x8d7ac7e77704f3ac75534d5500159a7a4b7e6e23dbdca7d9a8085bdea0348d0c', fee=0.0005, descr='uniswap_v3 WBTC-C599/USDC-eB48 500', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17675876, 'L': 47859.413948}), ConstantProductCurve(k=5459975.623181331, x=437148.88403306017, x_act=0, y_act=0.50315999, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537629-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.50315999, 'yint': 0.50315999, 'A': 0.0002153330778227767, 'B': 0.005129891760425664, 'pa': 2.8571428571428076e-05, 'pb': 2.631578947368312e-05}), ConstantProductCurve(k=5324.625267368582, x=12680.839210183807, x_act=0, y_act=0.01198047, pair='USDC-eB48/WBTC-C599', cid='4083388403051261561560495289181218537639-1', fee=0.002, descr='carbon_v1 WBTC-C599/USDC-eB48 0.002', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17674427, 'y': 0.01198047, 'yint': 0.01198047, 'A': 0.00016418343273514376, 'B': 0.0055901699437491455, 'pa': 3.311258278145614e-05, 'pb': 3.124999999999633e-05})] + test_process_wrong_direction_pools = finder.process_wrong_direction_pools(curve_combo=curves_before, wrong_direction_cids=wrong_direction_cids) + O, profit_src, r, trade_instructions_df = finder.run_main_flow(curves=curves_expected_after, src_token="WBTC-C599", tkn0="USDC-eB48", tkn1="WBTC-C599") + + assert len(curves_before) - len(wrong_direction_cids) == len(test_process_wrong_direction_pools), f"[TestMultiMode] Wrong direction CIDs not removed correctly, started with {len(curves_before)}, removing {len(wrong_direction_cids)}, expected {len(curves_before) - len(wrong_direction_cids)} got {len(test_process_wrong_direction_pools)}" + for curve in test_process_wrong_direction_pools: + assert curve.cid not in wrong_direction_cids, f"[TestMultiMode] Failed to remove curve {curve.cid} from list of wrong direction pools" + assert iseq(profit_src, -0.059102630716552085) + # - + + + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py b/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py new file mode 100644 index 000000000..0c223325b --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_040_TestSingleMode.py @@ -0,0 +1,229 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_040_TestSingleMode.py` +# ------------------------------------------------------------ +# source file = NBTest_040_TestSingleMode.py +# test id = 040 +# test comment = TestSingleMode +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "single" + +assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" +assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestSingleMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_arb_mode_class +# ------------------------------------------------------------ +def test_test_arb_mode_class(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("single") + assert arb_finder.__name__ == "FindArbitrageSinglePairwise", f"[TestSingleMode] Expected arb_finder class name name = FindArbitrageSinglePairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_tokens_and_combos +# ------------------------------------------------------------ +def test_test_tokens_and_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("single") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + all_tokens, combos = finder2.find_arbitrage() + assert len(all_tokens) == 545, f"[TestMultiMode] Using wrong dataset, expected 545 tokens, found {len(all_tokens)}" + assert len(combos) == 3264, f"[TestMultiMode] Using wrong dataset, expected 3264 tokens, found {len(combos)}" + + # ### Test_Single_Arb_Finder_vs_run + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("single") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 22, f"[TestSingleMode] Expected 22 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestSingleMode] Expected arbs from .find_arbitrage - {len(r)} - to match _run - {len(run_full)}" + + r + + +# ------------------------------------------------------------ +# Test 040 +# File test_040_TestSingleMode.py +# Segment Test_no_multi_carbon +# ------------------------------------------------------------ +def test_test_no_multi_carbon(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("single") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 2: + multi_carbon_count += 1 + + assert multi_carbon_count == 0, f"[TestSingleMode] Expected arbs without multiple Carbon curves, but found {len(multi_carbon_count)}" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py b/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py new file mode 100644 index 000000000..7a069d358 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_042_TestBancorV3ModeTwoHop.py @@ -0,0 +1,465 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_042_TestBancorV3ModeTwoHop.py` +# ------------------------------------------------------------ +# source file = NBTest_042_TestBancorV3ModeTwoHop.py +# test id = 042 +# test comment = TestBancorV3ModeTwoHop +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 50 +C.DEFAULT_MIN_PROFIT = 50 +cfg.DEFAULT_MIN_PROFIT_BNT = 50 +cfg.DEFAULT_MIN_PROFIT = 50 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "b3_two_hop" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_min_profit +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert C.DEFAULT_MIN_PROFIT_BNT == 50, f"[test_bancor_v3_two_hop] wrong DEFAULT_MIN_PROFIT_BNT for test, expected 50, got {C.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_arb_mode_class +# ------------------------------------------------------------ +def test_test_arb_mode_class(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + assert arb_finder.__name__ == "ArbitrageFinderTriangleBancor3TwoHop", f"[test_bancor_v3_two_hop] Wrong Arb Finder class, expected ArbitrageFinderTriangleBancor3TwoHop, got {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_Trade_Merge +# ------------------------------------------------------------ +def test_test_trade_merge(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + ordered_scaled_dcts = bot._basic_scaling( + ordered_trade_instructions_dct, best_src_token + ) + # Convert the trade instructions + ordered_trade_instructions_objects = bot._convert_trade_instructions( + ordered_scaled_dcts) + tx_route_handler = bot.TxRouteHandlerClass( + trade_instructions=ordered_trade_instructions_objects + ) + agg_trade_instructions = ( + tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) + if bot._carbon_in_trade_route(ordered_trade_instructions_objects) + else ordered_trade_instructions_objects + ) + # Calculate the trade instructions + calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( + agg_trade_instructions + ) + assert len(calculated_trade_instructions) == 3 + # Aggregate multiple Bancor V3 trades into a single trade + calculated_trade_instructions = TxRouteHandler.aggregate_bancor_v3_trades( + calculated_trade_instructions + ) + assert len(calculated_trade_instructions) == 2 + assert calculated_trade_instructions[0].tknin != "BNT-FF1C" + assert calculated_trade_instructions[0].tknout != "BNT-FF1C" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_optimal_arb_trade_amts +# ------------------------------------------------------------ +def test_test_get_optimal_arb_trade_amts(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + + assert first_check_pools[0].cid == '0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a', f"[test_bancor_v3_two_hop] Validation, wrong first pool, expected CID: 0x7be3da0f8d0f70d8f7a84a08dd267beea4318ed1c9fb3d602b0f3a3c7bd1cf4a, got CID: {first_check_pools[0].cid}" + assert first_check_pools[1].cid == '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', f"[test_bancor_v3_two_hop] Validation, wrong second pool, expected CID: 0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2, got CID: {first_check_pools[1].cid}" + assert first_check_pools[2].cid == '0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34', f"[test_bancor_v3_two_hop] Validation, wrong third pool, expected CID: 0xb1d8cd62f75016872495dae3e19d96e364767e7d674488392029d15cdbcd7b34, got CID: {first_check_pools[2].cid}" + assert(len(first_check_pools) == 3), f"[test_bancor_v3_two_hop] Validation expected 3 pools, got {len(first_check_pools)}" + for pool in first_check_pools: + assert type(pool) == ConstantProductCurve, f"[test_bancor_v3_two_hop] Validation pool type mismatch, got {type(pool)} expected ConstantProductCurve" + assert pool.cid in pool_cids, f"[test_bancor_v3_two_hop] Validation missing pool.cid {pool.cid} in {pool_cids}" + + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') + assert type(optimal_arb) == float, f"[test_bancor_v3_two_hop] Optimal arb calculation type is {type(optimal_arb)} not float" + assert iseq(optimal_arb, 6179.168331968203), f"[test_bancor_v3_two_hop] Optimal arb calculation type is {optimal_arb}, expected 6179.168331968203" + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_max_arb_trade_in_constant_product +# ------------------------------------------------------------ +def test_test_max_arb_trade_in_constant_product(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + flt='DAI-1d0F' + tkn0 = flt + tkn1 = finder.get_tkn(pool=first_check_pools[0], tkn_num=1) if finder.get_tkn(pool=first_check_pools[0], tkn_num=1) != flt else finder.get_tkn(pool=first_check_pools[0], tkn_num=0) + tkn2 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) == tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) + tkn3 = finder.get_tkn(pool=first_check_pools[1], tkn_num=0) if finder.get_tkn(pool=first_check_pools[1], tkn_num=0) != tkn1 else finder.get_tkn(pool=first_check_pools[1], tkn_num=1) + tkn5 = finder.get_tkn(pool=first_check_pools[2], tkn_num=1) if finder.get_tkn(pool=first_check_pools[2], tkn_num=1) == flt else finder.get_tkn(pool=first_check_pools[2], tkn_num=0) + p0t0 = first_check_pools[0].x if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].y + p0t1 = first_check_pools[0].y if finder.get_tkn(pool=first_check_pools[0], tkn_num=0) == flt else first_check_pools[0].x + p1t0 = first_check_pools[1].x if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].y + p1t1 = first_check_pools[1].y if tkn1 == finder.get_tkn(pool=first_check_pools[1], tkn_num=0) else first_check_pools[1].x + p2t0 = first_check_pools[2].x if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].y + p2t1 = first_check_pools[2].y if finder.get_tkn(pool=first_check_pools[2], tkn_num=0) != flt else first_check_pools[2].x + fee0 = finder.get_fee_safe(first_check_pools[0].fee) + fee1 = finder.get_fee_safe(first_check_pools[1].fee) + fee2 = finder.get_fee_safe(first_check_pools[2].fee) + optimal_arb = finder.get_optimal_arb_trade_amts(pool_cids, 'DAI-1d0F') + optimal_arb_low_level_check = finder.max_arb_trade_in_constant_product(p0t0=p0t0, p0t1=p0t1, p1t0=p1t0, p1t1=p1t1, p2t0=p2t0, p2t1=p2t1,fee0=fee0, fee1=fee1, fee2=fee2) + assert iseq(optimal_arb, optimal_arb_low_level_check), f"[test_bancor_v3_two_hop] Arb calculation result mismatch, pools likely ordered incorrectly, previous calc: {optimal_arb}, this calc: {optimal_arb_low_level_check}" + # max_arb_in = finder.max_arb_trade_in_constant_product(p0t0, p0t1, p1t0, p1t1, p2t0, p2t1, fee0=fee0, fee1=fee1, fee2=fee2) + # finder.ConfigObj.logger.info(f"\n\nfirst_check_pools: {first_check_pools}\n\nValidating trade, max_arb_in= {max_arb_in} {tkn0} -> {tkn1} -> {tkn3} -> {tkn5}, token amts: {p0t0, p0t1, p1t0, p1t1, p2t0, p2t1}, fees: {fee0, fee1, fee2}") + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_fee_safe +# ------------------------------------------------------------ +def test_test_get_fee_safe(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + best_trade_instructions_dic, best_src_token + ) + + pool_cids = [curve['cid'] for curve in ordered_trade_instructions_dct] + first_check_pools = finder.get_exact_pools(pool_cids) + ext_fee = finder.get_fee_safe(first_check_pools[2].fee) + assert type(ext_fee) == float, f"[test_bancor_v3_two_hop] Testing external pool, fee type is {type(ext_fee)} not float" + assert iseq(ext_fee, 0.0005), f"[test_bancor_v3_two_hop] Testing external pool, fee amt is {ext_fee} not 0.0005" + + # - + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + #test_2_pools = [ConstantProductCurve(k=2921921249910.464, x=2760126.9934445512, x_act=2760126.9934445512, y_act=1058618.410258, pair='BNT-FF1C/USDC-eB48', cid='0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', fee=0.0, descr='bancor_v3 BNT-FF1C/USDC-eB48 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 6, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713739}), ConstantProductCurve(k=518129588.60853314, x=6351922.348885405, x_act=6351922.348885405, y_act=81.57051679, pair='BNT-FF1C/WBTC-C599', cid='0x3885d978c125e66686e3f678ab64d5b09e61f89bf6e87c9ff66e740fd06aeefa', fee=0.0, descr='bancor_v3 BNT-FF1C/WBTC-C599 0.000', constr='uv2', params={'exchange': 'bancor_v3', 'tknx_dec': 18, 'tkny_dec': 8, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'blocklud': 17713739}), ConstantProductCurve(k=787603837541.6204, x=5107.692365701484, x_act=4.159867948255851, y_act=336571.44633978605, pair='WBTC-C599/USDC-eB48', cid='0x49ed97db2c080b7eac91dfaa7d51d5e8ac34c4dcfbcd3e8f2ed326a2a527b959', fee=0.003, descr='uniswap_v3 WBTC-C599/USDC-eB48 3000', constr='pkpp', params={'exchange': 'uniswap_v3', 'tknx_dec': 8, 'tkny_dec': 6, 'tknx_addr': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17713395, 'L': 887470.4713632})] + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") + assert len(combos) == 1122, "[test_bancor_v3_two_hop] Different data used for tests, expected 1122 combos" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_miniverse_combos +# ------------------------------------------------------------ +def test_test_get_miniverse_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + flt = {'MKR-79A2', 'TRAC-0A6F', 'MONA-412A', 'WBTC-C599', 'WOO-5D4B', 'MATIC-eBB0', 'BAT-87EF', 'UOS-5C8c', 'LRC-EafD', 'NMR-6671', 'DIP-cD83', 'TEMP-1aB9', 'ICHI-A881', 'USDC-eB48', 'ENS-9D72', 'vBNT-7f94', 'ANKR-EDD4', 'UNI-F984', 'REQ-938a', 'WETH-6Cc2', 'AAVE-DaE9', 'ENJ-3B9c', 'MANA-C942', 'wNXM-2bDE', 'QNT-4675', 'RLC-7375', 'CROWN-E0fa', 'CHZ-b4AF', 'USDT-1ec7', 'DAI-1d0F', 'RPL-A51f', 'HOT-26E2', 'LINK-86CA', 'wstETH-2Ca0'} + combos = finder.get_combos(flashloan_tokens=flt, CCm=CCm, arb_mode="b3_two_hop") + all_miniverses = finder.get_miniverse_combos(combos) + assert len(all_miniverses) == 146, "[test_bancor_v3_two_hop] Different data used for tests, expected 146 miniverses" + + +# ------------------------------------------------------------ +# Test 042 +# File test_042_TestBancorV3ModeTwoHop.py +# Segment Test_get_mono_direction_carbon_curves +# ------------------------------------------------------------ +def test_test_get_mono_direction_carbon_curves(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("b3_two_hop") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=False, + ConfigObj=bot.ConfigObj, + ) + + bancor_v3_curve_0 = ( + finder.CCm.bypairs(f"BNT-FF1C/WETH-6Cc2") + .byparams(exchange="bancor_v3") + .curves + ) + bancor_v3_curve_1 = ( + finder.CCm.bypairs(f"BNT-FF1C/USDC-eB48") + .byparams(exchange="bancor_v3") + .curves + ) + + carbon_curves = finder.CCm.bypairs(f"USDC-eB48/WETH-6Cc2") + carbon_curves = list(set(carbon_curves)) + carbon_curves = [ + curve + for curve in carbon_curves + if curve.params.get("exchange") == "carbon_v1" + ] + miniverse = [bancor_v3_curve_0 + bancor_v3_curve_1 + carbon_curves] + max_arb_carbon = finder.run_main_flow(miniverse=miniverse[0], src_token="BNT-FF1C") + + ( + profit_src_0, + trade_instructions_0, + trade_instructions_df_0, + trade_instructions_dic_0, + ) = max_arb_carbon + mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in=None) + test_mono_carbon = finder.get_mono_direction_carbon_curves(miniverse[0], trade_instructions_df=trade_instructions_df_0, token_in='WETH-6Cc2') + # Test that get_mono_direction_carbon_curves removed two curves + assert len(test_mono_carbon) != len(mono_carbon), f"[test_bancor_v3_two_hop] Issue with get_mono_direction_carbon_curves, should have removed one or more pools" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py b/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py new file mode 100644 index 000000000..7fc4ba3c7 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_043_TestEmptyCarbonOrders.py @@ -0,0 +1,231 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_043_TestEmptyCarbonOrders.py` +# ------------------------------------------------------------ +# source file = NBTest_043_TestEmptyCarbonOrders.py +# test id = 043 +# test comment = TestEmptyCarbonOrders +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +from dataclasses import dataclass, asdict, field +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 043 +# File test_043_TestEmptyCarbonOrders.py +# Segment Test_Empty_Carbon_Orders_Removed +# ------------------------------------------------------------ +def test_test_empty_carbon_orders_removed(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=arb_finder.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = r[11] + + best_trade_instructions_dic + # Check that this gets filtered out + test_trade = [{'cid': '0x36445535fc762f6c53277a667500a41e31b51bec800e76aab33dafab75da4eaa', + 'tknin': 'WBTC-C599', + 'amtin': 0.008570336169213988, + 'tknout': 'WETH-6Cc2', + 'amtout': -0.13937506393995136, + 'error': None}, + {'cid': '9187623906865338513511114400657741709420-1', + 'tknin': 'WETH-6Cc2', + 'amtin': 0, + 'tknout': 'WBTC-C599', + 'amtout': 0, + 'error': None}, + {'cid': '9187623906865338513511114400657741709458-1', + 'tknin': 'WETH-6Cc2', + 'amtin': 0.13937506393995136, + 'tknout': 'WBTC-C599', + 'amtout': 0.008870336169213988, + 'error': None}] + + ( + ordered_trade_instructions_dct, + tx_in_count, + ) = bot._simple_ordering_by_src_token( + test_trade, best_src_token + ) + ordered_scaled_dcts = bot._basic_scaling( + ordered_trade_instructions_dct, best_src_token + ) + ordered_trade_instructions_objects = bot._convert_trade_instructions(ordered_scaled_dcts) + tx_route_handler = bot.TxRouteHandlerClass( + trade_instructions=ordered_trade_instructions_objects + ) + agg_trade_instructions = ( + tx_route_handler.aggregate_carbon_trades(ordered_trade_instructions_objects) + if bot._carbon_in_trade_route(ordered_trade_instructions_objects) + else ordered_trade_instructions_objects + ) + # Calculate the trade instructions + calculated_trade_instructions = tx_route_handler.calculate_trade_outputs( + agg_trade_instructions + ) + encoded_trade_instructions = tx_route_handler.custom_data_encoder( + calculated_trade_instructions + ) + deadline = bot._get_deadline() + + # Get the route struct + route_struct = [ + asdict(rs) + for rs in tx_route_handler.get_route_structs( + encoded_trade_instructions, deadline + ) + ] + for route in route_struct: + if route["platformId"] == 6: + encoded_trade = route["customData"].split("0x")[1] + encoded_trades = [encoded_trade[i:i+64] for i in range(0, len(encoded_trade), 64)] + for trade in encoded_trades: + assert trade != "0000000000000000000000000000000000000000000000000000000000000000", f"[TestEmptyCarbonOrders] Empty Carbon instructions not filtered out by calculate_trade_outputs" \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_047_Randomizer.py b/fastlane_bot/tests/nbtest/test_047_Randomizer.py new file mode 100644 index 000000000..b708b288c --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_047_Randomizer.py @@ -0,0 +1,225 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_047_Randomizer.py` +# ------------------------------------------------------------ +# source file = NBTest_047_Randomizer.py +# test id = 047 +# test comment = Randomizer +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 047 +# File test_047_Randomizer.py +# Segment Test_randomizer +# ------------------------------------------------------------ +def test_test_randomizer(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + #arb_opp = r[0] + + + assert len(r) == 22, f"[NB047 Randomizer], expected 22 arbs, found {len(r)}" + + + arb_opp_0 = bot.randomize(arb_opps=r, randomizer=0) + arb_opp_1 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_2 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_3 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_25 = bot.randomize(arb_opps=r, randomizer=1) + arb_opp_None = bot.randomize(arb_opps=None, randomizer=5) + + assert len(arb_opp_0) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_0)}" + assert len(arb_opp_1) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_1)}" + assert len(arb_opp_2) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_2)}" + assert len(arb_opp_3) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_3)}" + assert len(arb_opp_25) == 5, f"[NB047 Randomizer], expected 1 arb back from randomizer with length of 5, found length of {len(arb_opp_25)}" + assert isinstance(np.float64(arb_opp_0[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_0[0])}" + assert isinstance(np.float64(arb_opp_1[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_1[0])}" + assert isinstance(np.float64(arb_opp_2[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_2[0])}" + # - + + assert isinstance(np.float64(arb_opp_3[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_3[0])}" + assert isinstance(np.float64(arb_opp_25[0]), np.floating), f"[NB047 Randomizer], expected first value back from randomizer to be of type np.float64, found type {type(arb_opp_25[0])}" + + arb_opp_0[2] + + assert type(arb_opp_0[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_0[2])}" + assert type(arb_opp_1[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_1[2])}" + assert type(arb_opp_2[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_2[2])}" + assert type(arb_opp_3[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_3[2])}" + assert type(arb_opp_25[2]) == tuple, f"[NB047 Randomizer], expected third value back from randomizer to be of type list, found type {type(arb_opp_25[2])}" + + assert arb_opp_None == None, f"[NB047 Randomizer], expected randomizer to return None when it receives None, but it returned {type(arb_opp_None)}" + + +# ------------------------------------------------------------ +# Test 047 +# File test_047_Randomizer.py +# Segment Test_sorted_by_profit +# ------------------------------------------------------------ +def test_test_sorted_by_profit(): +# ------------------------------------------------------------ + + # + + arb_opps = [(2.6927646232907136, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982724863828224, 'tknout': 'BNT-FF1C', 'amtout': -19.27862435251882, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (2.5352758371554955, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003982718826136988, 'tknout': 'BNT-FF1C', 'amtout': -19.1211355663836, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (1.9702345513100596, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 750.6057364856824, 'tknout': 'USDC-eB48', 'amtout': -293.5068652469199, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] + ), (2.67115241495777, [{'cid': '0xe37abfaee752c24a764955cbb2d10c3c9f88472263cbd2c00ca57facb0f128fe', 'tknin': 'WETH-6Cc2', 'amtin': 0.0034263543081607395, 'tknout': 'BNT-FF1C', 'amtout': -16.58585974665766, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (2.535310217715329, [{'cid': '0x748ab2bef0d97e5a044268626e6c9c104bab818605d44f650fdeaa03a3c742d2', 'tknin': 'WETH-6Cc2', 'amtin': 0.003454648687693407, 'tknout': 'BNT-FF1C', 'amtout': -16.58585971966386, 'error': None}, {'cid': '3743106036130323098097120681749450326076-0', 'tknin': 'BNT-FF1C', 'amtin': 16.585859729228105, 'tknout': 'WETH-6Cc2', 'amtout': -0.003982724874543209, 'error': None}] + ), (5.438084583685771, [{'cid': '0x8f9771f2886aa12c1659c275b8e305f58c7c41ba82df03bb21c0bcac98ffde4b', 'tknin': 'WETH-6Cc2', 'amtin': 0.002847350733645726, 'tknout': 'HEX-eb39', 'amtout': -556.3312638401985, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 556.3312644516602, 'tknout': 'WETH-6Cc2', 'amtout': -0.003980041696137606, 'error': None}] + ), (5.400385044154462, [{'cid': '0x3a98798837e610ac07762e2d58f29f0cf96297a2528f86e0fe9b903b1e45a204', 'tknin': 'WETH-6Cc2', 'amtin': 0.0028413006787388895, 'tknout': 'HEX-eb39', 'amtout': -553.6187023743987, 'error': None}, {'cid': '14291859410679415465461733512134264881242-0', 'tknin': 'HEX-eb39', 'amtin': 553.6187027173414, 'tknout': 'WETH-6Cc2', 'amtout': -0.003966139257351835, 'error': None}] + ), (1.9713220433332026, [{'cid': '0xc4771395e1389e2e3a12ec22efbb7aff5b1c04e5ce9c7596a82e9dc8fdec725b', 'tknin': 'BNT-FF1C', 'amtin': 748.6344146891497, 'tknout': 'USDC-eB48', 'amtout': -292.73623879346997, 'error': None}, {'cid': '2381976568446569244243622252022377480332-1', 'tknin': 'USDC-eB48', 'amtin': 292.73623752593994, 'tknout': 'BNT-FF1C', 'amtout': -750.6057367324829, 'error': None}] + ), (8.465616944048316, [{'cid': '0x5b5f170977fe879c965a9fec9aeba4dfe29659f503cd5fe6e67349bdc3089295', 'tknin': '0x0-1AD5', 'amtin': 359.7323400862515, 'tknout': 'WETH-6Cc2', 'amtout': -0.0070300615800533706, 'error': None}, {'cid': '9868188640707215440437863615521278132277-1', 'tknin': 'WETH-6Cc2', 'amtin': 0.00526677017535393, 'tknout': '0x0-1AD5', 'amtout': -359.73234041399974, 'error': None}] + ), (6.717558869249757, [{'cid': '0x1eda42a2cced5e9cfffe1b15d7c39253514267401c5bd2e9ca28287f8a996fde', 'tknin': 'rETH-6393', 'amtin': 0.2496827895520255, 'tknout': 'WETH-6Cc2', 'amtout': -0.26914170442614704, 'error': None}, {'cid': '3062541302288446171170371466885913903202-0', 'tknin': 'WETH-6Cc2', 'amtin': 0.267742513570596, 'tknout': 'rETH-6393', 'amtout': -0.2496827897163172, 'error': None}] + )] + + ops = bot.randomize(arb_opps=arb_opps, randomizer=3) + + assert iseq(ops[0], 8.465616944048316) or iseq(ops[0], 6.717558869249757) or iseq(ops[0], 5.438084583685771), f"[NB047 Randomizer], expected randomizer to return top 3 most profitable arbs, but it did not!" + # - + + \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py b/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py new file mode 100644 index 000000000..7a4f1d147 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_900_OptimizerDetailedSlow.py @@ -0,0 +1,713 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_900_OptimizerDetailedSlow.py` +# ------------------------------------------------------------ +# source file = NBTest_900_OptimizerDetailedSlow.py +# test id = 900 +# test comment = OptimizerDetailedSlow +# ------------------------------------------------------------ + + + +#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.optimizer import OptimizerBase, CPCArbOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(OptimizerBase)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +try: + CCm = CPCContainer.from_df(pd.read_csv("_data/NBTest_006.csv.gz")) +except: + CCm = CPCContainer.from_df(pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz")) + +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) +#CCm.asdf().to_csv("A011-test.csv.gz", compression = "gzip") + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment Market structure analysis [NOTEST] +# ------------------------------------------------------------ +def notest_market_structure_analysis(): +# ------------------------------------------------------------ + + print(f"Total pairs: {len(pairs0):4}") + print(f"Primary pairs: {len(pairs):4}") + print(f"...carbon: {len(pairsc):4}") + print(f"Tokens: {len(CA.tokens()):4}") + print(f"Curves: {len(CCm):4}") + + CA.count_by_pairs() + + CA.count_by_pairs(minn=2) + + # ### All crosses + + CCx = CCm.bypairs( + CCm.filter_pairs(notin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") + ) + len(CCx), CCx.token_count()[:10] + + AGx=ArbGraph.from_cc(CCx) + AGx.plot(labels=False, node_size=50, node_color="#fcc")._ + + # ### Biggest crosses (HEX, UNI, ICHI, FRAX) + + CCx2 = CCx.bypairs( + CCx.filter_pairs(onein=f"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}") + ) + ArbGraph.from_cc(CCx2).plot() + len(CCx2) + + # ### Carbon + + ArbGraph.from_cc(CCc1).plot()._ + + len(CCc1), len(CCc1.tokens()) + + CCc1.token_count() + + + len(CCc1.pairs()), CCc1.pairs() + + # ### Token subsets + + O = MargPOptimizer(CCm.bypairs( + CCm.filter_pairs(bothin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") + )) + r = O.margp_optimizer(f"{T.USDC}", params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + + # + + #r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("").to_excel("ti.xlsx") + # - + + ArbGraph.from_r(r).plot()._ + + # + + #O.CC.plot() + # - + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment ABC Tests +# ------------------------------------------------------------ +def test_abc_tests(): +# ------------------------------------------------------------ + + assert raises(OptimizerBase).startswith("Can't instantiate abstract class") + assert raises(OptimizerBase.OptimizerResult).startswith("Can't instantiate abstract class") + + assert raises(CPCArbOptimizer).startswith("Can't instantiate abstract class") + assert raises(CPCArbOptimizer.OptimizerResult).startswith("Can't instantiate abstract class") + + assert not raises(MargPOptimizer, CCm) + assert not raises(SimpleOptimizer, CCm) + assert not raises(ConvexOptimizer, CCm) + + assert MargPOptimizer(CCm).kind == "margp" + assert SimpleOptimizer(CCm).kind == "simple" + assert ConvexOptimizer(CCm).kind == "convex" + + CPCArbOptimizer.MargpOptimizerResult(None, time=0,errormsg="err", optimizer=None) + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment General and Specific Tests +# ------------------------------------------------------------ +def test_general_and_specific_tests(): +# ------------------------------------------------------------ + + CA = CAm + + # ### General tests + + # #### General data integrity (should ALWAYS hold) + + assert len(pairs0) > 2500 + assert len(pairs) > 2500 + assert len(pairs0) > len(pairs) + assert len(pairsc) > 10 + assert len(CCm.tokens()) > 2000 + assert len(CCm)>4000 + assert len(CCm.filter_pairs(onein=f"{T.ETH}")) > 1900 # ETH pairs + assert len(CCm.filter_pairs(onein=f"{T.USDC}")) > 300 # USDC pairs + assert len(CCm.filter_pairs(onein=f"{T.USDT}")) > 190 # USDT pairs + assert len(CCm.filter_pairs(onein=f"{T.DAI}")) > 50 # DAI pairs + assert len(CCm.filter_pairs(onein=f"{T.WBTC}")) > 30 # WBTC pairs + + xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0} + yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0} + assert len(xis0) == 0 # set loglevel debug to see removal of curves + assert len(yis0) == 0 + + # #### Data integrity + + assert len(CCm) == 4155 + assert len(CCu3) == 1411 + assert len(CCu2) == 2177 + assert len(CCs2) == 236 + assert len(CCm.tokens()) == 2233 + assert len(CCm.pairs()) == 2834 + assert len(CCm.pairs(standardize=False)) == 2864 + + + assert CA.pairs() == CCm.pairs(standardize=True) + assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} + assert CA.tokens() == CCm.tokens() + + # #### prices + + r1 = CCc1.prices(result=CCc1.PR_TUPLE) + r2 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False) + r3 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False, inclpair=False) + assert isinstance(r1, tuple) + assert isinstance(r2, tuple) + assert isinstance(r3, tuple) + assert len(r1) == len(r2) + assert len(r1) == len(r3) + assert len(r1[0]) == 3 + assert isinstance(r1[0][0], str) + assert isinstance(r1[0][1], float) + assert len(r1[0][2].split("/"))==2 + + r2[:2] + + r3[:2] + + r1a = CCc1.prices(result=CCc1.PR_DICT) + r2a = CCc1.prices(result=CCc1.PR_DICT, primary=False) + r3a = CCc1.prices(result=CCc1.PR_DICT, primary=False, inclpair=False) + assert isinstance(r1a, dict) + assert isinstance(r2a, dict) + assert isinstance(r3a, dict) + assert len(r1a) == len(r1) + assert len(r1a) == len(r2a) + assert len(r1a) == len(r3a) + assert list(r1a.keys()) == list(x[0] for x in r1) + assert r1a.keys() == r2a.keys() + assert r1a.keys() == r3a.keys() + assert set(len(x) for x in r1a.values()) == {2}, "all records must be of of length 2" + assert set(type(x[0]) for x in r1a.values()) == {float}, "all records must have first type float" + assert set(type(x[1]) for x in r1a.values()) == {str}, "all records must have second type str" + assert tuple(r3a.values()) == r3 + + df = CCc1.prices(result=CCc1.PR_DF, primary=False) + assert len(df) == len(r1) + assert tuple(df.index) == tuple(x[0] for x in r1) + assert tuple(df["price"]) == r3 + df + + # #### more prices + + CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") + + r = CCt.prices(result=CCt.PR_TUPLE) + assert isinstance(r, tuple) + assert len(r) == len(CCt) + assert r[0] == ('6c988ffdc9e74acd97ccfb16dd65c110', 1833.9007005259564, 'WETH-6Cc2/USDC-eB48') + assert CCt.prices() == CCt.prices(result=CCt.PR_DICT) + r = CCt.prices(result=CCt.PR_DICT) + assert len(r) == len(CCt) + assert isinstance(r, dict) + assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (1833.9007005259564, 'WETH-6Cc2/USDC-eB48') + df = CCt.prices(result=CCt.PR_DF) + assert len(df) == len(CCt) + assert tuple(df.loc["1701411834604692317316873037158841057339-0"]) == (1799.9999997028303, 'WETH-6Cc2/USDC-eB48') + + # #### price_ranges + + CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") + CAt = CPCAnalyzer(CCt) + + r = CAt.price_ranges(result=CAt.PR_TUPLE) + assert len(r) == len(CCt) + assert r[0] == ( + 'WETH/USDC', + '16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 + ) + assert r[1] == ( + 'WETH/USDC', + '41057334-0', + 'carbon_v1', + 'b', + '', + 1699.999829864358, + 1700.000169864341, + 1700.000169864341 + ) + r = CAt.price_ranges(result=CAt.PR_TUPLE, short=False) + assert r[0] == ( + 'WETH-6Cc2/USDC-eB48', + '6c988ffdc9e74acd97ccfb16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 + ) + r = CAt.price_ranges(result=CAt.PR_DICT) + assert len(r) == len(CCt) + assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == ( + 'WETH/USDC', + '16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 + ) + df = CAt.price_ranges(result=CAt.PR_DF) + assert len(df) == len(CCt) + assert tuple(df.index.names) == ('pair', 'exch', 'cid') + assert tuple(df.columns) == ('b', 's', 'p_min', 'p_max', 'p_marg') + assert set(df["p_marg"]) == set(x[-1] for x in CAt.price_ranges(result=CCt.PR_TUPLE)) + for p1, p2 in zip(df["p_marg"], df["p_marg"][1:]): + assert p2 >= p1 + df + + # #### count_by_pairs + + assert len(CA.count_by_pairs()) == len(CA.pairs()) + assert sum(CA.count_by_pairs()["count"])==len(CA.CC) + assert np.all(CA.count_by_pairs() == CA.count_by_pairs(asdf=True)) + assert len(CA.count_by_pairs()) == len(CA.count_by_pairs(asdf=False)) + assert type(CA.count_by_pairs()).__name__ == "DataFrame" + assert type(CA.count_by_pairs(asdf=False)).__name__ == "list" + assert type(CA.count_by_pairs(asdf=False)[0]).__name__ == "tuple" + for i in range(10): + assert len(CA.count_by_pairs(minn=i)) >= len(CA.count_by_pairs(minn=i)), f"failed {i}" + + # #### count_by_tokens + + r = CA.count_by_tokens() + assert len(r) == len(CA.tokens()) + assert sum(r["total"]) == 2*len(CA.CC) + assert tuple(r["total"]) == tuple(x[1] for x in CA.CC.token_count()) + for ix, row in r[:10].iterrows(): + assert row[0] >= sum(row[1:]), f"failed at {ix} {tuple(row)}" + CA.count_by_tokens() + + # #### pool_arbitrage_statistics + + pas = CAm.pool_arbitrage_statistics() + assert np.all(pas == CAm.pool_arbitrage_statistics(CAm.POS_DF)) + assert len(pas)==165 + assert list(pas.columns) == ['price', 'vl', 'itm', 'b', 's', 'bsv'] + assert list(pas.index.names) == ['pair', 'exchange', 'cid0'] + assert {x[0] for x in pas.index} == {Pair.n(x) for x in CAm.pairsc()} + assert {x[1] for x in pas.index} == {'bancor_v2', 'bancor_v3','carbon_v1','sushiswap_v2','uniswap_v2','uniswap_v3'} + pas + + pasd = CAm.pool_arbitrage_statistics(CAm.POS_DICT) + assert isinstance(pasd, dict) + assert len(pasd) == 26 + assert len(pasd['WETH-6Cc2/DAI-1d0F']) == 7 + pd0 = pasd['WETH-6Cc2/DAI-1d0F'][0] + assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') + assert iseq(pd0[2], 1840.1216491367131) + assert pd0[3:6] == ('594', '594', 'uniswap_v3') + assert iseq(pd0[6], 8.466598820198278) + assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') + pd0 + + pasl = CAm.pool_arbitrage_statistics(result = CAm.POS_LIST) + assert isinstance(pasl, tuple) + assert len(pasl) == len(pas) + pd0 = [(ix, x) for ix, x in enumerate(pasl) if x[2]==1840.1216491367131] + pd0 = pasl[pd0[0][0]] + assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') + assert iseq(pd0[2], 1840.1216491367131) + assert pd0[3:6] == ('594', '594', 'uniswap_v3') + assert iseq(pd0[6], 8.466598820198278) + assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') + pd0 + + # ### MargP Optimizer + + # #### margp optimizer + + tokenlist = f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}" + targettkn = f"{T.USDC}" + O = MargPOptimizer(CCm.bypairs(CCm.filter_pairs(bothin=tokenlist))) + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + + # #### MargpOptimizerResult + + assert type(r) == MargPOptimizer.MargpOptimizerResult + assert iseq(r.result, -4606.010157294979) + assert r.time > 0.001 + assert r.time < 0.1 + assert r.method == O.METHOD_MARGP + assert r.targettkn == targettkn + assert set(r.tokens_t)==set(['USDT-1ec7', 'WETH-6Cc2', 'WBTC-C599', 'DAI-1d0F', 'BNT-FF1C']) + p_opt_d0 = {t:x for x, t in zip(r.p_optimal_t, r.tokens_t)} + p_opt_d = {t:round(x,6) for x, t in zip(r.p_optimal_t, r.tokens_t)} + print("optimal p", p_opt_d) + assert p_opt_d == {'WETH-6Cc2': 1842.67228, 'WBTC-C599': 27604.143472, + 'BNT-FF1C': 0.429078, 'USDT-1ec7': 1.00058, 'DAI-1d0F': 1.000179} + assert r.p_optimal[r.targettkn] == 1 + po = [(k,v) for k,v in r.p_optimal.items()][:-1] + assert len(po)==len(r.p_optimal_t) + for k,v in po: + assert p_opt_d0[k] == v, f"error at {k}, {v}, {p_opt_d0[k]}" + + # #### TradeInstructions + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 86 + ti0=[x for x in ti if x.cid=="357"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == MargPOptimizer.TradeInstruction + assert ti0.tknin == f"{T.USDT}" + assert ti0.tknout == f"{T.USDC}" + assert round(ti0.amtin, 8) == 1214.45596849 + assert round(ti0.amtout, 8) == -1216.41933959 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="357"] + assert len(tid0)==1 + tid0=tid0[0] + assert type(tid0)==dict + assert tid0["tknin"] == f"{T.USDT}" + assert tid0["tknout"] == f"{T.USDC}" + assert round(tid0["amtin"], 8) == 1214.45596849 + assert round(tid0["amtout"], 8) == -1216.41933959 + assert tid0["error"] is None + tid[:2] + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + len(r.tokens_t) + 1 + tif0 = dict(df.loc["357"]) + assert tif0["pair"] == "USDC-eB48/USDT-1ec7" + assert tif0["pairp"] == "USDC/USDT" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + assert tuple(dfa.index)[:-4] == cids + assert len(dfa) == len(df)+4 + assert len(dfa.columns) == len(r.tokens_t) + 1 + assert set(dfa.columns) == set(r.tokens_t).union(set([r.targettkn])) + assert list(dfa.index)[-4:] == ['PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] + dfa[:10] + + dfpg = r.trade_instructions(ti_format=O.TIF_DFPG) + assert set(x[1] for x in dfpg.index) == set(cids) + assert np.all(dfpg["gain_tknq"]>=0) + assert np.all(dfpg["gain_r"]>=0) + assert round(np.max(dfpg["gain_r"]),8) == 0.04739068 + assert round(np.min(dfpg["gain_r"]),8) == 1.772e-05 + assert len(dfpg) == len(ti) + for p, t in zip(tuple(dfpg["pair"]), tuple(dfpg["tknq"])): + assert p.split("/")[1] == t, f"error in {p} [{t}]" + print(f"total gains: {sum(dfpg['gain_ttkn']):,.2f} {r.targettkn} [result={-r.result:,.2f}]") + assert abs(sum(dfpg["gain_ttkn"])/r.result+1)<0.01 + dfpg[:10] + + # ### Convex Optimizer + + tokens = f"{T.DAI},{T.USDT},{T.HEX},{T.WETH},{T.LINK}" + CCo = CCu2.bypairs(CCu2.filter_pairs(bothin=tokens)) + CCo += CCs2.bypairs(CCu2.filter_pairs(bothin=tokens)) + CA = CPCAnalyzer(CCo) + O = ConvexOptimizer(CCo) + #ArbGraph.from_cc(CCo).plot()._ + + CA.count_by_tokens() + + # + + #CCo.plot() + # - + + # #### convex optimizer + + targettkn = T.USDT + # r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=False)) + # r + + SFC = O.SFC(**{targettkn:O.AMMPays}) + r = O.convex_optimizer(SFC, verbose=False, solver=O.SOLVER_SCS) + r + + # #### NofeesOptimizerResult + + round(r.result,-5) + + assert type(r) == ConvexOptimizer.NofeesOptimizerResult + # assert round(r.result,-5) <= -1500000.0 + # assert round(r.result,-5) >= -2500000.0 + assert r.time < 5 + assert r.method == "convex" + assert set(r.token_table.keys()) == set(['USDT-1ec7', 'WETH-6Cc2', 'LINK-86CA', 'DAI-1d0F', 'HEX-eb39']) + assert len(r.token_table[T.USDT].x)==0 + assert len(r.token_table[T.USDT].y)==10 + lx = list(it.chain(*[rr.x for rr in r.token_table.values()])) + lx.sort() + ly = list(it.chain(*[rr.y for rr in r.token_table.values()])) + ly.sort() + assert lx == [_ for _ in range(21)] + assert ly == lx + + # #### trade instructions + + ti = r.trade_instructions() + assert type(ti[0]) == ConvexOptimizer.TradeInstruction + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 21 + ti0=[x for x in ti if x.cid=="175"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == ConvexOptimizer.TradeInstruction + assert ti0.tknin == f"{T.LINK}" + assert ti0.tknout == f"{T.DAI}" + # assert round(ti0.amtin, 8) == 8.50052943 + # assert round(ti0.amtout, 8) == -50.40963779 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert type(tid[0])==dict + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="175"] + assert len(tid0)==1 + tid0=tid0[0] + assert tid0["tknin"] == f"{T.LINK}" + assert tid0["tknout"] == f"{T.DAI}" + # assert round(tid0["amtin"], 8) == 8.50052943 + # assert round(tid0["amtout"], 8) == -50.40963779 + assert tid0["error"] is None + tid[:2] + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + 4 + 1 + tif0 = dict(df.loc["175"]) + assert tif0["pair"] == 'LINK-86CA/DAI-1d0F' + assert tif0["pairp"] == "LINK/DAI" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") + assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") + + # ### Simple Optimizer + + pair = f"{T.ETH}/{T.USDC}" + CCs = CCm.bypairs(pair) + CA = CPCAnalyzer(CCs) + O = SimpleOptimizer(CCs) + #ArbGraph.from_cc(CCs).plot()._ + + CA.count_by_tokens() + + # + + #CCs.plot() + # - + + # #### simple optimizer + + r = O.simple_optimizer(T.USDC) + r + + # #### result + + assert type(r) == SimpleOptimizer.SimpleOptimizerResult + assert round(r.result,5) <= -1217.28494 + assert r.time < 0.1 + assert r.method == "simple-targettkn" + assert r.errormsg is None + + round(r.result,5) + + # #### trade instructions + + ti = r.trade_instructions() + assert type(ti[0]) == SimpleOptimizer.TradeInstruction + + assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) + ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) + cids = tuple(ti_.cid for ti_ in ti) + assert isinstance(ti, tuple) + assert len(ti) == 12 + ti0=[x for x in ti if x.cid=="6c988ffdc9e74acd97ccfb16dd65c110"] + assert len(ti0)==1 + ti0=ti0[0] + assert ti0.cid == ti0.curve.cid + assert type(ti0).__name__ == "TradeInstruction" + assert type(ti[0]) == SimpleOptimizer.TradeInstruction + assert ti0.tknin == f"{T.USDC}" + assert ti0.tknout == f"{T.WETH}" + assert round(ti0.amtin, 8) == 48153.80713493 + assert round(ti0.amtout, 8) == -26.18299611 + assert ti0.error is None + ti[:2] + + tid = r.trade_instructions(ti_format=O.TIF_DICTS) + assert isinstance(tid, tuple) + assert type(tid[0])==dict + assert len(tid) == len(ti) + tid0=[x for x in tid if x["cid"]=="6c988ffdc9e74acd97ccfb16dd65c110"] + assert len(tid0)==1 + tid0=tid0[0] + assert tid0["tknin"] == f"{T.USDC}" + assert tid0["tknout"] == f"{T.WETH}" + assert round(tid0["amtin"], 8) == 48153.80713493 + assert round(tid0["amtout"], 8) == -26.18299611 + assert tid0["error"] is None + tid[:2] + + df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") + assert tuple(df.index) == cids + assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) + assert len(df) == len(ti) + assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] + assert len(df.columns) == 4 + 1 + 1 + tif0 = dict(df.loc["6c988ffdc9e74acd97ccfb16dd65c110"]) + assert tif0["pair"] == 'WETH-6Cc2/USDC-eB48' + assert tif0["pairp"] == "WETH/USDC" + assert tif0["tknin"] == tid0["tknin"] + assert tif0[tif0["tknin"]] == tid0["amtin"] + assert tif0[tif0["tknout"]] == tid0["amtout"] + df[:2] + + assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") + assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") + + +# ------------------------------------------------------------ +# Test 900 +# File test_900_OptimizerDetailedSlow.py +# Segment Analysis by pair +# ------------------------------------------------------------ +def test_analysis_by_pair(): +# ------------------------------------------------------------ + + # + + # CCm1 = CAm.CC.copy() + # CCm1 += CPC.from_carbon( + # pair=f"{T.WETH}/{T.USDC}", + # yint = 1, + # y = 1, + # pa = 1500, + # pb = 1501, + # tkny = f"{T.WETH}", + # cid = "test-1", + # isdydx=False, + # params=dict(exchange="carbon_v1"), + # ) + # CAm1 = CPCAnalyzer(CCm1) + # CCm1.asdf().to_csv("NBTest_006-augmented.csv.gz", compression = "gzip") + # - + + pricedf = CAm.pool_arbitrage_statistics() + assert len(pricedf)==165 + pricedf + + # ### WETH/USDC + + pair = "WETH-6Cc2/USDC-eB48" + print(f"Pair = {pair}") + + df = pricedf.loc[Pair.n(pair)] + assert len(df)==24 + df + + pi = CAm.pair_data(pair) + O = MargPOptimizer(pi.CC) + + # #### Target token = base token + + targettkn = pair.split("/")[0] + print(f"Target token = {targettkn}") + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR) + + dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) + print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") + dfti1 + + # #### Target token = quote token + + targettkn = pair.split("/")[1] + print(f"Target token = {targettkn}") + r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r.trade_instructions(ti_format=O.TIF_DFAGGR) + + dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) + print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) + dfti2 \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py b/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py new file mode 100644 index 000000000..6604f208e --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_901_TestMultiTriangleModeSlow.py @@ -0,0 +1,247 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_901_TestMultiTriangleModeSlow.py` +# ------------------------------------------------------------ +# source file = NBTest_901_TestMultiTriangleModeSlow.py +# test id = 901 +# test comment = TestMultiTriangleModeSlow +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi_triangle" + + +# ------------------------------------------------------------ +# Test 901 +# File test_901_TestMultiTriangleModeSlow.py +# Segment Test_min_profit +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert bot.ConfigObj.DEFAULT_MIN_PROFIT_BNT == 0.02 + + # ### Test_arb_mode_class + + arb_finder = bot._get_arb_finder("multi_triangle") + assert arb_finder.__name__ == "ArbitrageFinderTriangleMulti", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 901 +# File test_901_TestMultiTriangleModeSlow.py +# Segment Test_combos +# ------------------------------------------------------------ +def test_test_combos(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi_triangle") + finder2 = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_TOKENS, + ConfigObj=bot.ConfigObj, + ) + combos = finder2.get_combos(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode="multi_triangle") + assert len(combos) == 1370, f"[TestMultiMode] Using wrong dataset, expected 1370 combos, found {len(combos)}" + + # ### Test_find_arbitrage + + run_full = bot._run(flashloan_tokens=flashloan_tokens, CCm=CCm, arb_mode=arb_mode, data_validator=False, result=bot.XS_ARBOPPS) + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + assert len(r) == 40, f"[TestMultiMode] Expected 40 arbs, found {len(r)}" + assert len(r) == len(run_full), f"[TestMultiMode] Expected arbs from .find_arbitrage: {len(r)} - to match _run: {len(run_full)}" + + # ### Test_multi_carbon_pools + + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + multi_carbon_count = 0 + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 3: + multi_carbon_count += 1 + assert multi_carbon_count > 0, f"[TestMultiMode] Not finding arbs with multiple Carbon curves." + + # ### Test_mono_direction_carbon_curves + + arb_finder = bot._get_arb_finder("multi_triangle") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + for arb in r: + ( + best_profit, + best_trade_instructions_df, + best_trade_instructions_dic, + best_src_token, + best_trade_instructions, + ) = arb + if len(best_trade_instructions_dic) > 3: + + has_zero_curves = False + has_one_curves = False + for curve in best_trade_instructions_dic: + if "-0" in curve['cid']: + has_zero_curves = True + if "-1" in curve['cid']: + has_one_curves = True + assert not has_zero_curves or not has_one_curves, f"[TestMultiMode] Finding Carbon curves in opposite directions - not supported in this mode." \ No newline at end of file diff --git a/fastlane_bot/tests/nbtest/test_902_ValidatorSlow.py b/fastlane_bot/tests/nbtest/test_902_ValidatorSlow.py new file mode 100644 index 000000000..0b5ac3fd1 --- /dev/null +++ b/fastlane_bot/tests/nbtest/test_902_ValidatorSlow.py @@ -0,0 +1,283 @@ +# ------------------------------------------------------------ +# Auto generated test file `test_902_ValidatorSlow.py` +# ------------------------------------------------------------ +# source file = NBTest_902_ValidatorSlow.py +# test id = 902 +# test comment = ValidatorSlow +# ------------------------------------------------------------ + + + +""" +This module contains the tests for the exchanges classes +""" +from fastlane_bot import Bot, Config +from fastlane_bot.bot import CarbonBot +from fastlane_bot.tools.cpc import ConstantProductCurve +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC +from fastlane_bot.events.exchanges import UniswapV2, UniswapV3, SushiswapV2, CarbonV1, BancorV3 +from fastlane_bot.events.interface import QueryInterface +from fastlane_bot.helpers.poolandtokens import PoolAndTokens +from fastlane_bot.helpers import TradeInstruction, TxReceiptHandler, TxRouteHandler, TxSubmitHandler, TxHelpers, TxHelper +from fastlane_bot.events.managers.manager import Manager +from fastlane_bot.events.interface import QueryInterface +from joblib import Parallel, delayed +import pytest +import math +import json +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(UniswapV3)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SushiswapV2)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CarbonV1)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(BancorV3)) +from fastlane_bot.testing import * +from fastlane_bot.modes import triangle_single_bancor3 +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + + + +C = cfg = Config.new(config=Config.CONFIG_MAINNET) +C.DEFAULT_MIN_PROFIT_BNT = 0.02 +C.DEFAULT_MIN_PROFIT = 0.02 +cfg.DEFAULT_MIN_PROFIT_BNT = 0.02 +cfg.DEFAULT_MIN_PROFIT = 0.02 +assert (C.NETWORK == C.NETWORK_MAINNET) +assert (C.PROVIDER == C.PROVIDER_ALCHEMY) +setup_bot = CarbonBot(ConfigObj=C) +pools = None +with open('fastlane_bot/data/tests/latest_pool_data_testing.json') as f: + pools = json.load(f) +pools = [pool for pool in pools] +pools[0] +static_pools = pools +state = pools +exchanges = list({ex['exchange_name'] for ex in state}) +db = QueryInterface(state=state, ConfigObj=C, exchanges=exchanges) +setup_bot.db = db + +static_pool_data_filename = "static_pool_data" + +static_pool_data = pd.read_csv(f"fastlane_bot/data/{static_pool_data_filename}.csv", low_memory=False) + +uniswap_v2_event_mappings = pd.read_csv("fastlane_bot/data/uniswap_v2_event_mappings.csv", low_memory=False) + +tokens = pd.read_csv("fastlane_bot/data/tokens.csv", low_memory=False) + +exchanges = "carbon_v1,bancor_v3,uniswap_v3,uniswap_v2,sushiswap_v2" + +exchanges = exchanges.split(",") + + +alchemy_max_block_fetch = 20 +static_pool_data["cid"] = [ + cfg.w3.keccak(text=f"{row['descr']}").hex() + for index, row in static_pool_data.iterrows() + ] +static_pool_data = [ + row for index, row in static_pool_data.iterrows() + if row["exchange_name"] in exchanges +] + +static_pool_data = pd.DataFrame(static_pool_data) +static_pool_data['exchange_name'].unique() +mgr = Manager( + web3=cfg.w3, + cfg=cfg, + pool_data=static_pool_data.to_dict(orient="records"), + SUPPORTED_EXCHANGES=exchanges, + alchemy_max_block_fetch=alchemy_max_block_fetch, + uniswap_v2_event_mappings=uniswap_v2_event_mappings, + tokens=tokens.to_dict(orient="records"), +) + +start_time = time.time() +Parallel(n_jobs=-1, backend="threading")( + delayed(mgr.add_pool_to_exchange)(row) for row in mgr.pool_data +) +cfg.logger.info(f"Time taken to add initial pools: {time.time() - start_time}") + +mgr.deduplicate_pool_data() +cids = [pool["cid"] for pool in mgr.pool_data] +assert len(cids) == len(set(cids)), "duplicate cid's exist in the pool data" +def init_bot(mgr: Manager) -> CarbonBot: + """ + Initializes the bot. + + Parameters + ---------- + mgr : Manager + The manager object. + + Returns + ------- + CarbonBot + The bot object. + """ + mgr.cfg.logger.info("Initializing the bot...") + bot = CarbonBot(ConfigObj=mgr.cfg) + bot.db = db + bot.db.mgr = mgr + assert isinstance( + bot.db, QueryInterface + ), "QueryInterface not initialized correctly" + return bot +bot = init_bot(mgr) +bot.db.handle_token_key_cleanup() +bot.db.remove_unmapped_uniswap_v2_pools() +bot.db.remove_zero_liquidity_pools() +bot.db.remove_unsupported_exchanges() +tokens = bot.db.get_tokens() +ADDRDEC = {t.key: (t.address, int(t.decimals)) for t in tokens if not math.isnan(t.decimals)} +flashloan_tokens = bot.setup_flashloan_tokens(None) +CCm = bot.setup_CCm(None) +pools = db.get_pool_data_with_tokens() + +arb_mode = "multi" + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_MIN_PROFIT +# ------------------------------------------------------------ +def test_test_min_profit(): +# ------------------------------------------------------------ + + assert(cfg.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + assert(C.DEFAULT_MIN_PROFIT_BNT <= 0.02), f"[TestMultiMode], DEFAULT_MIN_PROFIT_BNT must be <= 0.02 for this Notebook to run, currently set to {cfg.DEFAULT_MIN_PROFIT_BNT}" + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_validator_in_out +# ------------------------------------------------------------ +def test_test_validator_in_out(): +# ------------------------------------------------------------ + + arb_finder = bot._get_arb_finder("multi") + assert arb_finder.__name__ == "FindArbitrageMultiPairwise", f"[TestMultiMode] Expected arb_finder class name name = FindArbitrageMultiPairwise, found {arb_finder.__name__}" + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_validator_multi +# ------------------------------------------------------------ +def test_test_validator_multi(): +# ------------------------------------------------------------ + + # + + arb_finder = bot._get_arb_finder("multi") + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = r[0] + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode="multi", arb_finder=finder) + + + + assert arb_opp == validated + + # - + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_validator_single +# ------------------------------------------------------------ +def test_test_validator_single(): +# ------------------------------------------------------------ + + # + + arb_mode="single" + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = r[0] + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + + assert arb_opp == validated + # - + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_validator_bancor_v3 +# ------------------------------------------------------------ +def test_test_validator_bancor_v3(): +# ------------------------------------------------------------ + + # + + arb_mode="bancor_v3" + + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = r[0] + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + + + assert arb_opp != validated + # - + + +# ------------------------------------------------------------ +# Test 902 +# File test_902_ValidatorSlow.py +# Segment Test_validator_multi_triangle +# ------------------------------------------------------------ +def test_test_validator_multi_triangle(): +# ------------------------------------------------------------ + + # + + arb_mode="multi_triangle" + arb_finder = bot._get_arb_finder(arb_mode) + finder = arb_finder( + flashloan_tokens=flashloan_tokens, + CCm=CCm, + mode="bothin", + result=bot.AO_CANDIDATES, + ConfigObj=bot.ConfigObj, + ) + r = finder.find_arbitrage() + + arb_opp = r[0] + + validated = bot.validate_optimizer_trades(arb_opp=arb_opp, arb_mode=arb_mode, arb_finder=finder) + + + + assert arb_opp == validated \ No newline at end of file diff --git a/fastlane_bot/tools/analyzer.py b/fastlane_bot/tools/analyzer.py index 61e204985..4b8ccabff 100644 --- a/fastlane_bot/tools/analyzer.py +++ b/fastlane_bot/tools/analyzer.py @@ -7,17 +7,34 @@ NOTE: this class is not part of the API of the Carbon protocol, and you must expect breaking changes even in minor version updates. Use at your own risk. """ -__VERSION__ = "0.1" -__DATE__ = "06/May/2023" +__VERSION__ = "1.5" +__DATE__ = "18/May/2023" +from typing import Any from .cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from .optimizer import CPCArbOptimizer from dataclasses import dataclass, field, asdict, astuple, fields, InitVar import math as m import numpy as np import pandas as pd import itertools as it +import collections as cl + +class AttrDict(dict): + """ + A dictionary that allows for attribute-style access + + see https://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute + """ + def __init__(self, *args, **kwargs): + super(AttrDict, self).__init__(*args, **kwargs) + self.__dict__ = self + + def __getattr__(self, __name: str) -> Any: + return None + class _DCBase: """base class for all data classes, adding some useful methods""" @@ -53,10 +70,66 @@ def pairsc(self): """all pairs with carbon curves""" return {c.pairo.primary for c in self.CC if c.P("exchange")=="carbon_v1"} + def curves(self): + """all curves""" + return self.CC.curves + + def curvesc(self, *, ascc=False): + """all carbon curves""" + result = [c for c in self.CC if c.P("exchange")=="carbon_v1"] + if not ascc: + return result + return CPCContainer(result) + def tokens(self): """all tokens in the curves""" return self.CC.tokens() + def count_by_tokens(self, *, byexchange=True, asdict=False): + """ + counts the number of times each token appears in the curves + + :byexchange: if False only provides the global number from the CC object + :asdict: if True returns dict, otherwise dataframe + + NOTE: the exchanges are current hardcoded, and should be made dynamic + """ + if not byexchange: + return self.CC.token_count(asdict=asdict) + + CCu3 = self.CC.byparams(exchange="uniswap_v3") + CCu2 = self.CC.byparams(exchange="uniswap_v2") + CCs2 = self.CC.byparams(exchange="sushiswap_v2") + CCc1 = self.CC.byparams(exchange="carbon_v1") + tc_u3 = CCu3.token_count(asdict=True) + tc_u2 = CCu2.token_count(asdict=True) + tc_s2 = CCs2.token_count(asdict=True) + tc_c1 = CCc1.token_count(asdict=True) + rows = [ + (tkn, cnt, tc_c1.get(tkn,0), tc_u3.get(tkn,0), tc_u2.get(tkn,0), tc_s2.get(tkn,0)) + for tkn, cnt in self.CC.token_count() + ] + df = pd.DataFrame(rows,columns="token,total,carb,uni3,uni2,sushi".split(",")) + df = df.set_index("token") + return df + + def count_by_pairs(self, *, minn=None, asdf=True): + """ + counts the number of times each pair appears in the curves + + :minn: filter the dataset to a minimum number of curves per pair (only df) + """ + curves_by_pair = list(cl.Counter([c.pairo.primary for c in self.CC]).items()) + curves_by_pair = sorted(curves_by_pair, key=lambda x: x[1], reverse=True) + if not asdf: + return curves_by_pair + df = pd.DataFrame(curves_by_pair, columns=["pair", "count"]).set_index("pair") + if minn is None: + return df + df = df[df["count"]>=minn] + return df + + @dataclass class CurveData(_DCBase): curve: InitVar[CPC] @@ -79,6 +152,7 @@ def info(self): c = self.curve cc = self.CC dct = dict( + primary = Pair.n(self.primary), pair = Pair.n(c.pair), price = c.primaryp(), cid = c.cid, @@ -91,12 +165,16 @@ def info(self): ) return dct - def curve_data(self, curves=None): + def curve_data(self, curves=None, *, asdf=False): """return a CurveData object for the curve (or all curves of the pair if curve is None))""" if curves is None: curves = self.CC try: - return tuple(self.curve_data(c) for c in curves) + result = tuple(self.curve_data(c) for c in curves) + if asdf: + df = pd.DataFrame([c.info() for c in result]) + return df + return result except TypeError: pass return self.CurveData(curves, self) @@ -128,11 +206,11 @@ def curves_by_exchange(self, exchange=None): else: return [c for c in self.CC if c.P("exchange")==exchange] - def curve_data(self, curves=None): + def curve_data(self, curves=None, *, asdf=False): """return a CurveData object for the curves (or all curves of the pair if curve is None)""" if curves is None: curves = self.CC - return self.analyzer.curve_data(curves) + return self.analyzer.curve_data(curves, asdf=asdf) def pair_data(self, pair=None): """return a PairData object for the pair (dict for all pairs if pair is None)""" @@ -140,11 +218,274 @@ def pair_data(self, pair=None): return self.PairData(pair, self) return {pair: self.PairData(pair, self) for pair in self.pairs()} + def pair_analysis(self, pair, **params): + """ + :pair: pair to be analyzed, eg "WETH-6Cc2/USDC-eB48" + :params: optional parameters [see code for details] + + :returns: an attributed dictionary with the following fields: + :pair: the input pair, eg "WETH-6Cc2/USDC-eB48" + :tknb, tknq: base and quote token of the pair + :analyzer: the analyzer object + :paird: PairData object + :curved: tuple of CurveData objects, as returns by PairData.curve_data + :curvedf: curve data as dataframe, as returned by PairData.curve_data + :price: price estimate of that pair, in the native quotation of the pair + :vlc: value locked for Carbon (in quote token units) + :vlnc: ditto non-carbon + :curvedfx: like curvedf, but with some fields moved to the index + :ccurvedf: like curvedfx, but all non-carbon curves replaced with single aggregate line + :tib, tiq: trade instruction data frames (target = base / quote token respecitvely) + :tibq: concatenation of the TOTAL NET line of tib, tiq + :arbvalb/q: arb value in base token / quote token units + :xpairs: extended pairs (tokens of the pair plus triangulation tokens) + :tib/q_xnoc: trade instruction data frames for the extended pairs (non-carbon curves only) + :tib/q_xf: ditto (including carbon curves) + :xarbvalp/q: extended arb results (AttrDict with :nc: non-carbon, :full: plus Carbon, :net: difference) + """ + P = lambda x: params.get(x, None) + + paird = self.pair_data(pair) + curvedf = paird.curve_data(asdf=True) + tknb, tknq = pair.split("/") + + + ## PART1: TRIVIAL ANALYSIS + d = AttrDict( + pair = pair, + analyzer= self, + tknb = tknb, + tknq = tknq, + paird = paird, + curved = paird.curve_data(), + curvedf = curvedf, + price = self.CC.price_estimate(pair=pair), + vlc = sum(curvedf[curvedf["exchange"]=="carbon_v1"]["vl"]), + vlnc = sum(curvedf[curvedf["exchange"]!="carbon_v1"]["vl"]), + ) + + + ## PART 2: SIMPLE DATAFRAMES + + # indexed df + curvedf1 = d.curvedf + curvedf1 = curvedf1.drop(['pair', 'primary', 'cid'], axis=1) + curvedf1 = curvedf1.sort_values(by=["exchange", "cid0"]) + curvedf1 = curvedf1.set_index(["exchange", "cid0"]) + d["curvedfx"] = curvedf1 + + # carbon curve df (aggregating the other curves) + aggrdf = pd.DataFrame.from_dict([dict( + exchange="aggr", + cid0=Pair.n(pair), + price=d.price, + vl=d.vlnc, + itm="", + bs="", + bsv="", + )]).set_index(["exchange", "cid0"]) + d["ccurvedf"] = pd.concat([d.curvedfx.loc[["carbon_v1"]], aggrdf], axis=0) + + + ## PART 3: USING THE OPTIMIZER ON THE PAIR ("SIMPLE ARB") + # trade instructions + O = CPCArbOptimizer(paird.CC) + + r = O.margp_optimizer(tknb, params=dict(verbose=False, debug=False)) + d["tib"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + + r = O.margp_optimizer(tknq) + d["tiq"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + + d["tibq"] = pd.concat([d.tib.loc[["TOTAL NET"]], d.tiq.loc[["TOTAL NET"]]]) + d["arbvalb"] = -d.tibq.iloc[0][d.tknb] + d["arbvalq"] = -d.tibq.iloc[1][d.tknq] + + if P("nocav"): + # nocav --> no complex arb value calculation + d["nocav"] = True + return d + + ## PART 4: USING THE OPTIMIZER ON TRIANGULAR TOKENS ("COMPLEX ARB") + + # the carbon curves associated with the pair + CC_crb = self.curvesc(ascc=True).bypairs(pair) + + # the extended list of pairs (universe: tokens of the pair + triangulation tokens) + d["xpairs"] = self.CC.filter_pairs(bothin=f"{d.tknb}, {d.tknq}, {CPCContainer.TRIANGTOKENS}") + + # all non-Carbon curves associated with the extended list of pairs + CCx_noc = self.CC.bypairs(d.xpairs).byparams(exchange="carbon_v1", _inv=True) + #print("exchanges", {c.P("exchange") for c in CCx_noc}) + # the optimizer based on the extended list of pairs (non-carbon curves only!) + O = CPCArbOptimizer(CCx_noc) + r = O.margp_optimizer(d.tknb, params=dict(verbose=False, debug=False)) + d["tib_xnoc"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + r = O.margp_optimizer(d.tknq) + d["tiq_xnoc"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + + # the full set of curves (non-carbon on extended pairs, carbon on the pair) + CCx = CCx_noc.copy() + CCx += CC_crb + + # the optimizer based on the full set of curves + O = CPCArbOptimizer(CCx) + r = O.margp_optimizer(d.tknb, params=dict(verbose=False, debug=False)) + d["tib_xf"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + r = O.margp_optimizer(d.tknq) + d["tiq_xf"] = r.trade_instructions(ti_format=O.TIF_DFAGGR) + + try: + xarbval_ncq = -d.tiq_xnoc.loc["TOTAL NET"][d.tknq] + xarbval_fq = -d.tiq_xf.loc["TOTAL NET"][d.tknq] + xarbval_netq = xarbval_fq - xarbval_ncq + d["xarbvalq"] = AttrDict( + nc = xarbval_ncq, + full = xarbval_fq, + net = xarbval_netq, + ) + except Exception as e: + d["xarbvalq"] = AttrDict(err=str(e)) + + try: + xarbval_ncb = -d.tip_xnoc.loc["TOTAL NET"][d.tknb] + xarbval_fb = -d.tip_xf.loc["TOTAL NET"][d.tknb] + xarbval_netb = xarbval_fb - xarbval_ncb + d["xarbvalb"] = AttrDict( + nc = xarbval_ncb, + full = xarbval_fb, + net = xarbval_netb, + ) + except Exception as e: + d["xarbvalb"] = AttrDict(err=str(e)) + + ## FINALLY: return the result + return d + + def _fmt_xarbval(self, xarbval, tkn): + """format the extended arb value""" + if xarbval.err is None: + result = f"no-carb={xarbval.nc:,.2f} full={xarbval.full:,.2f} net={xarbval.net:,.2f} [{Pair.n(tkn)}]" + else: + result = f"error [{Pair.n(tkn)}]" + return result + def pair_analysis_pp(self, data, **parameters): + """ + pretty-print the output `d` of pair_analysis (returns string) + """ + P,d,s = lambda x: parameters.get(x, None), data, "" + + if not P("nosep"): + s += "-"*80+"\n" + if not P("nopair"): + s += f"Pair: {d.pair}\n" + + if not P("nosep"): + s += "-"*80+"\n" + + if not P("noprice"): + s += f"Price: {d.price:,.6f}\n" + + if not P("nocurves"): + s += f"Number of curves: {d.paird.ncurves} [carbon: {d.paird.ncurvesc}]\n" + + if not P("novl"): + s += f"Value locked: {d.vlc+d.vlnc:,.2f} {Pair.n(d.tknq)} [carbon: {d.vlc:,.2f}, other: {d.vlnc:,.2f}]\n" + + if not P("nosav"): + s += f"Simple arb value: {d.arbvalb:,.2f} {Pair.n(d.tknb)} / {d.arbvalq:,.2f} {Pair.n(d.tknq)}\n" + + if not P("nocav"): + s += f"Complex arb value: {self._fmt_xarbval(d.xarbvalq, d.tknq)}\n" + s += f" {self._fmt_xarbval(d.xarbvalb, d.tknb)}\n" + + return s + + POS_DICT = "dict" + POS_LIST = "list" + POS_DF = "df" + def pool_arbitrage_statistics(self, result = None, *, sort_price=True, only_pairs_with_carbon=True): + """ + returns arbirage statistics on all Carbon pairs + + :result: POS_DICT, POS_LIST, POS_DF (default) + :only_pairs_with_carbon: ignore all curves that don't have a Carbon pair + :sort_price: sort by price + :returns: the statistics data in the requested format + """ + # select all curves that have at least one Carbon pair... + if only_pairs_with_carbon: + curves_by_carbon_pair = {pair: self.CC.bypairs([pair]) for pair in self.pairsc()} + else: + curves_by_carbon_pair = {pair: self.CC.bypairs([pair]) for pair in self.pairs()} + # ...calculate some statistics... + prices_d = {pair: + [( + Pair.n(pair), pair, c.primaryp(), c.cid, c.cid[-8:], c.P("exchange"), c.tvl(tkn=pair.split("/")[0]), + "x" if c.itm(cc) else "", c.buy(), c.sell(), c.buysell(verbose=True, withprice=True) + ) for c in cc + ] + for pair, cc in curves_by_carbon_pair.items() + } + + # ...and return them in the desired format + if result is None: + result = self.POS_DF + + if result == self.POS_DICT: + #print("returning dict") + return prices_d + prices_l = tuple(it.chain(*prices_d.values())) + if result == self.POS_LIST: + #print("returning list") + return prices_l + pricedf0 = pd.DataFrame(prices_l, columns="pair,pairf,price,cid,cid0,exchange,vl,itm,b,s,bsv".split(",")) + if sort_price: + pricedf = pricedf0.drop(['cid', 'pairf'], axis=1).sort_values(by=["pair", "price", "exchange", "cid0"]) + else: + pricedf = pricedf0.drop(['cid', 'pairf'], axis=1).sort_values(by=["pair", "exchange", "cid0"]) + pricedf = pricedf.set_index(["pair", "exchange", "cid0"]) + if result == self.POS_DF: + return pricedf + + raise ValueError(f"invalid result type {result}") + + PR_TUPLE = "tuple" + PR_DICT = "dict" + PR_DF = "df" + def price_ranges(self, result=None, *, short=True): + """ + returns dataframe with price information of all curves + + :result: PR_TUPLE, PR_DICT, PR_DF (default) + :short: shorten cid and pair + """ + if result is None: result = self.PR_DF + price_l = (( + c.primary if not short else Pair.n(c.primary), + c.cid if not short else c.cid[-10:], + c.P("exchange"), + c.buy(), + c.sell(), + c.p_min_primary(), + c.p_max_primary(), + c.pp, + ) for c in self.CC) + if result == self.PR_TUPLE: + return tuple(price_l) + if result == self.PR_DICT: + return {c.cid: r for c, r in zip(self.CC, price_l)} + df = pd.DataFrame(price_l, columns="pair,cid,exch,b,s,p_min,p_max,p_marg".split(",")) + df = df.sort_values(["pair", "p_marg", "exch", "cid"]) + df = df.set_index(["pair", "exch", "cid"]) + if result == self.PR_DF: + return df + raise ValueError(f"unknown result type {result}") diff --git a/fastlane_bot/tools/arbgraphs.py b/fastlane_bot/tools/arbgraphs.py index 99e51063c..94e7482cb 100644 --- a/fastlane_bot/tools/arbgraphs.py +++ b/fastlane_bot/tools/arbgraphs.py @@ -7,8 +7,8 @@ NOTE: this class is not part of the API of the Carbon protocol, and you must expect breaking changes even in minor version updates. Use at your own risk. """ -__VERSION__ = "2.1" -__DATE__ = "16/Apr/2023" +__VERSION__ = "2.2" +__DATE__ = "09/May/2023" from dataclasses import dataclass, field, asdict, astuple, InitVar from .simplepair import SimplePair as Pair @@ -1603,7 +1603,10 @@ def out_degree(self, as_matrix=False): "labels": True, "edge_labels": False, "node_color": "lightblue", + "node_size": 200, "show": True, + "font_size": 12, + "font_color": "k", } def plot(self, **params): @@ -1613,7 +1616,10 @@ def plot(self, **params): :directed: if True (default), plot a directed graph, otherwise undirected :labels: if True (default), plot node labels :edge_labels: if True (default), plot edge labels - :node_color: color of the nodes (default: "lightblue") + :node_color: node color (default: "lightblue") + :node_size: node size (default: 200) + :font_size: font size (default: 12) + :font_color: font color (default: "k") :show: if True (default), show the plot :rnone: if True, returns None, otherwise returns self """ @@ -1630,6 +1636,9 @@ def plot(self, **params): with_labels=p("labels"), labels=nx.get_node_attributes(G, "label"), node_color=p("node_color"), + node_size=p("node_size"), + font_size=p("font_size"), + font_color=p("font_color"), ) if p("edge_labels"): diff --git a/fastlane_bot/tools/cpc.py b/fastlane_bot/tools/cpc.py index a33531d6b..116163537 100644 --- a/fastlane_bot/tools/cpc.py +++ b/fastlane_bot/tools/cpc.py @@ -7,8 +7,8 @@ NOTE: this class is not part of the API of the Carbon protocol, and you must expect breaking changes even in minor version updates. Use at your own risk. """ -__VERSION__ = "2.10.1" -__DATE__ = "07/May/2023" +__VERSION__ = "2.14" +__DATE__ = "23/May/2023" from dataclasses import dataclass, field, asdict, InitVar from .simplepair import SimplePair as Pair @@ -20,9 +20,11 @@ import json from matplotlib import pyplot as plt from .params import Params -import itertools +import itertools as it +import collections as cl from sys import float_info from hashlib import md5 as digest +import time try: dataclass_ = dataclass(frozen=True, kw_only=True) @@ -344,165 +346,6 @@ def __getattr__(self, name): } - -# @dataclass -# class Pair: -# """ -# a pair in notation TKNB/TKNQ; can also be provided as list -# """ - -# tknb: str = field(init=False) -# tknq: str = field(init=False) -# pair: InitVar[str] = None - -# def __post_init__(self, pair): -# if isinstance(pair, CPCContainer.Pair): -# self.tknb = pair.tknb -# self.tknq = pair.tknq -# elif isinstance(pair, str): -# self.tknb, self.tknq = pair.split("/") -# elif pair is False: -# # used in alternative constructors -# pass -# else: -# try: -# self.tknb, self.tknq = pair -# except: -# raise ValueError(f"pair must be a string or list of two strings {pair}") - -# @classmethod -# def from_tokens(cls, tknb, tknq): -# pair = cls(False) -# pair.tknb = tknb -# pair.tknq = tknq -# return pair - -# def __str__(self): -# return f"{self.tknb}/{self.tknq}" - -# @property -# def pair(self): -# """string representation of the pair""" -# return str(self) - -# @property -# def pairt(self): -# """tuple representation of the pair""" -# return (self.tknb, self.tknq) - -# @property -# def pairr(self): -# """returns the reversed pair""" -# return f"{self.tknq}/{self.tknb}" - -# @property -# def pairrt(self): -# """tuple representation of the reverse pair""" -# return (self.tknq, self.tknb) - -# @staticmethod -# def prettify_tkn(tkn): -# """returns a prettified token name""" -# return tkn.split("-")[0] - -# @staticmethod -# def prettify_pair(pair): -# """returns a prettified pair name""" -# return "/".join(Pair.prettify_tkn(tkn) for tkn in pair.split("/")) - -# @property -# def tknx(self): -# return self.tknb - -# @property -# def tkny(self): -# return self.tknq - -# @property -# def tknbp(self): -# return self.prettify_tkn(self.tknb) - -# @property -# def tknqp(self): -# return self.prettify_tkn(self.tknq) - -# @property -# def tknxp(self): -# return self.prettify_tkn(self.tknx) - -# @property -# def tknyp(self): -# return self.prettify_tkn(self.tkny) - -# def other(self, tkn): -# assert tkn in self.pairt, f"token not in pair{self.pair} {tkn}" -# return self.tknq if tkn == self.tknb else self.tknb - -# def otherp(self, tkn): -# return self.prettify_tkn(self.other(tkn)) - -# NUMERAIRE_TOKENS = { -# tkn: i -# for i, tkn in enumerate( -# [ -# "USDC", -# "USDT", -# "DAI", -# "TUSD", -# "BUSD", -# "PAX", -# "GUSD", -# "USDS", -# "sUSD", -# "mUSD", -# "HUSD", -# "USDN", -# "USDP", -# "USDQ", -# "ETH", -# "WETH", -# "WBTC", -# "BTC", -# ] -# ) -# } - -# @property -# def isprimary(self): -# """whether the representation is primary or secondary""" -# tknqix = self.NUMERAIRE_TOKENS.get(self.tknqp, 1e10) -# tknbix = self.NUMERAIRE_TOKENS.get(self.tknbp, 1e10) -# if tknqix == tknbix: -# return self.tknb < self.tknq -# return tknqix < tknbix - -# def primary_price(self, p): -# """returns the primary price (p if primary, 1/p if secondary)""" -# return p if self.isprimary else 1 / p - -# pp = primary_price - -# @property -# def primary(self): -# """returns the primary pair""" -# return self.pair if self.isprimary else self.pairr - -# @property -# def secondary(self): -# """returns the secondary pair""" -# return self.pairr if self.isprimary else self.pair - -# @classmethod -# def wrap(cls, pairlist): -# """wraps a list of strings into Pairs""" -# return tuple(cls(p) for p in pairlist) - -# @classmethod -# def unwrap(cls, pairlist): -# """unwraps a list of Pairs into strings""" -# return tuple(str(p) for p in pairlist) - - @dataclass_ class ConstantProductCurve: """ @@ -530,7 +373,7 @@ class ConstantProductCurve: x_act: float = None y_act: float = None pair: str = None - cid: any = None + cid: str = None fee: float = None descr: str = None constr: str = field(default=None, repr=True, compare=False, hash=False) @@ -540,6 +383,8 @@ def __post_init__(self): if self.constr is None: super().__setattr__("constr", "default") + + super().__setattr__("cid", str(self.cid)) if self.params is None: super().__setattr__("params", AttrDict()) @@ -590,6 +435,11 @@ def P(self, pstr, defaultval=None): return defaultval return val + @property + def cid0(self): + "short cid [last 8 characters]" + return self.cid[-8:] + TOKENSCALE = ts.TokenScale1Data # default token scale object is the trivial scale (everything one) # change this to a different scale object be creating a derived class @@ -1143,14 +993,19 @@ def pairp(self): """prettified pair""" return f"{self.tknbp}/{self.tknqp}" - @property def description(self): "description of the pool" - s1 = f"tknx = {self.x_act} [virtual: {self.x}] {self.tknx}" - s2 = f"tkny = {self.y_act} [virtual: {self.y}] {self.tkny}" - s3 = f"p = {self.p} [min={self.p_min}, max={self.p_max}] {self.tknq} per {self.tknb}" - s4 = f"fee = {self.fee}, cid = {self.cid}, descr = {self.descr}" - return "\n".join([s1, s2, s3, s4]) + s = "" + s += f"cid = {self.cid0} [{self.cid}]\n" + s += f"primary = {Pair.n(self.pairo.primary)} [{self.pairo.primary}]\n" + s += f"pp = {self.pp:,.6f} {self.pairo.pp_convention}\n" + s += f"pair = {Pair.n(self.pair)} [{self.pair}]\n" + s += f"tknx = {self.x_act:20,.6f} {self.tknx:10} [virtual: {self.x:20,.3f}]\n" + s += f"tkny = {self.y_act:20,.6f} {self.tkny:10} [virtual: {self.y:20,.3f}]\n" + s += f"p = {self.p} [min={self.p_min}, max={self.p_max}] {self.tknq} per {self.tknb}\n" + s += f"fee = {self.fee}\n" + s += f"descr = {self.descr}\n" + return s @property def y(self): @@ -1182,6 +1037,14 @@ def buysell(self, *, verbose=False, withprice=False): else: return result + def buy(self): + """returns 'b' if the curve buys the primary token, '' otherwise""" + return self.buysell(verbose=False, withprice=False).replace("s", "") + + def sell(self): + """returns 's' if the curve sells the primary token, '' otherwise""" + return self.buysell(verbose=False, withprice=False).replace("b", "") + ITM_THRESHOLDPC = 0.01 @classmethod def itm0(cls, bsp1, bsp2, *, thresholdpc=None): @@ -1260,9 +1123,14 @@ def p_convention(self): @property def primary(self): - "alias for self.pairo.primary [pair]" + "alias for self.pairo.primary" return self.pairo.primary + @property + def isprimary(self): + "alias for self.pairo.isprimary" + return self.pairo.isprimary + def primaryp(self, *, withconvention=False): "pool price in the native quote of the curve Pair object" price = self.pairo.pp(self.p) @@ -1336,7 +1204,13 @@ def p_max(self): return self.y_max / self.x_min else: return None - + + def p_max_primary(self, swap=True): + "p_max in the native quote of the curve Pair object (swap=True: p_min)" + p = self.p_max if not (swap and not self.isprimary) else self.p_min + if p is None: return None + return p if self.isprimary else 1/p + @property def p_min(self): "minimum pool price (in dy/dx; None if unlimited) = y_min/x_max" @@ -1344,7 +1218,13 @@ def p_min(self): return self.y_min / self.x_max else: return None - + + def p_min_primary(self, swap=True): + "p_min in the native quote of the curve Pair object (swap=True: p_max)" + p = self.p_min if not (swap and not self.isprimary) else self.p_max + if p is None: return None + return p if self.isprimary else 1/p + def format(self, *, heading=False, formatid=None): """returns info about the curve as a formatted string""" if formatid is None: @@ -1629,6 +1509,45 @@ def price(self, tknb, tknq): return None pp = sum(c.pp for c in curves) / len(curves) return pp if pairo.isprimary else 1 / pp + + PR_TUPLE = "tuple" + PR_DICT = "dict" + PR_DF = "df" + def prices(self, result=None, *, inclpair=None, primary=None): + """ + returns tuple or dictionary of the prices of all curves in the container + + :primary: if True (default), returns the price quoted in the convention of the primary pair + :inclpair: if True, includes the pair in the dictionary + :result: what result to return (PR_TUPLE, PR_DICT, PR_DF) + """ + if primary is None: primary = True + if inclpair is None: inclpair = True + if result is None: result = self.PR_DICT + price_g = (( + c.cid, + c.primaryp() if primary else c.p, + c.pairo.primary if primary else c.pair + ) for c in self.curves + ) + + if result == self.PR_TUPLE: + if inclpair: + return tuple(price_g) + else: + return tuple(r[1] for r in price_g) + + if result == self.PR_DICT: + if inclpair: + return {r[0]: (r[1], r[2]) for r in price_g} + else: + return {r[0]: r[1] for r in price_g} + + if result == self.PR_DF: + df = pd.DataFrame.from_records(price_g, columns=["cid", "price", "pair"]) + df = df.set_index("cid") + return df + raise ValueError(f"unknown result type {result}") def __iadd__(self, other): """alias for self.add""" @@ -1680,6 +1599,19 @@ def tokens_s(self, curves=None): """returns set of all tokens used by the curves as a string""" return ",".join(sorted(self.tokens(curves))) + def token_count(self, asdict=False): + """ + counts the number of times each token appears in the curves + """ + tokens_l = (c.pair for c in self) + tokens_l = (t.split("/") for t in tokens_l) + tokens_l = (t for t in it.chain.from_iterable(tokens_l)) + tokens_l = list(cl.Counter([t for t in tokens_l]).items()) + tokens_l = sorted(tokens_l, key=lambda x: x[1], reverse=True) + if not asdict: + return tokens_l + return dict(tokens_l) + def pairs(self, *, standardize=True): """ returns set of all pairs used by the curves @@ -2053,30 +1985,40 @@ def curveix(self, curve): def bycid(self, cid): """returns curve by cid""" return self.curves_by_cid.get(cid, None) - - def bycids(self, include=None, *, exclude=None, asgenerator=None, ascc=None): + + def bycids(self, include=None, *, endswith=None, exclude=None, asgenerator=None, ascc=None): """ returns curves by cids (as tuple, generator or CC object) :include: list of cids to include, if None all cids are included + :endswith: alternative to include, include all cids that end with this string :exclude: list of cids to exclude, if None no cids are excluded exclude beats include :returns: tuple, generator or container object (default) """ + if not include is None and not endswith is None: + raise ValueError(f"include and endswith cannot be used together") if exclude is None: exclude = set() - if include is None: + if include is None and endswith is None: result = (c for c in self if not c.cid in exclude) else: - result = (self.curves_by_cid[cid] for cid in include if not cid in exclude) + if not include is None: + result = (self.curves_by_cid[cid] for cid in include if not cid in exclude) + else: + result = (c for c in self if c.cid.endswith(endswith) and not c.cid in exclude) return self._convert(result, asgenerator=asgenerator, ascc=ascc) + def bycid0(self, cid0, **kwargs): + """alias for bycids(endswith=cid0)""" + return self.bycids(endswith=cid0, **kwargs) + def bypair(self, pair, *, directed=False, asgenerator=None, ascc=None): """returns all curves by (possibly directed) pair (as tuple, genator or CC object)""" result = (c for c in self if c.pair == pair) if not directed: pairr = "/".join(pair.split("/")[::-1]) - result = itertools.chain(result, (c for c in self if c.pair == pairr)) + result = it.chain(result, (c for c in self if c.pair == pairr)) return self._convert(result, asgenerator=asgenerator, ascc=ascc) def bp(self, pair, *, directed=False, asgenerator=None, ascc=None): @@ -2105,10 +2047,11 @@ def bypairs(self, pairs=None, *, directed=False, asgenerator=None, ascc=None): result = (c for c in self if c.pair in pairs) return self._convert(result, asgenerator=asgenerator, ascc=ascc) - def byparams(self, *, _asgenerator=None, _ascc=None, **params): + def byparams(self, *, _asgenerator=None, _ascc=None, _inv=False, **params): """ returns all curves by params (as tuple, generator or CC object) + :_inv: if True, returns all curves that do NOT match the params :params: keyword arguments in the form param=value :returns: tuple, generator or container object (default) """ @@ -2120,7 +2063,10 @@ def byparams(self, *, _asgenerator=None, _ascc=None, **params): raise NotImplementedError(f"currently only one param allowed {params}") pname, pvalue = params_t[0] - result = (c for c in self if c.P(pname) == pvalue) + if _inv: + result = (c for c in self if c.P(pname) != pvalue) + else: + result = (c for c in self if c.P(pname) == pvalue) return self._convert(result, asgenerator=_asgenerator, ascc=_ascc) def copy(self): @@ -2238,7 +2184,7 @@ def price_estimate( ) crvs = ((c, c.p, c.k) for c in crvs) rcrvs = ((c, 1 / c.p, c.k) for c in rcrvs) - acurves = itertools.chain(crvs, rcrvs) + acurves = it.chain(crvs, rcrvs) if result == self.PE_CURVES: # return dict(curves=tuple(crvs), rcurves=tuple(rcrvs)) return tuple(acurves) @@ -2253,7 +2199,7 @@ def price_estimate( return prices, weights return float(np.average(prices, weights=weights)) - TRIANGTOKENS = f"{T.USDC}, {T.USDT}, {T.DAI}, {T.WBTC}, {T.ETH}" + TRIANGTOKENS = f"{T.USDT}, {T.USDC}, {T.DAI}, {T.BNT}, {T.ETH}, {T.WBTC}" def price_estimates( self, @@ -2263,6 +2209,7 @@ def price_estimates( triangulate=True, unwrapsingle=True, pairs=False, + stopatfirst=True, raiseonerror=True, verbose=False, ): @@ -2276,9 +2223,16 @@ def price_estimates( :unwrapsingle: if there is only one quote token, a 1-d array is returned :pairs: if True, returns the slashpairs instead of the prices :raiseonerror: if True, raise exception if no price can be calculated + :stopatfirst: it True, stop at first triangulation match :verbose: if True, print some progress :return: np.array of prices (quote outer, base inner; quote per base) """ + # NOTE: this code is relatively slow to compute, on the order of a few seconds + # for go through the entire token list; the likely reason is that it keeps reestablishing + # the CPCContainer objects whenever price_estimate is called; there may be a way to + # speed this up by smartly computing the container objects once and storing them + # in a dictionary the is then passed to price_estimate. + start_time = time.time() assert not tknqs is None, "tknqs must be set" assert not tknbs is None, "tknbs must be set" if isinstance(tknqs, str): @@ -2287,21 +2241,17 @@ def price_estimates( tknbs = [t.strip() for t in tknbs.split(",")] # print(f"[price_estimates] tknqs [{len(tknqs)}], tknbs [{len(tknbs)}]") # print(f"[price_estimates] tknqs [{len(tknqs)}] = {tknqs} , tknbs [{len(tknbs)}]] = {tknbs} ") + resulttp = self.PE_PAIR if pairs else None result = np.array( [ [ - self.price_estimate( - tknb=b, - tknq=q, - raiseonerror=False, - result=self.PE_PAIR if pairs else None, - ) + self.price_estimate(tknb=b, tknq=q, raiseonerror=False, result=resulttp) for b in tknbs - ] + ] for q in tknqs ] ) - + #print(f"[price_estimates] PAIRS [{time.time()-start_time:.2f}s]") flattened = result.flatten() nmissing = len([r for r in flattened if r is None]) if verbose: @@ -2319,20 +2269,29 @@ def price_estimates( if verbose: print("[price_estimates] triangulation tokens", triangulate) for ib, b in enumerate(tknbs): + #print(f"TOKENB={b:22} [{time.time()-start_time:.4f}s]") for iq, q in enumerate(tknqs): + #print(f" TOKENQ={q:21} [{time.time()-start_time:.4f}s]") if result[iq][ib] is None: result1 = [] for tkn in triangulate: + #print(f" TKN={tkn:23} [{time.time()-start_time:.4f}s]") #print(f"[price_estimates] triangulating tknb={b} tknq={q} via {tkn}") b_tkn = self.price_estimate(tknb=b, tknq=tkn, raiseonerror=False) q_tkn = self.price_estimate(tknb=q, tknq=tkn, raiseonerror=False) #print(f"[price_estimates] triangulating {b}/{tkn} = {b_tkn}, {q}/{tkn} = {q_tkn}") if not b_tkn is None and not q_tkn is None: - #print(f"[price_estimates] triangulating {b}/{q} = {b_tkn/q_tkn}") + if verbose: + print(f"[price_estimates] triangulated {b}/{q} via {tkn} [={b_tkn/q_tkn}]") result1 += [b_tkn / q_tkn] - result1 = np.mean(result1) if len(result1) > 0 else None - #print(f"[price_estimates] final result {b}/{q} = {result1}") - result[iq][ib] = result1 + if stopatfirst: + #print(f"[price_estimates] stop at first") + break + # else: + # print(f"[price_estimates] continue {stopatfirst}") + result2 = np.mean(result1) if len(result1) > 0 else None + #print(f"[price_estimates] final result {b}/{q} = {result2} [{len(result1)}]") + result[iq][ib] = result2 flattened = result.flatten() nmissing = len([r for r in flattened if r is None]) @@ -2363,6 +2322,7 @@ def price_estimates( len(missing), ) + #print(f"[price_estimates] DONE [{time.time()-start_time:.2f}s]") if unwrapsingle and len(tknqs) == 1: result = result[0] return result diff --git a/fastlane_bot/tools/cryptocompare.py b/fastlane_bot/tools/cryptocompare.py new file mode 100644 index 000000000..59740910d --- /dev/null +++ b/fastlane_bot/tools/cryptocompare.py @@ -0,0 +1,581 @@ +""" +Carbon helper module - retrieve data from CryptoCompare +""" +__VERSION__ = "2.1" +__DATE__ = "16/May/2023" + +import os as _os +import pandas as _pd +import hashlib as _hashlib +import requests as _requests +import pickle as _pickle +from collections import namedtuple as _namedtuple + + +pair_t = _namedtuple("pair", "tknb,tknq") + +class CryptoCompare(): + """ + simple class formalizing interaction with the crypto compare API + + :apikeyname: the OS environment variable holding the API key + only used if no `apikey`; default is class.APIKEYNAME + :apikey: the API key; if True use without API key + :datapath: the path where all data is written (and read from) + :raiseonerror: if True, errors usually lead to an exception, otherwise to a None return + """ + __VERSION__ = __VERSION__ + __DATE__ = __DATE__ + + BASEURL = "https://min-api.cryptocompare.com" # must NOT end with / + APIKEYNAME = "CCAPIKEY" # the name of the environment variable containing the API key + RAISEONERROR = True + DATAPATH = "cryptocompare" + + DEFAULT_TSYM = "usd" + DEFAULT_LIMIT = 2000 + + def __init__(self, *, apikeyname=None, apikey=None, raiseonerror=None, verbose=False): + if raiseonerror is None: + raiseonerror = self.RAISEONERROR + self.raiseonerror = raiseonerror + if not (isinstance(apikey, str) or apikey is None or apikey is True): + raise ValueError("apikey must be a string, None, or True", apikey) + if apikey is None: + if apikeyname is None: + apikeyname = self.APIKEYNAME + apikey = _os.getenv(apikeyname) + if apikey is None: + print(f"Can't find API key {apikeyname} in environment variables.") + print(f"Use `export {apikeyname}=` to set it BEFORE you launch Jupyter") + raise RuntimeError(f"API key not present. Use `export {apikeyname}=` to set it before launching Jupyter.") + self.apikey = apikey + self.verbose = verbose + + def url(self, endpoint): + """ + returns the URL of a given endpoint + """ + return f"{self.BASEURL}{endpoint}" + + @property + def keydigest(self): + """returns signature (=SHA1 hash) of the API key, or 0000... if anonymous""" + if self.apikey is True: + return "0"*40 + return _hashlib.sha1(self.apikey.encode()).hexdigest() + + def datafn(self, fn): + """returns the full data file name, including path""" + return _os.path.join(self.DATAPATH, fn) + + def cache(self, item): + """ + reads a data item from the data cache + """ + try: + with open(self.datafn(f"{item}.pickle"), "rb") as f: + result = _pickle.load(f) + except: + if not self.raiseonerror: + return None + raise + return result + + def write_cache(self, item, data): + """ + writes `data` to the cache under the name `item` + + :returns: `item` on success, None (or raises) on failure + """ + try: + with open(self.datafn(f"{item}.pickle"), "wb") as f: + _pickle.dump(data, f) + except: + if not self.raiseonerror: + return None + raise + return item + + QUERY_GET = "GET" + QUERY_POST = "POST" + def query(self, endpoint, params=None, method=None): + """ + generic API query + + :endpoint: the API endpoint to call, eg "/all/exchanges" + :params: the API parameters (parameters with value None will be removed) + :method: http method; default is QUERY_GET + """ + if method is None: + method = self.QUERY_GET + if params is None: + params = dict() + url = self.url(endpoint) + paramsq = {k:v for k,v in params.items() if not v is None} + if self.verbose: + print("[query]", url, paramsq, f"[{str(self.keydigest)[:4]}]") + if not self.apikey is True: + paramsq["api_key"] = self.apikey + + if method == self.QUERY_GET: + r = _requests.get(url, params=paramsq) + elif method == self.QUERY_POST: + raise ValueError("Method QUERY_POST has not been implemented yet.") + else: + raise ValueError("Unknown method. Use QUERY_XXX constants", method) + + if not r: + if self.raiseonerror: + raise RuntimeError(f"API query not successful (status={r.status})", r) + else: + return None + return r + + def query_allexchanges(self): + """ + endpoint = /data/v4/all/exchanges + + https://min-api.cryptocompare.com/documentation?key=Other&cat=allExchangesV4Endpoint + """ + r = self.query( + endpoint="/data/v4/all/exchanges" + ) + if r is None: return r + return r.json().get("Data") + + + def _cache_xxx(self, item, updatemethod, readonfail=True, updateonfail=False): + """ + generic cached access + + :item: the name of the item in the cache + :updatemethod: the method to call for updating it + :readonfail: if True, on cache miss updatemethod is called + :updateonfail: it True, on cache miss, updatemethod is called an item is + written to cache + """ + if updateonfail: + readonfail = True + try: + return self.cache(item) + except: + print(f"[_cache_xxx] cache miss for item {item}") + if readonfail: + print(f"[_cache_xxx] reading {item} from API") + data = updatemethod() + if updateonfail: + print(f"[_cache_xxx] updating cache for {item} from API") + self.write_cache(item, data) + return data + else: + if self.raiseonerror: + raise + else: + return None + + def cache_allexchanges(self, readonfail=True, updateonfail=False): + """cached access to query_allexchanges""" + return self._cache_xxx( + item="query_allexchanges", + updatemethod=self.query_allexchanges + ) + + def query_ratelimit(self): + """ + endpoint = /stats/rate/limit + + https://min-api.cryptocompare.com/documentation?key=Other&cat=rateLimitEndpoint + """ + r = self.query( + endpoint="/stats/rate/limit" + ) + if r is None: return r + return r.json().get("Data") + + def query_coinlist(self): + """ + endpoint = /data/all/coinlist + + https://min-api.cryptocompare.com/documentation?key=Other&cat=allCoinsWithContentEndpoint + """ + r = self.query( + endpoint="/data/all/coinlist" + ) + if r is None: return r + return r.json().get("Data") + + def cache_coinlist(self, readonfail=True, updateonfail=False): + """cached access to query_coinlist""" + return self._cache_xxx( + item="query_coinlist", + updatemethod=self.query_coinlist + ) + + def query_indexlist(self): + """ + endpoint = /data/index/list + + https://min-api.cryptocompare.com/documentation?key=Index&cat=listOfIndices + """ + r = self.query( + endpoint="/data/index/list" + ) + if r is None: return r + return r.json().get("Data") + + def cache_indexlist(self, readonfail=True, updateonfail=False): + """cached access to query_indexlist""" + return self._cache_xxx( + item="query_indexlist", + updatemethod=self.query_indexlist + ) + + @staticmethod + def ts_tocc(ts): + """ + convert timestamp into format needed by CryptoCompare + + :ts: the timestamp in any format that works for pd.Timestamp(ts) + """ + return int(_pd.Timestamp(ts).timestamp()) + + @staticmethod + def ts_fromcc(ts): + """ + convert timestamp from CryptoCompare format into pd.Timestamp format + """ + return _pd.to_datetime(ts, unit='s', origin='unix') + + FREQ_DAILY = "day" + FD = FREQ_DAILY + FREQ_HOURLY = "hour" + FH = FREQ_HOURLY + FREQ_MINUTELY = "minute" + FM = FREQ_MINUTELY + FREQS = (FREQ_DAILY, FREQ_HOURLY, FREQ_MINUTELY) + def query_freqlypair(self, freq, fsym=None, tsym=None, e=None, limit=False, toTs=None, aspandas=True): + """ + endpoints = /data/v2/histoday, /data/v2/histohour, /data/v2/histominute + + :freq: FREQ_DAILY/FD, FREQ_HOURLY/FH, or FREQ_MINUTELY/FM + :fsym: cryptocurrency symbol of interest + :tsym: currency symbol to convert into + :e: exchange to obtain data from + :limit: number of data points to return (max: 2000; False defaults to that number) + :toTs: returns historical data BEFORE that timestamp + timestamp format either 1452680400 or pd.Timestamp compatible string + + https://min-api.cryptocompare.com/documentation?key=Historical&cat=dataHistoday + https://min-api.cryptocompare.com/documentation?key=Historical&cat=dataHistohour + https://min-api.cryptocompare.com/documentation?key=Historical&cat=dataHistominute + """ + if not freq in self.FREQS: + raise ValueError("Unknow frequency {}. Use the FREQ_XXX constants provided.") + endpoint = f"/data/v2/histo{freq}" + params = { + "fsym": fsym, + "tsym": tsym if not tsym is None else self.DEFAULT_TSYM, + "e": e, + "limit": limit if not limit is False else self.DEFAULT_LIMIT, + "toTs": toTs, + } + r = self.query(endpoint=endpoint, params=params) + if r is None: return r + r_json = r.json() + if r_json.get("Response") == "Error": + if self.raiseonerror: + raise RuntimeError("Query not successful", r, r_json, endpoint, params) + else: + return None + if not aspandas: + return r_json().get("Data") + try: + # print("[query_freqlypair]", endpoint, params, r) + # print("[query_freqlypair] r", r_json()) + + df = _pd.DataFrame.from_records(r_json["Data"]["Data"]) + df["datetime"] = [self.ts_fromcc(ts) for ts in df["time"]] + df = df.set_index("datetime") + del df["conversionType"] + del df["conversionSymbol"] + del df["time"] + df = df[['open', 'close', 'high', 'low', 'volumefrom', 'volumeto']] + return df + except RuntimeError as e: + if self.raiseonerror: + raise RuntimeError("Error {e}", endpoint, params, r) + return None + + def query_dailypair(self, *args, **kwargs): + """alias for query_freqlypair(FREQ_DAILY, ...)""" + return self.query_freqlypair(self.FREQ_DAILY, *args, **kwargs) + + def query_hourlypair(self, *args, **kwargs): + """alias for query_freqlypair(FREQ_HOURLY, ...)""" + return self.query_freqlypair(self.FREQ_HOURLY, *args, **kwargs) + + def query_minutelypair(self, *args, **kwargs): + """alias for query_freqlypair(FREQ_MINUTELY, ...)""" + return self.query_freqlypair(self.FREQ_MINUTELY, *args, **kwargs) + + def query_tokens(self, fsyms, tsym=None, aspandas=False): + """ + endpoint = /data/pricemulti?fsyms=BTC,ETH&tsyms=USD,EUR + + :fsyms: list of cryptocurrency symbols of interest + :tsym: currency symbol to convert into + :aspandas: if True, returns result as pandas data frame + + https://min-api.cryptocompare.com/documentation?key=Price&cat=multipleSymbolsPriceEndpoint + """ + endpoint = f"/data/pricemulti" + params = { + "fsyms": fsyms, + "tsyms": tsym if not tsym is None else self.DEFAULT_TSYM, + } + r = self.query(endpoint=endpoint, params=params) + if r is None: return r + r_json = r.json() + if r_json.get("Response") == "Error": + if self.raiseonerror: + raise RuntimeError("Query not successful", r, r_json, endpoint, params) + else: + return None + df = _pd.DataFrame(r.json()).T + if aspandas: + return df + dct = dict(df[df.columns[0]]) + return dct + + + + def ccycodes(self, symonly=True, fn=None): + """ + returns information on currency codes + + :symonly: if True (default) only return list of ccy symbold + :fn: the filename of the currency code file + """ + if symonly: + return self.join( self.unjoin(self.CCYCODES) ) + if fn is None: + fn = _os.path.join(self.DATAPATH, "isoccy.csv") + df = _pd.read_csv(fn, index_col=False) + if symonly: + symbols = list(set(df["Symbol"])) + symbols.sort() + return tuple(symbols) + return df + + CCYCODES = """ + AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD, + BND,BOB,BOV,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHE,CHF,CHW,CLF,CLP,CNY, + COP,COU,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP, + GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD, + IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR, + LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MXV,MYR, + MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON, + RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLL,SOS,SRD,SSP,STN,SVC,SYP, + SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,USN,UYI,UYU,UYW, + UZS,VES,VND,VUV,WST,XAF,XAG,XAU,XCD,XDR,XOF,XPD,XPF,XPT,XSU,XUA,YER, + ZAR,ZMW,ZWL + """.strip() + + @staticmethod + def join(tpl, sep=None): + """join the tpl into comma separated strings""" + if sep is None: sep = ", " + return sep.join(str(s) for s in tpl) + + @staticmethod + def unjoin(jstr, filter=None, sep=None): + """ + unjoin the join string, stripping the result + + :jstr: a (typically comma) separated string + :filter: filter to be applied (default: str) + :sep: the separator (default: comma) + :returns: tuple + """ + if sep is None: sep = "," + result = jstr.split(sep) + if filter is None: + filter = str + result = ( filter(c.strip()) for c in result) + return tuple(result) + + def aggr_query(self, + pairs, + fields=None, + incl_raw=True, + incl_raw_aggr=True, + incl_grand_aggr=True, + freq=None, **kwargs): + """ + gets the data for pairs from the API and converts it into tables + + :pairs: the pairs to download, either comma separeted "ETH/USD, BTC/GBP, ..." + or as tuple of tuples (("ETH", "USD"), ...) + :fields: the fields for which to create aggredate data frames, either comma separated + or as tuple/list; use FREQ_CLOSE and other FIELD_XXX constants here + :incl_raw: whether to include the individual raw data frames + :incl_raw_aggr: whether to include the aggregate raw data frame + :incl_grand_aggr: whether to include a grand aggregate (with double col name) + :freq: the data frequency [FREQ_DAILY (default), FREQ_HOURLY, FREQ_MINUTELY] + :kwargs: passed through to `query_freqlypair` (eg `e`, `limit`, `toTs`) + :returns: dict with the results + + dict structure + + -gaggr + - [data] + -aggr + -open + - [data] + -close + - [data] + ... + -rawaggr + - [data] + -raw + - "ETH/USD" + - [data] + ... + """ + if fields is None: + fields = self.FIELD_DEFAULT + if isinstance(fields, str): + fields = self.unjoin(fields) + print("[aggr_query] fields", fields) + + if isinstance(pairs, str): + pairs = tuple( self.pt_from_pair(p) for p in self.unjoin(pairs) ) + print("[aggr_query] pairs", pairs) + + if freq is None: + freq = self.FREQ_DAILY + + result = { + "gaggr": None, + "aggr": None, + "rawaggr": None, + "raw": None, + } + + print("[aggr_query] Querying for raw table", len(pairs)) + raw_tables = { + (fsym, tsym): self.query_freqlypair(freq, fsym=fsym, tsym=tsym) + for fsym, tsym in pairs + } + df_raw = _pd.concat(raw_tables, axis=1) + result_raw = {self.pair_from_pt(p):v for p, v in raw_tables.items()} + if incl_raw: + result["raw"] = result_raw + if incl_raw_aggr: + result["rawaggr"] = _pd.concat(result_raw, axis=1) + + print("[aggr_query] Creating aggregate table") + result["aggr"] = { + field: self.reformat_raw_df(df_raw, field=field, dblcolnm=incl_grand_aggr) + for field in fields + } + if incl_grand_aggr: + result["gaggr"] = _pd.concat(result["aggr"].values(), axis=1) + return result + + @staticmethod + def pairs_fields_from_df(df): + """ + pairs and fields present in the dataframe + + :df: data frame with index = (base token, quote token, field) + :returns: dict pairs: tuple( (tknp1, tnkq1), ...), fields: (field1, ...) + """ + pairs = ((tknb, tknq) for tknb, tknq, field in df.columns) + pairs = tuple(set(pairs)) + fields = (field for tknb, tknq, field in df.columns) + fields = tuple(set(fields)) + return {"pairs": pairs, "fields": fields} + + FIELD_CLOSE = "close" + FIELD_OPEN = "open" + FIELD_HIGH = "high" + FIELD_LOW = "low" + FIELD_DEFAULT = FIELD_CLOSE + @classmethod + def reformat_raw_df(cls, df, field=None, dblcolnm=False): + """ + reformats a raw df + + :df: the raw df, as returned by a concatenation eg of daily_pair calls + :field: the name of the price field to use for the price + use FIELD_OPEN, FIELD_CLOSE etc; default: FIELD_DEFAULT + :dblcolnm: if True, the colname is (field, pair) instead of pair + :returns: the reformatted data frame + """ + if field is None: + field = cls.FIELD_DEFAULT + + if dblcolnm: + result = ( + df[(*pair, field)].rename((field, f"{pair[0]}/{pair[1]}"), inplace=True) + for pair in cls.pairs_fields_from_df(df)["pairs"] + ) + else: + result = ( + df[(*pair, field)].rename(f"{pair[0]}/{pair[1]}", inplace=True) + for pair in cls.pairs_fields_from_df(df)["pairs"] + ) + + return _pd.concat(list(result), axis=1) + + @staticmethod + def pt_from_pair(pair): + """ + creates a pair tuple (tknb, tknq) from a pair 'TKNB/TKNQ' + """ + return pair_t(*pair.split("/")) + + @staticmethod + def pair_from_pt(pair_t): + """ + creates a pair 'TKNB/TKNQ' from a pair tuple (tknb, tknq) + """ + return "/".join(pair_t) + + @classmethod + def coinlist(cls, coins, sep=",", aspt=False): + """ + creates a coin list from separated string (does not touch lists) + + :coins: either a string or a list/tuple + :sep: the separator of the string + :aspt: if True, result returned as pair tuple (using `pt_from_pair`) + :returns: original if not str; otherwise tuple of string or pr + """ + f = cls.pt_from_pair if aspt else lambda x: x + if isinstance(coins, str): + return tuple(f(c.strip()) for c in coins.split(sep)) + else: + return coins + + @classmethod + def create_pairs(cls, coins, quotecoins=None): + """ + create pair tuples from all possible combinations of coins and quotecoins + + :coins: a list of coins, either ("tkn1", "tkn2") or "tkn1, tkn2" + :quotecoins: a list of quote coins; if None set equal to coins + :returns: all combinations as tuples (c, qc) with c!=qc + """ + coins = cls.coinlist(coins) + if quotecoins is None: + quotecoins = coins + else: + quotecoins = cls.coinlist(quotecoins) + result = ( (c,q) for q in quotecoins for c in coins) + result = ( pair_t(c,q) for c,q in result if c != q) + return tuple (result) + + \ No newline at end of file diff --git a/fastlane_bot/tools/noneresult.py b/fastlane_bot/tools/noneresult.py new file mode 100644 index 000000000..b8f61c499 --- /dev/null +++ b/fastlane_bot/tools/noneresult.py @@ -0,0 +1,160 @@ +""" +a none object that behaves somewhat more gracefully than None + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT +""" +__VERSION__ = "1.0" +__DATE__ = "12/May/2023" + +def isNone(none): + """returns True if none is None or NoneResult()""" + return isinstance(none, NoneResult) or none is None + +class NoneResult(): + """ + a NoneResult is a dummy object that behave more gracefully than None + + + typically a NoneResult is an error result that can be passed down without + raising errors in situations where None would fail + + :message: typically provides the (error) message that caused the creation of this object + it can be accessed via the `__message` attribute + """ + __VERSION__ = __VERSION__ + __DATE__ = __DATE__ + def __init__(self, message=None): + self.__message = str(message) + #print('[NoneResult] message:', message, self._message) + + def __getattr__(self, attr): + return self + + def __getitem__(self, key): + return self + + # conversions and other unitary operations + def __str__(self): + return f"NoneResult('{self.__message}')" + + def __repr__(self) -> str: + return self.__str__() + + def __bool__(self): + return False + + def __hash__(self): + return hash(None) + + def __int__(self): + return 0 + + def __oct__(self): + return oct(0) + + def __hex__(self): + return hex(0) + + def __trunc__(self): + return self + + def __float__(self): + return 0.0 + + def __format__(self, fmt): + return str(self).__format__(fmt) + + def __floor__(self): + return self + + def __ceil__(self): + return self + + def __abs__(self): + return self + + def __pos__(self): + return self + + def __neg__(self): + return self + + def __round__(self, n): + return self + + # binary operations (all return self) + def __add__(self, other): + return self + + def __sub__(self, other): + return self + + def __mul__(self, other): + return self + + def __truediv__(self, other): + return self + + def __floordiv__(self, other): + return self + + def __divmod__(self, other): + return self + + def __pow__(self, other): + return self + + def __mod__(self, other): + return self + + def __sizeof__(self): + return 0 + + # reflected binary operations ditto + def __radd__(self, other): + return self + + def __rsub__(self, other): + return self + + def __rmul__(self, other): + return self + + def __rtruediv__(self, other): + return self + + def __rfloordiv__(self, other): + return self + + def __rdivmod__(self, other): + return self + + def __rpow__(self, other): + return self + + def __rmod__(self, other): + return self + + # comparison operators (all False, except with other NoneResult) + def __eq__(self, other): + if isinstance(other, NoneResult) or other is None: + return True + return False + + def __ne__(self, other): + return not self.__eq__(other) + + def __lt__(self, other): + return False + + def __le__(self, other): + return False + + def __gt__(self, other): + return False + + def __ge__(self, other): + return False + + \ No newline at end of file diff --git a/fastlane_bot/tools/optimizer.py b/fastlane_bot/tools/optimizer.py deleted file mode 100644 index 7448df0d8..000000000 --- a/fastlane_bot/tools/optimizer.py +++ /dev/null @@ -1,1836 +0,0 @@ -""" -object encapsulating various optimization methods, including convex optimization - -(c) Copyright Bprotocol foundation 2023. -Licensed under MIT - -NOTE: this class is not part of the API of the Carbon protocol, and you must expect breaking -changes even in minor version updates. Use at your own risk. - - -Convex and Marginal Price Optimization for Arbitrage and Routing -================================================================ - -This module implements a number of methods that allow for routing* and arbitrage amongst a set -of AMMs. Most methods allow, subject to convergence, for the optimization and routing within -an arbitrary multi-token context. The _subject to convergence_ part is important, as the in -particular the convex optimization methods with the solvers available to us to do not seem to -be able to handle leveraged liquidity well. - -This module is still subject to active research, and comments and suggestions are welcome. -The corresponding author is Stefan Loesch - - -*routing is not implemented yet, but it is a trivial extension of the arbitrage methods that -only needs to be connected and properly parameterized -""" -__VERSION__ = "3.6" -__DATE__ = "06/May/2023" - -from dataclasses import dataclass, field, fields, asdict, astuple, InitVar -import pandas as pd -import numpy as np - -try: - import cvxpy as cp -except: - # if cvxpy is not installed the convex optimization methods will not work; however, the - # the marginal price based methods will still work - cp = None -import time -import math -import numbers -import pickle -from .cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer -from sys import float_info - - -class _DCBase: - """base class for all data classes, adding some useful methods""" - - def asdict(self): - return asdict(self) - - def astuple(self): - return astuple(self) - - def fields(self): - return fields(self) - - # def pickle(self, filename, addts=True): - # """ - # pickles the object to a file - # """ - # if addts: - # filename = f"{filename}.{time.time()}.pickle" - # with open(filename, 'wb') as f: - # pickle.dump(self, f) - - # @classmethod - # def unpickle(cls, filename): - # """ - # unpickles the object from a file - # """ - # with open(filename, 'rb') as f: - # object = pickle.load(f) - # assert isinstance(object, cls), f"unpickled object is not of type {cls}" - # return object - - -@dataclass -class ScaledVariable(_DCBase): - """ - wraps a cvxpy variable to allow for scaling - """ - - variable: cp.Variable - scale: any = 1.0 - token: list = None - - def __post_init__(self): - try: - len_var = len(self.variable.value) - except TypeError as e: - print("[ScaledVariable] variable.value is None", self.variable) - return - - if not isinstance(self.scale, numbers.Number): - self.scale = np.array(self.scale) - if not len(self.scale) == len_var: - raise ValueError( - "scale and variable must have same length or scale must be a number", - self.scale, - self.variable.value, - ) - if not self.token is None: - if not len(self.token) == len_var: - raise ValueError( - "token and variable must have same length", - self.token, - self.variable.value, - ) - - @property - def value(self): - """ - converts value from USD to token units* - - Note: with scaling, the calculation is set up in a way that the values of the raw variables - dx, dy correspond approximately to USD numbers, so their relative scale is natural and only - determined by the problem, not by units. - - The scaling factor is the PRICE in USD PER TOKEN, therefore - - self.variable.value = USD value of the token - self.variable.value / self.scale = number of tokens - """ - try: - return np.array(self.variable.value) / self.scale - except Exception as e: - print("[value] exception", e, self.variable.value, self.scale) - return self.variable.value - - @property - def v(self): - """alias for variable""" - return self.variable - - -class OptimizerBase: - """ - base class for all optimizers - - :problem: the problem object (eg allowing to read `problem.status`) - :result: the return value of problem.solve - :time: the time it took to solve this problem (optional) - :optimizer: the optimizer object that created this result - """ - - __VERSION__ = __VERSION__ - __DATE__ = __DATE__ - - def pickle(self, basefilename, addts=True): - """ - pickles the object to a file - """ - if addts: - filename = f"{basefilename}.{int(time.time()*100)}.optimizer.pickle" - else: - filename = f"{basefilename}.optimizer.pickle" - with open(filename, "wb") as f: - pickle.dump(self, f) - - @classmethod - def unpickle(cls, basefilename): - """ - unpickles the object from a file - """ - with open(f"{basefilename}.optimizer.pickle", "rb") as f: - object = pickle.load(f) - assert isinstance(object, cls), f"unpickled object is not of type {cls}" - return object - - @dataclass - class OptimizerResult(_DCBase): - result: float - time: float - method: str = None - optimizer: InitVar - - def __post_init__(self, optimizer): - self._optimizer = optimizer - # print("[OptimizerResult] post_init", optimizer) - - @property - def optimizer(self): - return self._optimizer - - def __float__(self): - return float(self.result) - - @property - def status(self): - """problem status""" - raise NotImplementedError("must be implemented in derived class") - - @property - def is_error(self): - """True if problem status is not OPTIMAL""" - raise NotImplementedError("must be implemented in derived class") - - def detailed_error(self): - """detailed error analysis""" - raise NotImplementedError("must be implemented in derived class") - - @property - def error(self): - """problem error""" - if not self.is_error: - return None - return self.detailed_error() - - @dataclass - class SimpleResult(_DCBase): - result: float - method: str = None - errormsg: str = None - context_dct: dict = None - - def __float__(self): - if self.is_error: - raise ValueError("cannot convert error result to float") - return float(self.result) - - @property - def is_error(self): - return not self.errormsg is None - - @property - def context(self): - return self.context_dct if not self.context_dct is None else {} - - DERIVEPS = 1e-6 - - @classmethod - def deriv(cls, func, x): - """ - computes the derivative of `func` at point `x` - """ - h = cls.DERIVEPS - return (func(x + h) - func(x - h)) / (2 * h) - - @classmethod - def deriv2(cls, func, x): - """ - computes the second derivative of `func` at point `x` - """ - h = cls.DERIVEPS - return (func(x + h) - 2 * func(x) + func(x - h)) / (h * h) - - @classmethod - def findmin_gd(cls, func, x0, *, learning_rate=0.1, N=100): - """ - finds the minimum of `func` using gradient descent starting at `x0` - """ - x = x0 - for _ in range(N): - x -= learning_rate * cls.deriv(func, x) - return cls.SimpleResult(result=x, method="findmin_gd") - - @classmethod - def findmax_gd(cls, func, x0, *, learning_rate=0.1, N=100): - """ - finds the maximum of `func` using gradient descent, starting at `x0` - """ - x = x0 - for _ in range(N): - x += learning_rate * cls.deriv(func, x) - return cls.SimpleResult(result=x, method="findmax_gd") - - @classmethod - def findminmax_nr(cls, func, x0, *, N=20): - """ - finds the minimum or maximum of func using Newton Raphson, starting at x0 - """ - x = x0 - for _ in range(N): - # print("[NR]", x, func(x), cls.deriv(func, x), cls.deriv2(func, x)) - try: - x -= cls.deriv(func, x) / cls.deriv2(func, x) - except Exception as e: - return cls.SimpleResult( - result=None, - errormsg=f"Newton Raphson failed: {e} [x={x}, x0={x0}]", - method="findminmax_nr", - ) - return cls.SimpleResult(result=x, method="findminmax_nr") - - findmin = findminmax_nr - findmax = findminmax_nr - - GOALSEEKEPS = 1e-6 - - @classmethod - def goalseek(cls, func, a, b): - """ - finds the value of `x` where `func(x)` x is zero, using binary search between a,b - """ - if func(a) * func(b) > 0: - cls.SimpleResult( - result=None, - errormsg=f"function must have different signs at a,b [{a}, {b}, {func(a)} {func(b)}]", - method="findminmax_nr", - ) - raise ValueError("function must have different signs at a,b") - while (b - a) > cls.GOALSEEKEPS: - c = (a + b) / 2 - if func(c) == 0: - return c - elif func(a) * func(c) < 0: - b = c - else: - a = c - return cls.SimpleResult(result=(a + b) / 2, method="findminmax_nr") - - @staticmethod - def posx(vector): - """ - returns the positive elements of the vector, zeroes elsewhere - """ - if isinstance(vector, np.ndarray): - return np.maximum(0, vector) - return tuple(max(0, x) for x in vector) - - @staticmethod - def negx(vector): - """ - returns the negative elements of the vector, zeroes elsewhere - """ - if isinstance(vector, np.ndarray): - return np.minimum(0, vector) - return tuple(min(0, x) for x in vector) - - @staticmethod - def a(vector): - """helper: returns vector as np.array""" - return np.array(vector) - - @staticmethod - def t(vector): - """helper: returns vector as tuple""" - return tuple(vector) - - @staticmethod - def F(func, rg): - """helper: returns list of [func(x) for x in rg]""" - return [func(x) for x in rg] - - -FORMATTER = lambda x: "" if ((abs(x) < 1e-10) or math.isnan(x)) else f"{x:,.2f}" - -F = OptimizerBase.F - -TIF_OBJECTS = "objects" -TIF_DICTS = "dicts" -TIF_DFP = "dfp" -TIF_DFRAW = "dfraw" -TIF_DFAGGR = "dfaggr" -TIF_DF = "dfraw" - -class CPCArbOptimizer(OptimizerBase): - """ - main optimizer class for CPC arbitrage optimzisation - """ - - def __init__(self, curve_container): - if not isinstance(curve_container, CPCContainer): - curve_container = CPCContainer(curve_container) - self._curve_container = curve_container - - @property - def curve_container(self): - """the curve container (CPCContainer)""" - return self._curve_container - - CC = curve_container - - @property - def tokens(self): - return self.curve_container.tokens - - @dataclass - class ConvexOptimizerResult(OptimizerBase.OptimizerResult): - - problem: InitVar - - def __post_init__(self, optimizer=None, problem=None, *args, **kwargs): - super().__post_init__(*args, optimizer=optimizer, **kwargs) - # print("[ConvexOptimizerResult] post_init") - assert not problem is None, "problem must be set" - self._problem = problem - if self.method is None: - self.method = "convex" - - @property - def problem(self): - return self._problem - - @property - def status(self): - """problem status""" - return self.problem.status - - @property - def is_error(self): - """True if problem status is not OPTIMAL""" - return self.status != cp.OPTIMAL or isinstance(self.result, str) - - @property - def error(self): - """problem error""" - if not self.is_error: - return None - if isinstance(self.result, str): - return f"{self.result} [{self.status}]" - return f"{self.status}" - - @dataclass - class NofeesOptimizerResult(ConvexOptimizerResult): - """ - results of the nofees optimizer - """ - - token_table: dict = None - sfc: any = field(repr=False, default=None) # SelfFinancingConstraints - curves: CPCContainer = field(repr=False, default=None) - # curves_new: CPCContainer = field(repr=False, default=None) - # dx: cp.Variable = field(repr=False, default=None) - # dy: cp.Variable = field(repr=False, default=None) - dx: InitVar - dy: InitVar - - def __post_init__( - self, optimizer=None, problem=None, dx=None, dy=None, *args, **kwargs - ): - super().__post_init__(*args, optimizer=optimizer, problem=problem, **kwargs) - # print("[NofeesOptimizerResult] post_init") - assert not self.token_table is None, "token_table must be set" - assert not self.sfc is None, "sfc must be set" - assert not self.curves is None, "curves must be set" - # assert not self.curves_new is None, "curves_new must be set" - assert not dx is None, "dx must be set" - assert not dy is None, "dy must be set" - self._dx = dx - self._dy = dy - - @property - def dx(self): - return self._dx - - @property - def dy(self): - return self._dy - - @property - def curves_new(self): - """returns a list of Curve objects the trade instructions implemented""" - assert self.is_error is False, "cannot get this data from an error result" - return self.optimizer.adjust_curves(dxvals=self.dxvalues) - - def trade_instructions(self, ti_format=None): - """ - returns list of TradeInstruction objects - - :ti_format: format of the TradeInstruction objects, see TradeInstruction.to_format - :TIF_OBJECTS: a list of TradeInstruction objects (default) - :TIF_DICTS: a list of TradeInstruction dictionaries - :TIF_DFRAW: raw dataframe (holes are filled with NaN) - :TIF_DFP: returns a "pretty" dataframe (holes are spaces) - :TIF_DFAGRR: aggregated dataframe - :TIF_DF: alias for :TIF_DFRAW: - """ - result = ( - CPCArbOptimizer.TradeInstruction.new( - curve_or_cid=c, tkn1=c.tknx, amt1=dx, tkn2=c.tkny, amt2=dy - ) - for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) - if dx != 0 or dy != 0 - ) - return CPCArbOptimizer.TradeInstruction.to_format(result, ti_format) - - @property - def dxvalues(self): - """returns dx values""" - return self.dx.value - - @property - def dyvalues(self): - """returns dy values""" - return self.dy.value - - def dxdydf(self, *, asdict=False, pretty=True, inclk=False): - """returns dataframe with dx, dy per curve""" - if inclk: - dct = [ - { - "cid": c.cid, - "pair": c.pair, - "tknx": c.tknx, - "tkny": c.tkny, - "x": c.x, - "y": c.y, - "xa": c.x_act, - "ya": c.y_act, - "k": c.k, - "kpost": (c.x + dxv) * (c.y + dyv), - "kk": (c.x + dxv) * (c.y + dyv) / c.k, - c.tknx: dxv, - c.tkny: dyv, - } - for dxv, dyv, c in zip(self.dx.value, self.dy.value, self.curves) - ] - else: - dct = [ - { - "cid": c.cid, - "pair": c.pair, - "tknx": c.tknx, - "tkny": c.tkny, - "x": c.x, - "y": c.y, - "xa": c.x_act, - "ya": c.y_act, - "kk": (c.x + dxv) * (c.y + dyv) / c.k, - c.tknx: dxv, - c.tkny: dyv, - } - for dxv, dyv, c in zip(self.dx.value, self.dy.value, self.curves) - ] - if asdict: - return dct - df = pd.DataFrame.from_dict(dct).set_index("cid") - df0 = df.fillna(0) - dfa = df0[df0.columns[8:]].sum().to_frame(name="total").T - dff = pd.concat([df, dfa], axis=0) - if pretty: - try: - dff = dff.style.format({col: FORMATTER for col in dff.columns[3:]}) - except Exception as e: - print("[dxdydf] exception", e, dff.columns) - return dff - - @dataclass - class SelfFinancingConstraints(_DCBase): - """ - describes self financing constraints and determines optimization variable - - :data: a dict TKN -> amount, or AMMPays, AMMReceives - :amount: from the AMM perspective, total inflows (>0) or outflows (<0) - for all items not present in data the value is assumed zero - :AMMPays: the AMM payout should be maximized [from the trader (!) perspective] - :AMMReceives: the money paid into the AMM should be minimized [ditto] - :OptimizationVar: like AMMPays and AMMReceives, but if the direction of the payout is - not known at the beginning [not all methods allow this] - :OV: alias for OptimizationVar - :tokens: set of all tokens in the problem (if None, use data.keys()) - - """ - - AMMPays = "AMMPays" - AMMReceives = "AMMReceives" - OptimizationVar = "OptimizationVar" - OV = OptimizationVar - - data: dict - tokens: set = None - - def __post_init__(self): - optimizationvars = tuple( - k - for k, v in self.data.items() - if v in {self.AMMPays, self.AMMReceives, self.OptimizationVar} - ) - assert ( - len(optimizationvars) == 1 - ), f"there must be EXACTLY one AMMPays, AMMReceives, OptimizationVar {self.data}" - self._optimizationvar = optimizationvars[0] - if self.tokens is None: - self.tokens = set(self.data.keys()) - else: - if isinstance(self.tokens, str): - self.tokens = set(t.strip() for t in self.tokens.split(",")) - else: - self.tokens = set(self.tokens) - assert ( - set(self.data.keys()) - self.tokens == set() - ), f"constraint keys {set(self.data.keys())} > {self.tokens}" - - @property - def optimizationvar(self): - """optimization variable, ie the in that is set to AMMPays, AMMReceives or OptimizationVar""" - return self._optimizationvar - - @property - def tokens_s(self): - """tokens as a comma-separated string""" - return ", ".join(self.tokens_l) - - @property - def tokens_l(self): - """tokens as a list""" - return sorted(list(self.tokens)) - - def asdict(self, *, short=False): - """dict representation including zero-valued tokens (unless short)""" - if short: - return {**self.data} - return {k: self.get(k) for k in self.tokens} - - def items(self, *, short=False): - return self.asdict(short=short).items() - - @classmethod - def new(cls, tokens, **data): - """alternative constructor: data as kwargs""" - return cls(data=data, tokens=tokens) - - @classmethod - def arb(cls, targettkn): - """alternative constructor: arbitrage constraint, ie all other constraints are zero""" - return cls(data={targettkn: cls.OptimizationVar}) - - def get(self, item): - """gets the constraint, or 0 if not present""" - assert item in self.tokens, f"item {item} not in {self.tokens}" - return self.data.get(item, 0) - - def is_constraint(self, item): - """ - returns True iff item is a constraint (ie not an optimisation variable) - """ - return not self.is_optimizationvar(item) - - def is_optimizationvar(self, item): - """ - returns True iff item is the optimization variable - """ - assert item in self.tokens, f"item {item} not in {self.tokens}" - return item == self.optimizationvar - - def is_arbsfc(self): - """ - returns True iff the constraint is an arbitrage constraint - """ - if len(self.data) == 1: - return True - data1 = [v for v in self.data.values() if v != 0] - return len(data1) == 1 - - def __call__(self, item): - """alias for get""" - return self.get(item) - - def SFC(self, **data): - """alias for SelfFinancingConstraints.new""" - return self.SelfFinancingConstraints.new(self.curve_container.tokens(), **data) - - def SFCd(self, data_dct): - """alias for SelfFinancingConstraints.new, with data as a dict""" - return self.SelfFinancingConstraints.new( - self.curve_container.tokens(), **data_dct - ) - - def SFCa(self, targettkn): - """alias for SelfFinancingConstraints.arb""" - return self.SelfFinancingConstraints.arb(targettkn) - - arb = SFCa - - AMMPays = SelfFinancingConstraints.AMMPays - AMMReceives = SelfFinancingConstraints.AMMReceives - OptimizationVar = SelfFinancingConstraints.OptimizationVar - OV = SelfFinancingConstraints.OV - - SOLVER_ECOS = "ECOS" - SOLVER_SCS = "SCS" - SOLVER_OSQP = "OSQP" - SOLVER_CVXOPT = "CVXOPT" - SOLVER_CBC = "CBC" - SOLVERS = { - SOLVER_ECOS: cp.ECOS, - SOLVER_SCS: cp.SCS, - SOLVER_OSQP: cp.OSQP, - SOLVER_CVXOPT: cp.CVXOPT, - SOLVER_CBC: cp.CBC, - # those solvers will usually have to be installed separately - "ECOS_BB": cp.ECOS_BB, - "OSQP": cp.OSQP, - "GUROBI": cp.GUROBI, - "MOSEK": cp.MOSEK, - "GLPK": cp.GLPK, - "GLPK_MI": cp.GLPK_MI, - "CPLEX": cp.CPLEX, - "XPRESS": cp.XPRESS, - "SCIP": cp.SCIP, - } - - def nofees_optimizer(self, sfc, **params): - """ - convex optimization for determining the arbitrage opportunities - - :sfc: a SelfFinancingConstraints object (or str passed to SFC.arb) - :params: additional parameters to be passed to the solver - :verbose: if True, generate verbose output - :solver: the solver to be used (default: "CVXOPT"; see SOLVERS) - :nosolve: if True, do not solve the problem, but return the problem object - :nominconstr: if True, do NOT add the minimum constraints - :maxconstr: if True, DO add the (reundant) maximum constraints - :retcurves: if True, also return the curves object (default: False) - :s_xxx: pass the parameter `xxx` to the solver (eg s_verbose) - :s_verbose: if True, generate verbose output from the solver - - - note: CVXOPT is a pip install (pip install cvxopt); OSQP is not suitable for this problem, - ECOS and SCS do work sometimes but can go dramatically wrong - """ - - # This code runs the actual optimization. It has two major parts - - # 1. the **constraints**, and - # 2. the **objective function** to be optimized (min or max) - - # The objective function is to either maximize the number of tokens - # received from the AMM (which is a negative number, hence formally the - # condition is `cp.Minimize` or to minimize the number of tokens paid to - # the AMM which is a positive number. Therefore `cp.Minimize` is the - # correct choice in each case. - - # The constraints come in three types: - - # - **curve constraint**: the curve constraints correspond to the - # $x\cdot y=k$ invariant of the respective AMM; the constraint is - # formally `>=` but it has been shown eg by Angeris et al that the - # constraint will always be optimal on the boundary - - # - **range constraints**: the range constraints correspond to the - # tokens actually available on curve; for the full-curve AMM those - # constraints would formally be `dx >= -c.x` and the same for `y`, but - # those constraint are automatically fulfilled because of the - # asymptotic behaviour of the curves so could be omitted - - # - **self-financing constraints**: the self-financing constraints - # corresponds to the condition that all `dx` and `dy` corresponding to - # a specific token other than the token in the objective function must - # sum to the target amount provided in `inputs` (or zero if not - # provided) - - assert not cp is None, "cvxpy not installed [pip install cvxpy]]" - if isinstance(sfc, str): - sfc = self.SelfFinancingConstraints.arb(sfc) - - curves_t = self.curve_container.curves - c0 = curves_t[0] - tt = self.curve_container.tokentable() - prtkn = sfc.optimizationvar - - P = lambda x: params.get(x) - - start_time = time.time() - - # set up the optimization variables - if P("verbose"): - print(f"Setting up dx[0..{len(curves_t)-1}] and dy[0..{len(curves_t)-1}]") - dx = cp.Variable(len(curves_t), value=[0] * len(curves_t)) - dy = cp.Variable(len(curves_t), value=[0] * len(curves_t)) - - # the geometric mean of objects in a list - gmean = lambda lst: cp.geo_mean(cp.hstack(lst)) - - ## assemble the constraints... - constraints = [] - - # curve constraints - for i, c in enumerate(curves_t): - constraints += [ - gmean([c.x + dx[i] / c.scalex, c.y + dy[i] / c.scaley]) >= c.kbar - ] - if P("verbose"): - print( - f"CC {i} [{c.cid}]: {c.pair} x={c.x:.1f} {c.tknx } (s={c.scalex}), y={c.y:.1f} {c.tkny} (s={c.scaley}), k={c.k:2.1f}, p_dy/dx={c.p:2.1f}, p_dx/dy={1/c.p:2.1f}" - ) - - if P("verbose"): - print("number of constraints: ", len(constraints)) - - # range constraints (min) - for i, c in enumerate(curves_t): - - pass - - if not P("nominconstr"): - constraints += [ - dx[i] / c.scalex >= c.dx_min, - dy[i] / c.scaley >= c.dy_min, - ] - if P("verbose"): - print( - f"RC {i} [{c.cid}]: dx>{c.dx_min:.4f} {c.tknx} (s={c.scalex}), dy>{c.dy_min:.4f} {c.tkny} (s={c.scaley}) [{c.pair}]" - ) - - if P("maxconstr"): - if not c.dx_max is None: - constraints += [ - dx[i] / c.scalex <= c.dx_max, - ] - if not c.dy_max is None: - constraints += [ - dy[i] / c.scaley <= c.dy_max, - ] - if P("verbose"): - print( - f"RC {i} [{c.cid}]: dx<{c.dx_max} {c.tknx} (s={c.scalex}), dy<{c.dy_max} {c.tkny} (s={c.scaley}) [{c.pair}]" - ) - - if P("verbose"): - print("number of constraints: ", len(constraints)) - - # self-financing constraints - for tkn, tknvalue in sfc.items(): - if not isinstance(tknvalue, str): - constraints += [ - cp.sum([dy[i] for i in tt[tkn].y]) - + cp.sum([dx[i] for i in tt[tkn].x]) - == tknvalue * c0.scale(tkn) - # note: we can access the scale from any curve as it is a class method - ] - if P("verbose"): - print( - f"SFC [{tkn}={tknvalue}, s={c0.scale(tkn)}]: y={[i for i in tt[tkn].y]}, x={[i for i in tt[tkn].x]}" - ) - - if P("verbose"): - print("number of constraints: ", len(constraints)) - - # objective function (note: AMM out is negative, AMM in is positive) - if P("verbose"): - print( - f"O: y={[i for i in tt[prtkn].y]}, x={[i for i in tt[prtkn].x]}, {prtkn}" - ) - - objective = cp.Minimize( - cp.sum([dy[i] for i in tt[prtkn].y]) + cp.sum([dx[i] for i in tt[prtkn].x]) - ) - - # run the optimization - problem = cp.Problem(objective, constraints) - solver = self.SOLVERS.get(P("solver"), cp.CVXOPT) - if not P("nosolve"): - sp = {k[2:]: v for k, v in params.items() if k[:2] == "s_"} - print("Solver params:", sp) - if P("verbose"): - print(f"Solving the problem with {solver}...") - try: - problem_result = problem.solve(solver=solver, **sp) - # problem_result = problem.solve(solver=solver) - except cp.SolverError as e: - if P("verbose"): - print(f"Solver error: {e}") - problem_result = str(e) - if P("verbose"): - print( - f"Problem solved in {time.time()-start_time:.2f} seconds; result: {problem_result}" - ) - else: - problem_result = None - - dx_ = ScaledVariable( - dx, [c.scalex for c in curves_t], [c.tknx for c in curves_t] - ) - dy_ = ScaledVariable( - dy, [c.scaley for c in curves_t], [c.tkny for c in curves_t] - ) - - return self.NofeesOptimizerResult( - problem=problem, - sfc=sfc, - result=problem_result, - time=time.time() - start_time, - dx=dx_, - dy=dy_, - token_table=tt, - curves=self.curve_container, - # curves_new=self.adjust_curves(dxvals = dx_.value), - optimizer=self, - ) - - SO_DXDYVECFUNC = "dxdyvecfunc" - SO_DXDYSUMFUNC = "dxdysumfunc" - SO_DXDYVALXFUNC = "dxdyvalxfunc" - SO_DXDYVALYFUNC = "dxdyvalyfunc" - SO_PMAX = "pmax" - SO_GLOBALMAX = "globalmax" - SO_TARGETTKN = "targettkn" - - @dataclass - class SimpleOptimizerResult(OptimizerBase.OptimizerResult): - """ - results of the simple optimizer - - :curves: list of curves used in the optimization, possibly wrapped in CPCInverter objects* - :dxdyfromp_vec_f: vector of tuples (dx, dy), as a function of p - :dxdyfromp_sum_f: sum of the above, also as a function of p - :dxdyfromp_valx_f: valx = dy/p + dx, also as a function of p - :dxdyfromp_valy_f: valy = dy + p*dx/p, also as a function of p - :p_optimal: optimal p value - - *the CPCInverter object ensures that all curves in the list correspond to the same quote - conventions, according to the primary direction of the pair (as determined by the Pair - object). Accordingly, tknx and tkny are always the same for all curves in the list, regardless - of the quote direction of the pair. The CPCInverter object abstracts this away, but of course - only for functions that are accessible through it. - """ - - NONEFUNC = lambda x: None - - curves: list = field(repr=False, default=None) - dxdyfromp_vec_f: any = field(repr=False, default=NONEFUNC) - dxdyfromp_sum_f: any = field(repr=False, default=NONEFUNC) - dxdyfromp_valx_f: any = field(repr=False, default=NONEFUNC) - dxdyfromp_valy_f: any = field(repr=False, default=NONEFUNC) - p_optimal: float = field(repr=False, default=None) - errormsg: str = field(repr=True, default=None) - - def __post_init__(self, *args, **kwargs): - super().__post_init__(*args, **kwargs) - # print("[SimpleOptimizerResult] post_init") - assert ( - self.p_optimal is not None or self.errormsg is not None - ), "p_optimal must be set unless errormsg is set" - if self.method is None: - self.method = "simple" - - @property - def is_error(self): - return self.errormsg is not None - - def detailed_error(self): - return self.errormsg - - def status(self): - return "error" if self.is_error else "converged" - - def dxdyfromp_vecs_f(self, p): - """returns dx, dy as separate vectors instead as a vector of tuples""" - return tuple(zip(*self.dxdyfromp_vec_f(p))) - - @property - def tknx(self): - return self.curves[0].tknx - - @property - def tkny(self): - return self.curves[0].tkny - - @property - def tknxp(self): - return self.curves[0].tknxp - - @property - def tknyp(self): - return self.curves[0].tknyp - - @property - def pair(self): - return self.curves[0].pair - - @property - def pairp(self): - return self.curves[0].pairp - - @property - def dxdy_vecs(self): - return self.dxdyfromp_vecs_f(self.p_optimal) - - @property - def dxvalues(self): - return self.dxdy_vecs[0] - - dxv = dxvalues - - @property - def dyvalues(self): - return self.dxdy_vecs[1] - - dyv = dyvalues - - @property - def dxdy_vec(self): - return self.dxdyfromp_vec_f(self.p_optimal) - - @property - def dxdy_sum(self): - return self.dxdyfromp_sum_f(self.p_optimal) - - @property - def dxdy_valx(self): - return self.dxdyfromp_valx_f(self.p_optimal) - - valx = dxdy_valx - - @property - def dxdy_valy(self): - return self.dxdyfromp_valy_f(self.p_optimal) - - valy = dxdy_valy - - def trade_instructions(self, ti_format=None): - """returns list of TradeInstruction objects""" - result = ( - CPCArbOptimizer.TradeInstruction.new( - curve_or_cid=c, tkn1=self.tknx, amt1=dx, tkn2=self.tkny, amt2=dy - ) - for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) - if dx != 0 or dy != 0 - ) - return CPCArbOptimizer.TradeInstruction.to_format(result, ti_format) - - def simple_optimizer(self, targettkn=None, result=None, *, params=None): - """ - a simple optimizer that does not use cvxpy and the works only on curves on one pair - - :result: determines what to return - :SO_DXDYVECFUNC: function of p returning vector of dx,dy values - :SO_DXDYSUMFUNC: function of p returning sum of dx,dy values - :SO_DXDYVALXFUNC: function of p returning value of dx,dy sum in units of tknx - :SO_DXDYVALYFUNC: ditto tkny - :SO_PMAX: optimal p value for global max - :SO_GLOBALMAX: global max of sum dx*p + dy - :SO_TARGETTKN: optimizes for one token, the other is zero - :targettkn: token to optimize for (if result==SO_TARGETTKN); must be None if - result==SO_GLOBALMAX; result defaults to the corresponding value - depending on whether or not targettkn is None - :params: dict of parameters (not currently used) - """ - start_time = time.time() - curves_t = CPCInverter.wrap(self.curve_container) - assert len(curves_t) > 0, "no curves found" - c0 = curves_t[0] - pairs = set(c.pair for c in curves_t) - assert len(pairs) != 0, f"no pairs found, probably empty curves [{curves_t}]" - assert ( - len(pairs) == 1 - ), f"simple_optimizer only works on curves of one pair [{pairs}]" - assert not ( - targettkn is None and result == self.SO_TARGETTKN - ), "targettkn must be set if result==SO_TARGETTKN" - assert not ( - targettkn is not None and result == self.SO_GLOBALMAX - ), f"targettkn must be None if result==SO_GLOBALMAX {targettkn}" - - dxdy = lambda r: (np.array(r[0:2])) - - dxdyfromp_vec_f = lambda p: tuple(dxdy(c.dxdyfromp_f(p)) for c in curves_t) - if result == self.SO_DXDYVECFUNC: - return dxdyfromp_vec_f - - dxdyfromp_sum_f = lambda p: sum(dxdy(c.dxdyfromp_f(p)) for c in curves_t) - if result == self.SO_DXDYSUMFUNC: - return dxdyfromp_sum_f - - dxdyfromp_valy_f = lambda p: np.dot(dxdyfromp_sum_f(p), np.array([p, 1])) - if result == self.SO_DXDYVALYFUNC: - return dxdyfromp_valy_f - - dxdyfromp_valx_f = lambda p: dxdyfromp_valy_f(p) / p - if result == self.SO_DXDYVALXFUNC: - return dxdyfromp_valx_f - - if result is None: - if targettkn is None: - result = self.SO_GLOBALMAX - else: - result = self.SO_TARGETTKN - - if not result == self.SO_TARGETTKN: - p_avg = np.mean([c.p for c in curves_t]) - p_optimal = self.findmax(dxdyfromp_valx_f, p_avg) - opt_result = dxdyfromp_valx_f(float(p_optimal)) - if result == self.SO_PMAX: - return p_optimal - elif result != self.SO_GLOBALMAX: - raise ValueError(f"unknown result type {result}") - method = "simple-globalmax" - else: - p_min = np.min([c.p for c in curves_t]) - p_max = np.max([c.p for c in curves_t]) - assert targettkn in { - c0.tknx, - c0.tkny, - }, f"targettkn {targettkn} not in {c0.tknx}, {c0.tkny}" - # we are now running a goalseek == 0 on the token that is NOT the target token - if targettkn == c0.tknx: - func = lambda p: dxdyfromp_sum_f(p)[1] - p_optimal = self.goalseek(func, p_min * 0.99, p_max * 1.01) - opt_result = dxdyfromp_sum_f(float(p_optimal))[0] - else: - func = lambda p: dxdyfromp_sum_f(p)[0] - p_optimal = self.goalseek(func, p_min * 0.99, p_max * 1.01) - opt_result = dxdyfromp_sum_f(float(p_optimal))[1] - method = "simple-targettkn" - - if p_optimal.is_error: - return self.SimpleOptimizerResult( - result=None, - time=time.time() - start_time, - curves=curves_t, - dxdyfromp_vec_f=dxdyfromp_vec_f, - dxdyfromp_sum_f=dxdyfromp_sum_f, - dxdyfromp_valx_f=dxdyfromp_valx_f, - dxdyfromp_valy_f=dxdyfromp_valy_f, - p_optimal=None, - errormsg=p_optimal.errormsg, - method=method, - optimizer=self, - ) - return self.SimpleOptimizerResult( - result=opt_result, - time=time.time() - start_time, - curves=curves_t, - dxdyfromp_vec_f=dxdyfromp_vec_f, - dxdyfromp_sum_f=dxdyfromp_sum_f, - dxdyfromp_valx_f=dxdyfromp_valx_f, - dxdyfromp_valy_f=dxdyfromp_valy_f, - p_optimal=float(p_optimal), - method=method, - optimizer=self, - ) - - def price_estimates(self, *, tknq, tknbs): - """ - convenience function to access CPCContainer.price_estimate - - :tknq: can only be a single token - :tknbs: list of tokens - - see help(CPCContainer.price_estimate) for details - """ - return self.curve_container.price_estimates(tknqs=[tknq], tknbs=tknbs) - - JACEPS = 1e-5 - - @classmethod - def jacobian(cls, func, x, *, eps=None): - """ - computes the Jacobian of func at point x - - :func: a callable x=(x1..xn) -> (y1..ym), taking and returning np.arrays - :x: a vector x=(x1..xn) as np.array - """ - if eps is None: - eps = cls.JACEPS - n = len(x) - y = func(x) - jac = np.zeros((n, n)) - for j in range(n): # through columns to allow for vector addition - Dxj = abs(x[j]) * eps if x[j] != 0 else eps - x_plus = [(xi if k != j else xi + Dxj) for k, xi in enumerate(x)] - jac[:, j] = (func(x_plus) - y) / Dxj - return jac - - J = jacobian - - MO_DEBUG = "debug" - MO_PSTART = "pstart" - MO_P = MO_PSTART - MO_DTKNFROMPF = "dtknfrompf" - MO_MINIMAL = "minimal" - MO_FULL = "full" - - MOEPS = 1e-6 - MOMAXITER = 50 - - class OptimizationError(Exception): pass - class ConvergenceError(OptimizationError): pass - class ParameterError(OptimizationError): pass - - def margp_optimizer(self, sfc=None, result=None, *, params=None): - """ - optimal transactions across all curves in the optimizer, extracting targettkn* - - :sfc: the self financing constraint to use** - :result: the result type - :MO_DEBUG: a number of items useful for debugging - :MO_PSTART: price estimates (as dataframe) - :MO_PE: alias for MO_ESTPRICE - :MO_DTKNFROMPF: the function calculating dtokens from p - :MO_MINIMAL: minimal result (omitting some big fields) - :MO_FULL: full result - :None: alias for MO_FULL - :params: dict of parameters - :eps: precision parameter for accepting the result (default: 1e-6) - :maxiter: maximum number of iterations (default: 100) - :verbose: if True, print some high level output - :progress: if True, print some basic progress output - :debug: if True, print some debug output - :debug2: more debug output - :raiseonerror: if True, raise an OptimizationError exception on error - :pstart: starting price for optimization, either as dict {tkn:p, ...}, - or as df as price estimate as returned by MO_PSTART; - excess tokens can be provided but all required tokens must be present - - :returns: MargpOptimizerResult on the default path, others depending on the - chosen result - - *this optimizer uses the marginal price method, ie it solves the equation - - dx_i (p) = 0 for all i != targettkn, and the whole price vector - - **at the moment only the trivial self-financing constraint is allowed, ie the one that - only specifies the target token, and where all other constraints are zero; if sfc is - a string then this is interpreted as the target token - """ - # data conversion: string to SFC object; note that anything but pure arb not currently supported - if isinstance(sfc, str): - sfc = self.arb(targettkn=sfc) - assert sfc.is_arbsfc(), "only pure arbitrage SFC are supported at the moment" - targettkn = sfc.optimizationvar - - # lambdas - P = lambda item: params.get(item, None) if params is not None else None - get = lambda p, ix: p[ix] if ix is not None else 1 # safe get from tuple - dxdy_f = lambda r: (np.array(r[0:2])) # extract dx, dy from result - tn = lambda t: t.split("-")[0] # token name, eg WETH-xxxx -> WETH - - # initialisations - eps = P("eps") or self.MOEPS - maxiter = P("maxiter") or self.MOMAXITER - start_time = time.time() - curves_t = self.curve_container - alltokens_s = self.curve_container.tokens() - tokens_t = tuple(t for t in alltokens_s if t != targettkn) # all _other_ tokens... - tokens_ix = {t: i for i, t in enumerate(tokens_t)} # ...with index lookup - pairs = self.curve_container.pairs(standardize=False) - curves_by_pair = { - pair: tuple(c for c in curves_t if c.pair == pair) for pair in pairs } - pairs_t = tuple(tuple(p.split("/")) for p in pairs) - - try: - - # assertions - if len (curves_t) == 0: - raise self.ParameterError("no curves found") - if len (curves_t) == 1: - raise self.ParameterError(f"can't run arbitrage on single curve {curves_t}") - if not targettkn in alltokens_s: - raise self.ParameterError(f"targettkn {targettkn} not in {alltokens_s}") - - # calculating the start price for the iteration process - if not P("pstart") is None: - pstart = P("pstart") - if P("verbose") or P("debug"): - print(f"[margp_optimizer] using pstartd [{len(P('pstart'))} tokens]") - if isinstance(P("pstart"), pd.DataFrame): - try: - pstart = pstart.to_dict()[targettkn] - except Exception as e: - raise Exception( - f"error while converting dataframe pstart to dict: {e}", - pstart, - targettkn, - ) - assert isinstance( - pstart, dict - ), f"pstart must be a dict or a data frame [{pstart}]" - price_estimates_t = tuple(pstart[t] for t in tokens_t) - else: - if P("verbose") or P("debug"): - print("[margp_optimizer] calculating price estimates") - try: - price_estimates_t = self.price_estimates(tknq=targettkn, tknbs=tokens_t) - except Exception as e: - if P("verbose") or P("debug"): - print( - "[margp_optimizer] error while calculating price estimates:", e - ) - price_estimates_t = None - if P("debug"): - print("[margp_optimizer] pstart:", price_estimates_t) - if result == self.MO_PSTART: - df = pd.DataFrame(price_estimates_t, index=tokens_t, columns=[targettkn]) - df.index.name = "tknb" - return df - - ## INNER FUNCTION: CALCULATE THE TARGET FUNCTION - def dtknfromp_f(p, *, islog10=True, asdct=False): - """ - calculates the aggregate change in token amounts for a given price vector - - :p: price vector, where prices use the reference token as quote token - this vector is an np.array, and the token order is the same as in tokens_t - :islog10: if True, p is interpreted as log10(p) - :asdct: if True, the result is returned as dict AND tuple, otherwise as np.array - :returns: if asdct is False, a tuple of the same length as tokens_t detailing the - change in token amounts for each token except for the target token (ie the - quantity with target zero; if asdct is True, that same information is - returned as dict, including the target token. - """ - p = np.array(p, dtype=np.float64) - if islog10: - p = np.exp(p * np.log(10)) - assert len(p) == len( - tokens_t - ), f"p and tokens_t have different lengths [{p}, {tokens_t}]" - if P("debug"): - print(f"\n[dtknfromp_f] =====================>>>") - print(f"prices={p}") - print(f"tokens={tokens_t}") - - sum_by_tkn = {t: 0 for t in alltokens_s} - for pair, (tknb, tknq) in zip(pairs, pairs_t): - price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq)) - curves = curves_by_pair[pair] - c0 = curves[0] - dxdy = tuple(dxdy_f(c.dxdyfromp_f(price)) for c in curves) - if P("debug2"): - print(f"\n{c0.pairp} --->>") - print(f" price={price:,.4f}, 1/price={1/price:,.4f}") - for r, c in zip(dxdy, curves): - s = f" cid={c.cid:15}" - s += f" dx={float(r[0]):15,.3f} {c.tknxp:>5}" - s += f" dy={float(r[1]):15,.3f} {c.tknyp:>5}" - s += f" p={c.p:,.2f} 1/p={1/c.p:,.2f}" - print(s) - print(f"<<--- {c0.pairp}") - - sumdx, sumdy = sum(dxdy) - sum_by_tkn[tknq] += sumdy - sum_by_tkn[tknb] += sumdx - - if P("debug"): - print( - f"pair={c0.pairp}, {sumdy:,.4f} {tn(tknq)}, {sumdx:,.4f} {tn(tknb)}, price={price:,.4f} {tn(tknq)} per {tn(tknb)} [{len(curves)} funcs]" - ) - - result = tuple(sum_by_tkn[t] for t in tokens_t) - if P("debug"): - print(f"sum_by_tkn={sum_by_tkn}") - print(f"result={result}") - print(f"<<<===================== [dtknfromp_f]") - - if asdct: - return sum_by_tkn, np.array(result) - - return np.array(result) - ## END INNER FUNCTION - - # return the inner function if requested - if result == self.MO_DTKNFROMPF: - return dtknfromp_f - - # return debug info if requested - if result == self.MO_DEBUG: - return dict( - # price_estimates_all = price_estimates_all, - # price_estimates_d = price_estimates_d, - price_estimates_t=price_estimates_t, - tokens_t=tokens_t, - tokens_ix=tokens_ix, - pairs=pairs, - sfc=sfc, - targettkn=targettkn, - pairs_t=pairs_t, - dtknfromp_f=dtknfromp_f, - optimizer=self, - ) - - - # setting up the optimization variables (note: we optimize in log space) - if price_estimates_t is None: - raise Exception(f"price estimates not found; try setting pstart") - p = np.array(price_estimates_t, dtype=float) - plog10 = np.log10(p) - if P("verbose"): - # dtkn_d, dtkn = dtknfromp_f(plog10, islog10=True, asdct=True) - print("[margp_optimizer] pe ", p) - print("[margp_optimizer] p ", ", ".join(f"{x:,.2f}" for x in p)) - print("[margp_optimizer] 1/p ", ", ".join(f"{1/x:,.2f}" for x in p)) - # print("[margp_optimizer] dtkn", dtkn) - # if P("tknd"): - # print("[margp_optimizer] dtkn_d", dtkn_d) - - ## MAIN OPTIMIZATION LOOP - for i in range(maxiter): - - if P("progress"): - print( - f"Iteration [{i:2.0f}]: time elapsed: {time.time()-start_time:.2f}s" - ) - - # calculate the change in token amounts (also as dict if requested) - if P("tknd"): - dtkn_d, dtkn = dtknfromp_f(plog10, islog10=True, asdct=True) - else: - dtkn = dtknfromp_f(plog10, islog10=True, asdct=False) - - # calculate the Jacobian - if P("debug"): - print("\n[margp_optimizer] ============= JACOBIAN =============>>>") - J = self.J(dtknfromp_f, plog10) - # ATTENTION: dtknfromp_f takes log10(p) as input - if P("debug"): - print("==== J ====>") - print(J) - print("<=== J =====") - print("<<<============= JACOBIAN ============= [margp_optimizer]\n") - - # Update p, dtkn using the Newton-Raphson formula - try: - dplog10 = np.linalg.solve(J, -dtkn) - except np.linalg.LinAlgError: - if P("verbose") or P("debug"): - print("[margp_optimizer] singular Jacobian, using lstsq instead") - dplog10 = np.linalg.lstsq(J, -dtkn, rcond=None)[0] - # https://numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html - # https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html - - # update log prices, prices and determine the criterium... - p0log10 = [*plog10] - plog10 += dplog10 - p = np.exp(plog10 * np.log(10)) - criterium = np.linalg.norm(dplog10) - - # ...print out some info if requested... - if P("verbose"): - print(f"\n[margp_optimizer] ========== cycle {i} =======>>>") - print("log p0", p0log10) - print("log dp", dplog10) - print("log p ", plog10) - print("p ", tuple(p)) - print("p ", ", ".join(f"{x:,.2f}" for x in p)) - print("1/p ", ", ".join(f"{1/x:,.2f}" for x in p)) - print("tokens_t", tokens_t) - # print("dtkn", dtkn) - print("dtkn", ", ".join(f"{x:,.3f}" for x in dtkn)) - print( - f"[criterium={criterium:.2e}, eps={eps:.1e}, c/e={criterium/eps:,.0e}]" - ) - if P("tknd"): - print("dtkn_d", dtkn_d) - if P("J"): - print("J", J) - print(f"<<<========== cycle {i} ======= [margp_optimizer]") - - # ...and finally check the criterium (percentage changes this step) for convergence - if criterium < eps: - if i != 0: - # we don't break in the first iteration because we need this first iteration - # to establish a common baseline price, therefore d logp ~ 0 is not good - # in the first step - break - # else: - # # we break in the first loop, so we restore the initial price estimates - # # (if we do log10 / 10**p then we get results that are slightly off zero) - # p = np.array(price_estimates_t, dtype=float) - ## END MAIN OPTIMIZATION LOOP - - if i >= maxiter - 1: - raise self.ConvergenceError(f"maximum number of iterations reached [{i}]") - - NOMR = lambda f: f if not result == self.MO_MINIMAL else None - # this function screens out certain results when MO_MINIMAL [minimal output] is chosen - dtokens_d, dtokens_t = dtknfromp_f(p, asdct=True, islog10=False) - return self.MargpOptimizerResult( - optimizer=NOMR(self), - result=dtokens_d[targettkn], - time=time.time() - start_time, - targettkn=targettkn, - curves=NOMR(curves_t), - p_optimal=NOMR({tkn: p_ for tkn, p_ in zip(tokens_t, p)}), - p_optimal_t=tuple(p), - dtokens=NOMR(dtokens_d), - dtokens_t=tuple(dtokens_t), - tokens_t=tokens_t, - n_iterations=i, - ) - - except self.OptimizationError as e: - if P("debug") or P("verbose"): - print(f"[margp_optimizer] exception occured {e}") - - if P("raiseonerror"): - raise - - NOMR = lambda f: f - return self.MargpOptimizerResult( - optimizer=NOMR(self), - result=None, - time=time.time() - start_time, - targettkn=targettkn, - curves=NOMR(curves_t), - p_optimal=None, - p_optimal_t=None, - dtokens=None, - dtokens_t=None, - tokens_t=tokens_t, - n_iterations=i, - errormsg=e, - ) - - @dataclass - class TradeInstruction(_DCBase): - """ - encodes a trade - - seen from the AMM; in numbers must be positive, out numbers negative - """ - - cid: any - tknin: str - amtin: float - tknout: str - amtout: float - error: str = field(repr=True, default=None) - curve: InitVar = None - raiseonerror: InitVar = False - - POSNEGEPS = 1e-8 - - def __post_init__(self, curve=None, raiseonerror=False): - self.curve = curve - if curve is not None: - if self.cid != curve.cid: - err = f"curve/cid mismatch [{self.cid} vs {curve.cid}]" - self.error = err - if raiseonerror: - raise ValueError(err) - if self.tknin == self.tknout: - err = f"tknin and tknout must be different [{self.tknin} {self.tknout}]" - self.error = err - if raiseonerror: - raise ValueError(err) - self.cid = str(self.cid) - self.tknin = str(self.tknin) - self.tknout = str(self.tknout) - self.amtin = float(self.amtin) - self.amtout = float(self.amtout) - if not self.amtin * self.amtout < 0: - if ( - abs(self.amtin) < self.POSNEGEPS - and abs(self.amtout) < self.POSNEGEPS - ): - self.amtin = 0 - self.amtout = 0 - else: - err = f"amtin and amtout must be of different sign [{self.amtin} {self.tknin}, {self.amtout} {self.tknout}]" - self.error = err - if raiseonerror: - raise ValueError(err) - - if not self.amtin >= 0: - err = f"amtin must be positive [{self.amtin}]" # seen from AMM - self.error = err - if raiseonerror: - raise ValueError(err) - - if not self.amtout <= 0: - err = f"amtout must be negative [{self.amtout}]" # seen from AMM - self.error = err - if raiseonerror: - raise ValueError(err) - - TIEPS = 1e-10 - - @classmethod - def new(cls, curve_or_cid, tkn1, amt1, tkn2, amt2, *, eps=None, raiseonerror=False): - """automatically determines which is in and which is out""" - try: - cid = curve_or_cid.cid - curve = curve_or_cid - except: - cid = curve_or_cid - curve = None - if eps is None: - eps = cls.TIEPS - if amt1 > 0: - newobj = cls( - cid=cid, - tknin=tkn1, - amtin=amt1, - tknout=tkn2, - amtout=amt2, - curve=curve, - raiseonerror=raiseonerror, - ) - else: - newobj = cls( - cid=cid, - tknin=tkn2, - amtin=amt2, - tknout=tkn1, - amtout=amt1, - curve=curve, - raiseonerror=raiseonerror, - ) - - return newobj - - @property - def is_empty(self): - """returns True if this is an empty trade instruction (too close to zero)""" - return self.amtin == 0 or self.amtout == 0 - - @classmethod - def to_dicts(cls, trade_instructions): - """converts iterable ot TradeInstruction objects to a list of dicts""" - return [ti.asdict() for ti in trade_instructions] - - @classmethod - def to_df(cls, trade_instructions, ti_format=None): - """converts iterable ot TradeInstruction objects to a pandas dataframe""" - if ti_format is None: - ti_format = cls.TIF_DF - dicts = ( - { - "cid": ti.cid, - "pair": ti.curve.pair if not ti.curve is None else "", - "pairp": ti.curve.pairp if not ti.curve is None else "", - "tknin": ti.tknin, - "tknout": ti.tknout, - ti.tknin: ti.amtin, - ti.tknout: ti.amtout, - } - for ti in trade_instructions - ) - df = pd.DataFrame.from_dict(list(dicts)).set_index("cid") - if ti_format == cls.TIF_DFRAW: - return df - if ti_format == cls.TIF_DFAGGR: - df1r = df[df.columns[4:]] - df1 = df1r.fillna(0) - dfa = df1.sum().to_frame(name="TOTAL NET").T - dfp = df1[df1 > 0].sum().to_frame(name="AMMIn").T - dfn = df1[df1 < 0].sum().to_frame(name="AMMOut").T - return pd.concat([df1r, dfp, dfn, dfa], axis=0) - return df1, dfa - if ti_format == cls.TIF_DFP: - return df.fillna("") - raise ValueError(f"unknown format {ti_format}") - - TIF_OBJECTS = TIF_OBJECTS - TIF_DICTS = TIF_DICTS - TIF_DFP = TIF_DFP - TIF_DFRAW = TIF_DFRAW - TIF_DFAGGR = TIF_DFAGGR - TIF_DF = TIF_DF - - @classmethod - def to_format(cls, trade_instructions, ti_format=None): - """converts iterable ot TradeInstruction objects to the given format (TIF_XXX)""" - if ti_format is None: - ti_format = cls.TIF_OBJECTS - if ti_format == cls.TIF_OBJECTS: - return tuple(trade_instructions) - elif ti_format == cls.TIF_DICTS: - return cls.to_dicts(trade_instructions) - elif ti_format[:2] == "df": - trade_instructions = tuple(trade_instructions) - if len(trade_instructions) == 0: - return pd.DataFrame() - return cls.to_df(trade_instructions, ti_format=ti_format) - else: - raise ValueError(f"unknown format {ti_format}") - - @property - def price_outperin(self): - return -self.amtout / self.amtin - - p = price_outperin - - @property - def price_inperout(self): - return -self.amtin / self.amtout - - pr = price_inperout - - @property - def prices(self): - return (self.price_outperin, self.price_inperout) - - pp = prices - - TIF_OBJECTS = TIF_OBJECTS - TIF_DICTS = TIF_DICTS - TIF_DFP = TIF_DFP - TIF_DFRAW = TIF_DFRAW - TIF_DFAGGR = TIF_DFAGGR - TIF_DF = TIF_DF - - @dataclass - class MargpOptimizerResult(OptimizerBase.OptimizerResult): - """ - results of the simple optimizer - - :p_optimal: optimal p values - - """ - TIF_OBJECTS = TIF_OBJECTS - TIF_DICTS = TIF_DICTS - TIF_DFP = TIF_DFP - TIF_DFRAW = TIF_DFRAW - TIF_DFAGGR = TIF_DFAGGR - TIF_DF = TIF_DF - - curves: list = field(repr=False, default=None) - targettkn: str = field(repr=True, default=None) - p_optimal: dict = field(repr=False, default=None) - p_optimal_t: tuple = field(repr=True, default=None) - n_iterations: int = field(repr=False, default=None) - dtokens: dict = field(repr=False, default=None) - dtokens_t: tuple = field(repr=True, default=None) - tokens_t: tuple = field(repr=True, default=None) - errormsg: str = field(repr=True, default=None) - - def __post_init__(self, *args, **kwargs): - super().__post_init__(*args, **kwargs) - # #print("[MargpOptimizerResult] post_init") - assert ( - self.p_optimal_t is not None or self.errormsg is not None - ), "p_optimal_t must be set unless errormsg is set" - if self.method is None: - self.method = "margp" - self.raiseonerror = False - - @property - def is_error(self): - return self.errormsg is not None - - def detailed_error(self): - return self.errormsg - - def status(self): - return "error" if self.is_error else "converged" - - def price(self, tknb, tknq): - """returns the optimal price of tknb/tknq based on p_optimal [in tknq per tknb]""" - assert ( - self.p_optimal is not None - ), "p_optimal must be set [do not use minimal results]" - return self.p_optimal.get(tknb, 1) / self.p_optimal.get(tknq, 1) - - def dxdyvalues(self, asdict=False): - """ - returns a vector of (dx, dy) values for each curve - """ - assert ( - self.curves is not None - ), "curves must be set [do not use minimal results]" - assert self.is_error is False, "cannot get this data from an error result" - result = ( - (c.cid, c.dxdyfromp_f(self.price(c.tknb, c.tknq))[0:2]) - for c in self.curves - ) - if asdict: - return {cid: dxdy for cid, dxdy in result} - return tuple(dxdy for cid, dxdy in result) - - @property - def dxvalues(self): - return tuple(dx for dx, dy in self.dxdyvalues()) - - @property - def dyvalues(self): - return tuple(dy for dx, dy in self.dxdyvalues()) - - @property - def curves_new(self): - """returns a list of Curve objects the trade instructions implemented""" - assert ( - self.optimizer is not None - ), "optimizer must be set [do not use minimal results]" - assert self.is_error is False, "cannot get this data from an error result" - return self.optimizer.adjust_curves(dxvals=self.dxvalues) - - def trade_instructions(self, ti_format=None): - """ - returns list of TradeInstruction objects - - :ti_format: TIF_OBJECTS, TIF_DICTS, TIF_DFP, TIF_DFRAW, TIF_DFAGGR, TIF_DF - """ - try: - assert self.curves is not None, "curves must be set [do not use minimal results]" - assert self.is_error is False, "cannot get this data from an error result" - result = ( - CPCArbOptimizer.TradeInstruction.new( - curve_or_cid=c, tkn1=c.tknx, amt1=dx, tkn2=c.tkny, amt2=dy - ) - for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) - if dx != 0 or dy != 0 - ) - return CPCArbOptimizer.TradeInstruction.to_format(result, ti_format) - except AssertionError: - if self.raiseonerror: - raise - return None - - def adjust_curves(self, dxvals, *, verbose=False, raiseonerror=False): - """ - returns a new curve container with the curves shifted by the given dx values - """ - # print("[adjust_curves]", dxvals) - if dxvals is None: - if raiseonerror: - raise ValueError("dxvals is None") - else: - print("[adjust_curves] dxvals is None") - return None - curves = self.curve_container - try: - newcurves = [ - c.execute(dx=dx, verbose=verbose, ignorebounds=True) - for c, dx in zip(curves, dxvals) - ] - return CPCContainer(newcurves) - except Exception as e: - if raiseonerror: - raise e - else: - print(f"Error in adjust_curves: {e}") - # raise e - return None - - def plot(self, *args, **kwargs): - """ - convenience for self.curve_container.plot() - - see help(CPCContainer.plot) for details - """ - return self.curve_container.plot(*args, **kwargs) - - def format(self, *args, **kwargs): - """ - convenience for self.curve_container.format() - - see help(CPCContainer.format) for details - """ - return self.curve_container.format(*args, **kwargs) - diff --git a/fastlane_bot/tools/optimizer/__init__.py b/fastlane_bot/tools/optimizer/__init__.py new file mode 100644 index 000000000..811eb8d6c --- /dev/null +++ b/fastlane_bot/tools/optimizer/__init__.py @@ -0,0 +1,28 @@ +""" +encapsulating optimization methods, including convex and marginal price optimization + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +================================================================================================ + Convex and Marginal Price Optimization for Arbitrage and Routing +================================================================================================ + +This module implements a number of methods that allow for routing* and arbitrage amongst a set +of AMMs. Most methods allow, subject to convergence, for the optimization and routing within +an arbitrary multi-token context. The _subject to convergence_ part is important, as the in +particular the convex optimization methods with the solvers available to us to do not seem to +be able to handle leveraged liquidity well. + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch + + +*routing is not implemented yet, but it is a trivial extension of the arbitrage methods that +only needs to be connected and properly parameterized +""" + +from .cpcarboptimizer import * +from .simpleoptimizer import SimpleOptimizer +from .margpoptimizer import MargPOptimizer +from .convexoptimizer import ConvexOptimizer \ No newline at end of file diff --git a/fastlane_bot/tools/optimizer/base.py b/fastlane_bot/tools/optimizer/base.py new file mode 100644 index 000000000..34f3fceef --- /dev/null +++ b/fastlane_bot/tools/optimizer/base.py @@ -0,0 +1,264 @@ +""" +optimization library -- optimizer base module + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +__VERSION__ = "5.0" +__DATE__ = "26/Jul/2023" + +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar +from abc import ABC, abstractmethod, abstractproperty +import pandas as pd +import numpy as np + +import time +import math +import numbers +import pickle +from ..cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer +from sys import float_info +from .dcbase import DCBase + +class OptimizerBase(ABC): + """ + base class for all optimizers + + :problem: the problem object (eg allowing to read `problem.status`) + :result: the return value of problem.solve + :time: the time it took to solve this problem (optional) + :optimizer: the optimizer object that created this result + """ + __VERSION__ = __VERSION__ + __DATE__ = __DATE__ + + @abstractproperty + def kind(self): + """ + returns the kind of optimizer (as str) + """ + + def pickle(self, basefilename, addts=True): + """ + pickles the object to a file + """ + if addts: + filename = f"{basefilename}.{int(time.time()*100)}.optimizer.pickle" + else: + filename = f"{basefilename}.optimizer.pickle" + with open(filename, "wb") as f: + pickle.dump(self, f) + + @classmethod + def unpickle(cls, basefilename): + """ + unpickles the object from a file + """ + with open(f"{basefilename}.optimizer.pickle", "rb") as f: + object = pickle.load(f) + assert isinstance(object, cls), f"unpickled object is not of type {cls}" + return object + + @dataclass + class OptimizerResult(DCBase, ABC): + """ + base class for all optimizer results + + :result: actual optimization result + :time: time taken to solve the optimization + :method: method used to solve the optimization + :optimizer: the optimizer object that created this result + """ + result: float + time: float + method: str = None + optimizer: InitVar = None + + def __post_init__(self, optimizer=None): + if not optimizer is None: + assert issubclass(type(optimizer), OptimizerBase), f"optimizer must be a subclass of OptimizerBase {optimizer}" + self._optimizer = optimizer + # print("[OptimizerResult] post_init", optimizer) + + @property + def optimizer(self): + return self._optimizer + + def __float__(self): + return float(self.result) + + # @property + # def status(self): + # """problem status""" + # raise NotImplementedError("must be implemented in derived class") + + @abstractproperty + def status(self): + """problem status""" + pass + + # @property + # def is_error(self): + # """True if problem status is not OPTIMAL""" + # raise NotImplementedError("must be implemented in derived class") + + @abstractproperty + def is_error(self): + """True if problem status is not OPTIMAL""" + pass + + # def detailed_error(self): + # """detailed error analysis""" + # raise NotImplementedError("must be implemented in derived class") + + @abstractproperty + def detailed_error(self): + """detailed error analysis""" + pass + + @property + def error(self): + """problem error""" + if not self.is_error: + return None + return self.detailed_error() + + @dataclass + class SimpleResult(DCBase): + result: float + method: str = None + errormsg: str = None + context_dct: dict = None + + def __float__(self): + if self.is_error: + raise ValueError("cannot convert error result to float") + return float(self.result) + + @property + def is_error(self): + return not self.errormsg is None + + @property + def context(self): + return self.context_dct if not self.context_dct is None else {} + + DERIVEPS = 1e-6 + + @classmethod + def deriv(cls, func, x): + """ + computes the derivative of `func` at point `x` + """ + h = cls.DERIVEPS + return (func(x + h) - func(x - h)) / (2 * h) + + @classmethod + def deriv2(cls, func, x): + """ + computes the second derivative of `func` at point `x` + """ + h = cls.DERIVEPS + return (func(x + h) - 2 * func(x) + func(x - h)) / (h * h) + + @classmethod + def findmin_gd(cls, func, x0, *, learning_rate=0.1, N=100): + """ + finds the minimum of `func` using gradient descent starting at `x0` + """ + x = x0 + for _ in range(N): + x -= learning_rate * cls.deriv(func, x) + return cls.SimpleResult(result=x, method="findmin_gd") + + @classmethod + def findmax_gd(cls, func, x0, *, learning_rate=0.1, N=100): + """ + finds the maximum of `func` using gradient descent, starting at `x0` + """ + x = x0 + for _ in range(N): + x += learning_rate * cls.deriv(func, x) + return cls.SimpleResult(result=x, method="findmax_gd") + + @classmethod + def findminmax_nr(cls, func, x0, *, N=20): + """ + finds the minimum or maximum of func using Newton Raphson, starting at x0 + """ + x = x0 + for _ in range(N): + # print("[NR]", x, func(x), cls.deriv(func, x), cls.deriv2(func, x)) + try: + x -= cls.deriv(func, x) / cls.deriv2(func, x) + except Exception as e: + return cls.SimpleResult( + result=None, + errormsg=f"Newton Raphson failed: {e} [x={x}, x0={x0}]", + method="findminmax_nr", + ) + return cls.SimpleResult(result=x, method="findminmax_nr") + + findmin = findminmax_nr + findmax = findminmax_nr + + GOALSEEKEPS = 1e-6 + + @classmethod + def goalseek(cls, func, a, b): + """ + finds the value of `x` where `func(x)` x is zero, using binary search between a,b + """ + if func(a) * func(b) > 0: + cls.SimpleResult( + result=None, + errormsg=f"function must have different signs at a,b [{a}, {b}, {func(a)} {func(b)}]", + method="findminmax_nr", + ) + raise ValueError("function must have different signs at a,b") + while (b - a) > cls.GOALSEEKEPS: + c = (a + b) / 2 + if func(c) == 0: + return c + elif func(a) * func(c) < 0: + b = c + else: + a = c + return cls.SimpleResult(result=(a + b) / 2, method="findminmax_nr") + + @staticmethod + def posx(vector): + """ + returns the positive elements of the vector, zeroes elsewhere + """ + if isinstance(vector, np.ndarray): + return np.maximum(0, vector) + return tuple(max(0, x) for x in vector) + + @staticmethod + def negx(vector): + """ + returns the negative elements of the vector, zeroes elsewhere + """ + if isinstance(vector, np.ndarray): + return np.minimum(0, vector) + return tuple(min(0, x) for x in vector) + + @staticmethod + def a(vector): + """helper: returns vector as np.array""" + return np.array(vector) + + @staticmethod + def t(vector): + """helper: returns vector as tuple""" + return tuple(vector) + + @staticmethod + def F(func, rg): + """helper: returns list of [func(x) for x in rg]""" + return [func(x) for x in rg] + diff --git a/fastlane_bot/tools/optimizer/convexoptimizer.py b/fastlane_bot/tools/optimizer/convexoptimizer.py new file mode 100644 index 000000000..f7dbe9995 --- /dev/null +++ b/fastlane_bot/tools/optimizer/convexoptimizer.py @@ -0,0 +1,500 @@ +""" +optimization library -- Convex Optimizer module [final optimizer class] + +The convex optimizer explicitly solves the optimization problem by exploiting the fact +that the problem is convex. Whilst theoretically interesting, this method is complex, +slow and, importantly, converges badly on levered curves (eg Uniswap v3, Carbon). Whilst +we may continue research into this method, at this stage it is recommended to use the +marginal price optimizer instead. + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +__VERSION__ = "5.0" +__DATE__ = "26/Jul/2023" + +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar +#import pandas as pd +import numpy as np + +import time +# import math +import numbers +# import pickle +from ..cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer +# from sys import float_info + +try: + import cvxpy as cp +except: + # if cvxpy is not installed on the system then the convex optimization methods will not work + # however, the (superior) marginal price based methods will still work and we do not want to + # force installation of an otherwise unused package onto the user's system + cp = None + +from .dcbase import DCBase +from .base import OptimizerBase +from .cpcarboptimizer import CPCArbOptimizer + + +@dataclass +class ScaledVariable(DCBase): + """ + wraps a cvxpy variable to allow for scaling + """ + + variable: cp.Variable + scale: any = 1.0 + token: list = None + + def __post_init__(self): + try: + len_var = len(self.variable.value) + except TypeError as e: + print("[ScaledVariable] variable.value is None", self.variable) + return + + if not isinstance(self.scale, numbers.Number): + self.scale = np.array(self.scale) + if not len(self.scale) == len_var: + raise ValueError( + "scale and variable must have same length or scale must be a number", + self.scale, + self.variable.value, + ) + if not self.token is None: + if not len(self.token) == len_var: + raise ValueError( + "token and variable must have same length", + self.token, + self.variable.value, + ) + + @property + def value(self): + """ + converts value from USD to token units* + + Note: with scaling, the calculation is set up in a way that the values of the raw variables + dx, dy correspond approximately to USD numbers, so their relative scale is natural and only + determined by the problem, not by units. + + The scaling factor is the PRICE in USD PER TOKEN, therefore + + self.variable.value = USD value of the token + self.variable.value / self.scale = number of tokens + """ + try: + return np.array(self.variable.value) / self.scale + except Exception as e: + print("[value] exception", e, self.variable.value, self.scale) + return self.variable.value + + @property + def v(self): + """alias for variable""" + return self.variable + + + +class ConvexOptimizer(CPCArbOptimizer): + """ + implements the marginal price optimization method + """ + + @property + def kind(self): + return "convex" + + @dataclass + class ConvexOptimizerResult(OptimizerBase.OptimizerResult): + + problem: InitVar + + def __post_init__(self, optimizer=None, problem=None, *args, **kwargs): + super().__post_init__(*args, optimizer=optimizer, **kwargs) + # print("[ConvexOptimizerResult] post_init") + assert not problem is None, "problem must be set" + self._problem = problem + if self.method is None: + self.method = "convex" + + @property + def problem(self): + return self._problem + + @property + def status(self): + """problem status""" + return self.problem.status + + @property + def detailed_error(self): + """detailed error message""" + if self.is_error: + return f"ERROR: {self.status} {self.result}" + return + + @property + def is_error(self): + """True if problem status is not OPTIMAL""" + return self.status != cp.OPTIMAL or isinstance(self.result, str) + + @property + def error(self): + """problem error""" + if not self.is_error: + return None + if isinstance(self.result, str): + return f"{self.result} [{self.status}]" + return f"{self.status}" + + @dataclass + class NofeesOptimizerResult(ConvexOptimizerResult): + """ + results of the nofees optimizer + """ + + token_table: dict = None + sfc: any = field(repr=False, default=None) # SelfFinancingConstraints + curves: CPCContainer = field(repr=False, default=None) + # curves_new: CPCContainer = field(repr=False, default=None) + # dx: cp.Variable = field(repr=False, default=None) + # dy: cp.Variable = field(repr=False, default=None) + dx: InitVar + dy: InitVar + + def __post_init__( + self, optimizer=None, problem=None, dx=None, dy=None, *args, **kwargs + ): + super().__post_init__(*args, optimizer=optimizer, problem=problem, **kwargs) + # print("[NofeesOptimizerResult] post_init") + assert not self.token_table is None, "token_table must be set" + assert not self.sfc is None, "sfc must be set" + assert not self.curves is None, "curves must be set" + # assert not self.curves_new is None, "curves_new must be set" + assert not dx is None, "dx must be set" + assert not dy is None, "dy must be set" + self._dx = dx + self._dy = dy + + @property + def dx(self): + return self._dx + + @property + def dy(self): + return self._dy + + @property + def curves_new(self): + """returns a list of Curve objects the trade instructions implemented""" + assert self.is_error is False, "cannot get this data from an error result" + return self.optimizer.adjust_curves(dxvals=self.dxvalues) + + def trade_instructions(self, ti_format=None): + """ + returns list of TradeInstruction objects + + :ti_format: format of the TradeInstruction objects, see TradeInstruction.to_format + :TIF_OBJECTS: a list of TradeInstruction objects (default) + :TIF_DICTS: a list of TradeInstruction dictionaries + :TIF_DFRAW: raw dataframe (holes are filled with NaN) + :TIF_DF: alias for :TIF_DFRAW: + :TIF_DFAGRR: aggregated dataframe + :TIF_DFPG: prices-and-gains analyis dataframe + + """ + result = ( + CPCArbOptimizer.TradeInstruction.new( + curve_or_cid=c, tkn1=c.tknx, amt1=dx, tkn2=c.tkny, amt2=dy + ) + for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) + if dx != 0 or dy != 0 + ) + #print("[trade_instructions] ti_format", ti_format) + assert ti_format != CPCArbOptimizer.TIF_DFAGGR, "TIF_DFAGGR not implemented for convex optimization" + assert ti_format != CPCArbOptimizer.TIF_DFPG, "TIF_DFPG not implemented for convex optimization" + return CPCArbOptimizer.TradeInstruction.to_format(result, ti_format=ti_format) + + @property + def dxvalues(self): + """returns dx values""" + return self.dx.value + + @property + def dyvalues(self): + """returns dy values""" + return self.dy.value + + def dxdydf(self, *, asdict=False, pretty=True, inclk=False): + """returns dataframe with dx, dy per curve""" + if inclk: + dct = [ + { + "cid": c.cid, + "pair": c.pair, + "tknx": c.tknx, + "tkny": c.tkny, + "x": c.x, + "y": c.y, + "xa": c.x_act, + "ya": c.y_act, + "k": c.k, + "kpost": (c.x + dxv) * (c.y + dyv), + "kk": (c.x + dxv) * (c.y + dyv) / c.k, + c.tknx: dxv, + c.tkny: dyv, + } + for dxv, dyv, c in zip(self.dx.value, self.dy.value, self.curves) + ] + else: + dct = [ + { + "cid": c.cid, + "pair": c.pair, + "tknx": c.tknx, + "tkny": c.tkny, + "x": c.x, + "y": c.y, + "xa": c.x_act, + "ya": c.y_act, + "kk": (c.x + dxv) * (c.y + dyv) / c.k, + c.tknx: dxv, + c.tkny: dyv, + } + for dxv, dyv, c in zip(self.dx.value, self.dy.value, self.curves) + ] + if asdict: + return dct + df = pd.DataFrame.from_dict(dct).set_index("cid") + df0 = df.fillna(0) + dfa = df0[df0.columns[8:]].sum().to_frame(name="total").T + dff = pd.concat([df, dfa], axis=0) + if pretty: + try: + dff = dff.style.format({col: FORMATTER for col in dff.columns[3:]}) + except Exception as e: + print("[dxdydf] exception", e, dff.columns) + return dff + + SOLVER_ECOS = "ECOS" + SOLVER_SCS = "SCS" + SOLVER_OSQP = "OSQP" + SOLVER_CVXOPT = "CVXOPT" + SOLVER_CBC = "CBC" + SOLVERS = { + SOLVER_ECOS: cp.ECOS, + SOLVER_SCS: cp.SCS, + SOLVER_OSQP: cp.OSQP, + SOLVER_CVXOPT: cp.CVXOPT, + SOLVER_CBC: cp.CBC, + # those solvers will usually have to be installed separately + # "ECOS_BB": cp.ECOS_BB, + # "OSQP": cp.OSQP, + # "GUROBI": cp.GUROBI, + # "MOSEK": cp.MOSEK, + # "GLPK": cp.GLPK, + # "GLPK_MI": cp.GLPK_MI, + # "CPLEX": cp.CPLEX, + # "XPRESS": cp.XPRESS, + # "SCIP": cp.SCIP, + } + + def convex_optimizer(self, sfc, **params): + """ + convex optimization for determining the arbitrage opportunities + + :sfc: a SelfFinancingConstraints object (or str passed to SFC.arb) + :params: additional parameters to be passed to the solver + :verbose: if True, generate verbose output + :solver: the solver to be used (default: "CVXOPT"; see SOLVERS) + :nosolve: if True, do not solve the problem, but return the problem object + :nominconstr: if True, do NOT add the minimum constraints + :maxconstr: if True, DO add the (reundant) maximum constraints + :retcurves: if True, also return the curves object (default: False) + :s_xxx: pass the parameter `xxx` to the solver (eg s_verbose) + :s_verbose: if True, generate verbose output from the solver + + + note: CVXOPT is a pip install (pip install cvxopt); OSQP is not suitable for this problem, + ECOS and SCS do work sometimes but can go dramatically wrong + """ + + # This code runs the actual optimization. It has two major parts + + # 1. the **constraints**, and + # 2. the **objective function** to be optimized (min or max) + + # The objective function is to either maximize the number of tokens + # received from the AMM (which is a negative number, hence formally the + # condition is `cp.Minimize` or to minimize the number of tokens paid to + # the AMM which is a positive number. Therefore `cp.Minimize` is the + # correct choice in each case. + + # The constraints come in three types: + + # - **curve constraint**: the curve constraints correspond to the + # $x\cdot y=k$ invariant of the respective AMM; the constraint is + # formally `>=` but it has been shown eg by Angeris et al that the + # constraint will always be optimal on the boundary + + # - **range constraints**: the range constraints correspond to the + # tokens actually available on curve; for the full-curve AMM those + # constraints would formally be `dx >= -c.x` and the same for `y`, but + # those constraint are automatically fulfilled because of the + # asymptotic behaviour of the curves so could be omitted + + # - **self-financing constraints**: the self-financing constraints + # corresponds to the condition that all `dx` and `dy` corresponding to + # a specific token other than the token in the objective function must + # sum to the target amount provided in `inputs` (or zero if not + # provided) + + assert not cp is None, "cvxpy not installed [pip install cvxpy]]" + if isinstance(sfc, str): + sfc = self.SelfFinancingConstraints.arb(sfc) + + curves_t = self.curve_container.curves + c0 = curves_t[0] + tt = self.curve_container.tokentable() + prtkn = sfc.optimizationvar + + P = lambda x: params.get(x) + + start_time = time.time() + + # set up the optimization variables + if P("verbose"): + print(f"Setting up dx[0..{len(curves_t)-1}] and dy[0..{len(curves_t)-1}]") + dx = cp.Variable(len(curves_t), value=[0] * len(curves_t)) + dy = cp.Variable(len(curves_t), value=[0] * len(curves_t)) + + # the geometric mean of objects in a list + gmean = lambda lst: cp.geo_mean(cp.hstack(lst)) + + ## assemble the constraints... + constraints = [] + + # curve constraints + for i, c in enumerate(curves_t): + constraints += [ + gmean([c.x + dx[i] / c.scalex, c.y + dy[i] / c.scaley]) >= c.kbar + ] + if P("verbose"): + print( + f"CC {i} [{c.cid}]: {c.pair} x={c.x:.1f} {c.tknx } (s={c.scalex}), y={c.y:.1f} {c.tkny} (s={c.scaley}), k={c.k:2.1f}, p_dy/dx={c.p:2.1f}, p_dx/dy={1/c.p:2.1f}" + ) + + if P("verbose"): + print("number of constraints: ", len(constraints)) + + # range constraints (min) + for i, c in enumerate(curves_t): + + pass + + if not P("nominconstr"): + constraints += [ + dx[i] / c.scalex >= c.dx_min, + dy[i] / c.scaley >= c.dy_min, + ] + if P("verbose"): + print( + f"RC {i} [{c.cid}]: dx>{c.dx_min:.4f} {c.tknx} (s={c.scalex}), dy>{c.dy_min:.4f} {c.tkny} (s={c.scaley}) [{c.pair}]" + ) + + if P("maxconstr"): + if not c.dx_max is None: + constraints += [ + dx[i] / c.scalex <= c.dx_max, + ] + if not c.dy_max is None: + constraints += [ + dy[i] / c.scaley <= c.dy_max, + ] + if P("verbose"): + print( + f"RC {i} [{c.cid}]: dx<{c.dx_max} {c.tknx} (s={c.scalex}), dy<{c.dy_max} {c.tkny} (s={c.scaley}) [{c.pair}]" + ) + + if P("verbose"): + print("number of constraints: ", len(constraints)) + + # self-financing constraints + for tkn, tknvalue in sfc.items(): + if not isinstance(tknvalue, str): + constraints += [ + cp.sum([dy[i] for i in tt[tkn].y]) + + cp.sum([dx[i] for i in tt[tkn].x]) + == tknvalue * c0.scale(tkn) + # note: we can access the scale from any curve as it is a class method + ] + if P("verbose"): + print( + f"SFC [{tkn}={tknvalue}, s={c0.scale(tkn)}]: y={[i for i in tt[tkn].y]}, x={[i for i in tt[tkn].x]}" + ) + + if P("verbose"): + print("number of constraints: ", len(constraints)) + + # objective function (note: AMM out is negative, AMM in is positive) + if P("verbose"): + print( + f"O: y={[i for i in tt[prtkn].y]}, x={[i for i in tt[prtkn].x]}, {prtkn}" + ) + + objective = cp.Minimize( + cp.sum([dy[i] for i in tt[prtkn].y]) + cp.sum([dx[i] for i in tt[prtkn].x]) + ) + + # run the optimization + problem = cp.Problem(objective, constraints) + solver = self.SOLVERS.get(P("solver"), cp.CVXOPT) + if not P("nosolve"): + sp = {k[2:]: v for k, v in params.items() if k[:2] == "s_"} + print("Solver params:", sp) + if P("verbose"): + print(f"Solving the problem with {solver}...") + try: + problem_result = problem.solve(solver=solver, **sp) + # problem_result = problem.solve(solver=solver) + except cp.SolverError as e: + if P("verbose"): + print(f"Solver error: {e}") + problem_result = str(e) + if P("verbose"): + print( + f"Problem solved in {time.time()-start_time:.2f} seconds; result: {problem_result}" + ) + else: + problem_result = None + + dx_ = ScaledVariable( + dx, [c.scalex for c in curves_t], [c.tknx for c in curves_t] + ) + dy_ = ScaledVariable( + dy, [c.scaley for c in curves_t], [c.tkny for c in curves_t] + ) + + return self.NofeesOptimizerResult( + problem=problem, + sfc=sfc, + result=problem_result, + time=time.time() - start_time, + dx=dx_, + dy=dy_, + token_table=tt, + curves=self.curve_container, + # curves_new=self.adjust_curves(dxvals = dx_.value), + optimizer=self, + ) + nofees_optimizer = convex_optimizer + + + + + \ No newline at end of file diff --git a/fastlane_bot/tools/optimizer/cpcarboptimizer.py b/fastlane_bot/tools/optimizer/cpcarboptimizer.py new file mode 100644 index 000000000..9b26c5762 --- /dev/null +++ b/fastlane_bot/tools/optimizer/cpcarboptimizer.py @@ -0,0 +1,641 @@ +""" +optimization library -- CPCCarbOptimizer (intermediate optimizer class) + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +__VERSION__ = "5.0" +__DATE__ = "26/Jul/2023" + +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar +import pandas as pd +import numpy as np + +try: + import cvxpy as cp +except: + # if cvxpy is not installed on the system then the convex optimization methods will not work + # however, the (superior) marginal price based methods will still work and we do not want to + # force installation of an otherwise unused package onto the user's system + cp = None + +import time +import math +import numbers +import pickle +from ..cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer, Pair +from sys import float_info + +from .dcbase import DCBase +from .base import OptimizerBase + + + +FORMATTER = lambda x: "" if ((abs(x) < 1e-10) or math.isnan(x)) else f"{x:,.2f}" + +F = OptimizerBase.F + +TIF_OBJECTS = "objects" +TIF_DICTS = "dicts" +TIF_DFRAW = "dfraw" +TIF_DF = TIF_DFRAW +TIFDF8 = "df8" +TIF_DFAGGR = "dfaggr" +TIF_DFAGGR8 = "dfaggr8" +TIF_DFPG = "dfgain" +TIF_DFPG8 = "dfgain8" + +class CPCArbOptimizer(OptimizerBase): + """ + intermediate class for CPC arbitrage optimization + """ + + def __init__(self, curve_container): + if not isinstance(curve_container, CPCContainer): + curve_container = CPCContainer(curve_container) + self._curve_container = curve_container + + @property + def curve_container(self): + """the curve container (CPCContainer)""" + return self._curve_container + + CC = curve_container + + @property + def tokens(self): + return self.curve_container.tokens + + @dataclass + class SelfFinancingConstraints(DCBase): + """ + describes self financing constraints and determines optimization variable + + :data: a dict TKN -> amount, or AMMPays, AMMReceives + :amount: from the AMM perspective, total inflows (>0) or outflows (<0) + for all items not present in data the value is assumed zero + :AMMPays: the AMM payout should be maximized [from the trader (!) perspective] + :AMMReceives: the money paid into the AMM should be minimized [ditto] + :OptimizationVar: like AMMPays and AMMReceives, but if the direction of the payout is + not known at the beginning [not all methods allow this] + :OV: alias for OptimizationVar + :tokens: set of all tokens in the problem (if None, use data.keys()) + + """ + + AMMPays = "AMMPays" + AMMReceives = "AMMReceives" + OptimizationVar = "OptimizationVar" + OV = OptimizationVar + + data: dict + tokens: set = None + + def __post_init__(self): + optimizationvars = tuple( + k + for k, v in self.data.items() + if v in {self.AMMPays, self.AMMReceives, self.OptimizationVar} + ) + assert ( + len(optimizationvars) == 1 + ), f"there must be EXACTLY one AMMPays, AMMReceives, OptimizationVar {self.data}" + self._optimizationvar = optimizationvars[0] + if self.tokens is None: + self.tokens = set(self.data.keys()) + else: + if isinstance(self.tokens, str): + self.tokens = set(t.strip() for t in self.tokens.split(",")) + else: + self.tokens = set(self.tokens) + assert ( + set(self.data.keys()) - self.tokens == set() + ), f"constraint keys {set(self.data.keys())} > {self.tokens}" + + @property + def optimizationvar(self): + """optimization variable, ie the in that is set to AMMPays, AMMReceives or OptimizationVar""" + return self._optimizationvar + + @property + def tokens_s(self): + """tokens as a comma-separated string""" + return ", ".join(self.tokens_l) + + @property + def tokens_l(self): + """tokens as a list""" + return sorted(list(self.tokens)) + + def asdict(self, *, short=False): + """dict representation including zero-valued tokens (unless short)""" + if short: + return {**self.data} + return {k: self.get(k) for k in self.tokens} + + def items(self, *, short=False): + return self.asdict(short=short).items() + + @classmethod + def new(cls, tokens, **data): + """alternative constructor: data as kwargs""" + return cls(data=data, tokens=tokens) + + @classmethod + def arb(cls, targettkn): + """alternative constructor: arbitrage constraint, ie all other constraints are zero""" + return cls(data={targettkn: cls.OptimizationVar}) + + def get(self, item): + """gets the constraint, or 0 if not present""" + assert item in self.tokens, f"item {item} not in {self.tokens}" + return self.data.get(item, 0) + + def is_constraint(self, item): + """ + returns True iff item is a constraint (ie not an optimisation variable) + """ + return not self.is_optimizationvar(item) + + def is_optimizationvar(self, item): + """ + returns True iff item is the optimization variable + """ + assert item in self.tokens, f"item {item} not in {self.tokens}" + return item == self.optimizationvar + + def is_arbsfc(self): + """ + returns True iff the constraint is an arbitrage constraint + """ + if len(self.data) == 1: + return True + data1 = [v for v in self.data.values() if v != 0] + return len(data1) == 1 + + def __call__(self, item): + """alias for get""" + return self.get(item) + + def SFC(self, **data): + """alias for SelfFinancingConstraints.new""" + return self.SelfFinancingConstraints.new(self.curve_container.tokens(), **data) + + def SFCd(self, data_dct): + """alias for SelfFinancingConstraints.new, with data as a dict""" + return self.SelfFinancingConstraints.new( + self.curve_container.tokens(), **data_dct + ) + + def SFCa(self, targettkn): + """alias for SelfFinancingConstraints.arb""" + return self.SelfFinancingConstraints.arb(targettkn) + + arb = SFCa + + AMMPays = SelfFinancingConstraints.AMMPays + AMMReceives = SelfFinancingConstraints.AMMReceives + OptimizationVar = SelfFinancingConstraints.OptimizationVar + OV = SelfFinancingConstraints.OV + + + def price_estimates(self, *, tknq, tknbs, **kwargs): + """ + convenience function to access CPCContainer.price_estimates + + :tknq: can only be a single token + :tknbs: list of tokens + + see help(CPCContainer.price_estimate) for details + """ + return self.curve_container.price_estimates(tknqs=[tknq], tknbs=tknbs, **kwargs) + + + @dataclass + class TradeInstruction(DCBase): + """ + encodes a specific trade one a specific curve + + seen from the AMM; in numbers must be positive, out numbers negative + + :cid: the curve id + :tknin: token in + :amtin: amount in (>0) + :tknout: token out + :amtout: amount out (<0) + :error: error message (if any; None means no error) + :curve: the curve object (optional); note: users of this object need + to decide whether they trust the preparing code to set curve + or whether they fetch it via the cid themselves + :raiseonerror: if True, raise an error if the trade instruction is invalid + otherwise just set the error message + """ + + cid: any + tknin: str + amtin: float + tknout: str + amtout: float + error: str = field(repr=True, default=None) + curve: InitVar = None + raiseonerror: InitVar = False + + POSNEGEPS = 1e-8 + + def __post_init__(self, curve=None, raiseonerror=False): + self.curve = curve + if curve is not None: + if self.cid != curve.cid: + err = f"curve/cid mismatch [{self.cid} vs {curve.cid}]" + self.error = err + if raiseonerror: + raise ValueError(err) + if self.tknin == self.tknout: + err = f"tknin and tknout must be different [{self.tknin} {self.tknout}]" + self.error = err + if raiseonerror: + raise ValueError(err) + self.cid = str(self.cid) + self.tknin = str(self.tknin) + self.tknout = str(self.tknout) + self.amtin = float(self.amtin) + self.amtout = float(self.amtout) + if not self.amtin * self.amtout < 0: + if ( + abs(self.amtin) < self.POSNEGEPS + and abs(self.amtout) < self.POSNEGEPS + ): + self.amtin = 0 + self.amtout = 0 + else: + err = f"amtin and amtout must be of different sign [{self.amtin} {self.tknin}, {self.amtout} {self.tknout}]" + self.error = err + if raiseonerror: + raise ValueError(err) + + if not self.amtin >= 0: + err = f"amtin must be positive [{self.amtin}]" # seen from AMM + self.error = err + if raiseonerror: + raise ValueError(err) + + if not self.amtout <= 0: + err = f"amtout must be negative [{self.amtout}]" # seen from AMM + self.error = err + if raiseonerror: + raise ValueError(err) + + TIEPS = 1e-10 + + @classmethod + def new(cls, curve_or_cid, tkn1, amt1, tkn2, amt2, *, eps=None, raiseonerror=False): + """automatically determines which is in and which is out""" + try: + cid = curve_or_cid.cid + curve = curve_or_cid + except: + cid = curve_or_cid + curve = None + if eps is None: + eps = cls.TIEPS + if amt1 > 0: + newobj = cls( + cid=cid, + tknin=tkn1, + amtin=amt1, + tknout=tkn2, + amtout=amt2, + curve=curve, + raiseonerror=raiseonerror, + ) + else: + newobj = cls( + cid=cid, + tknin=tkn2, + amtin=amt2, + tknout=tkn1, + amtout=amt1, + curve=curve, + raiseonerror=raiseonerror, + ) + + return newobj + + @property + def is_empty(self): + """returns True if this is an empty trade instruction (too close to zero)""" + return self.amtin == 0 or self.amtout == 0 + + @classmethod + def to_dicts(cls, trade_instructions): + """converts iterable ot TradeInstruction objects to a tuple of dicts""" + #print("[TradeInstruction.to_dicts]") + return tuple(ti.asdict() for ti in trade_instructions) + + @classmethod + def to_df(cls, trade_instructions, robj, ti_format=None): + """ + converts iterable ot TradeInstruction objects to a pandas dataframe + + :trade_instructions: iterable of TradeInstruction objects + :robj: OptimizationResult object generating the trade instructions + :ti_format: format (TIF_DFP, TIF_DFRAW, TIF_DFAGGR, TIF_DF, TIF_DFPG) + """ + if ti_format is None: + ti_format = cls.TIF_DF + cid8 = ti_format in set([cls.TIF_DF8, cls.TIF_DFAGGR8, cls.TIF_DFPG8]) + dicts = ( + { + "cid": ti.cid if not cid8 else ti.cid[-10:], + "pair": ti.curve.pair if not ti.curve is None else "", + "pairp": ti.curve.pairp if not ti.curve is None else "", + "tknin": ti.tknin, + "tknout": ti.tknout, + ti.tknin: ti.amtin, + ti.tknout: ti.amtout, + } + for ti in trade_instructions + ) + df = pd.DataFrame.from_dict(list(dicts)).set_index("cid") + if ti_format in set([cls.TIF_DF, cls.TIF_DF8]): + return df + if ti_format in set([cls.TIF_DFAGGR, cls.TIF_DFAGGR8]): + df1r = df[df.columns[4:]] + df1 = df1r.fillna(0) + dfa = df1.sum().to_frame(name="TOTAL NET").T + dfp = df1[df1 > 0].sum().to_frame(name="AMMIn").T + dfn = df1[df1 < 0].sum().to_frame(name="AMMOut").T + dfpr = pd.Series(robj.p_optimal).to_frame(name="PRICE").T + #dfpr = pd.Series(r.p_optimal).to_frame(name="PRICES POST").T + df = pd.concat([df1r, dfpr, dfp, dfn, dfa], axis=0) + df.loc["PRICE"].fillna(1, inplace=True) + return df + if ti_format in set([cls.TIF_DFPG, cls.TIF_DFPG8]): + ti = trade_instructions + r = robj + eff_p_out_per_in = [-ti_.amtout/ti_.amtin for ti_ in ti] + data = dict( + exch = [ti_.curve.P("exchange") for ti_ in ti], + cid = [ti_.cid if ti_format == cls.TIF_DFPG else ti_.cid[-10:] for ti_ in ti], + fee = [ti_.curve.fee for ti_ in ti], # if split here must change conversion below + pair = [ti_.curve.pair if ti_format == cls.TIF_DFPG else Pair.n(ti_.curve.pair) for ti_ in ti], + amt_tknq = [ti_.amtin if ti_.tknin == ti_.curve.tknq else ti_.amtout for ti_ in ti], + tknq = [ti_.curve.tknq for ti_ in ti], + margp0 = [ti_.curve.p for ti_ in ti], + effp = [p if ti_.tknout==ti_.curve.tknq else 1/p for p,ti_ in zip(eff_p_out_per_in, ti)], + margp = [r.price(tknb=ti_.curve.tknb, tknq=ti_.curve.tknq) for ti_ in ti], + ) + df = pd.DataFrame(data) + df["gain_r"] = np.abs(df["effp"]/df["margp"] - 1) + df["gain_tknq"] = -df["amt_tknq"] * (df["effp"]/df["margp"] - 1) + + cgt_l = ((cid, gain, tkn) for cid, gain, tkn in zip(df.index, df["gain_tknq"], df["tknq"])) + cgtp_l = ((cid, gain, tkn, r.price(tknb=tkn, tknq=r.targettkn)) for cid, gain, tkn in cgt_l) + cg_l = ((cid, gain*price) for cid, gain, tkn, price in cgtp_l) + df["gain_ttkn"] = tuple(gain for cid, gain in cg_l) + df = df.sort_values(["exch", "gain_ttkn"], ascending=False) + df = df.set_index(["exch", "cid"]) + return df + + raise ValueError(f"unknown format {ti_format}") + + TIF_OBJECTS = TIF_OBJECTS + TIF_DICTS = TIF_DICTS + TIF_DFRAW = TIF_DFRAW + TIF_DFAGGR = TIF_DFAGGR + TIF_DFAGGR8 = TIF_DFAGGR8 + TIF_DF = TIF_DF + TIF_DF8 = TIFDF8 + TIF_DFPG = TIF_DFPG + TIF_DFPG8 = TIF_DFPG8 + + @classmethod + def to_format(cls, trade_instructions, robj=None, *, ti_format=None): + """ + converts iterable ot TradeInstruction objects to the given format + + :trade_instructions: iterable of TradeInstruction objects + :robj: OptimizationResult object generating the trade instructions + :ti_format: format to convert to TIF_OBJECTS, TIF_DICTS, TIF_DFP, + TIF_DFRAW, TIF_DFAGGR, TIF_DF + """ + #print("[TradeInstruction] to_format", ti_format) + if ti_format is None: + ti_format = cls.TIF_OBJECTS + if ti_format == cls.TIF_OBJECTS: + return tuple(trade_instructions) + elif ti_format == cls.TIF_DICTS: + return cls.to_dicts(trade_instructions) + elif ti_format[:2] == "df": + trade_instructions = tuple(trade_instructions) + if len(trade_instructions) == 0: + return pd.DataFrame() + return cls.to_df(trade_instructions, robj=robj, ti_format=ti_format) + else: + raise ValueError(f"unknown format {ti_format}") + + @property + def price_outperin(self): + return -self.amtout / self.amtin + + p = price_outperin + + @property + def price_inperout(self): + return -self.amtin / self.amtout + + pr = price_inperout + + @property + def prices(self): + return (self.price_outperin, self.price_inperout) + + pp = prices + + TIF_OBJECTS = TIF_OBJECTS + TIF_DICTS = TIF_DICTS + TIF_DFRAW = TIF_DFRAW + TIF_DFAGGR = TIF_DFAGGR + TIF_DFAGGR8 = TIF_DFAGGR8 + TIF_DF = TIF_DF + TIF_DF8 = TIFDF8 + TIF_DFPG = TIF_DFPG + TIF_DFPG8 = TIF_DFPG8 + + METHOD_MARGP = "margp" + @dataclass + class MargpOptimizerResult(OptimizerBase.OptimizerResult): + """ + results of the marginal price optimizer + + :curves: curve objects underlying the optimization (as CPCContainer) + :targetkn: target token (=profit token) of the optimization + :p_optimal_t: optimal price vector (as tuple) + :dtokens: change in token amounts (as dict) + :dtokens_t: change in token amounts (as tuple) + :tokens_t: list of tokens + :errormsg: error message if an error occured (None=no error) + + PROPERTIES + :p_optimal: optimal price vector (as dict) + + """ + TIF_OBJECTS = TIF_OBJECTS + TIF_DICTS = TIF_DICTS + TIF_DFRAW = TIF_DFRAW + TIF_DFAGGR = TIF_DFAGGR + TIF_DFAGGR8 = TIF_DFAGGR8 + TIF_DF = TIF_DF + TIF_DF8 = TIFDF8 + TIF_DFPG = TIF_DFPG + TIF_DFPG8 = TIF_DFPG8 + + curves: any = field(repr=False, default=None) + targettkn: str = field(repr=True, default=None) + #p_optimal: dict = field(repr=False, default=None) + p_optimal_t: tuple = field(repr=True, default=None) + n_iterations: int = field(repr=False, default=None) + dtokens: dict = field(repr=False, default=None) + dtokens_t: tuple = field(repr=True, default=None) + tokens_t: tuple = field(repr=True, default=None) + errormsg: str = field(repr=True, default=None) + + def __post_init__(self, *args, **kwargs): + super().__post_init__(*args, **kwargs) + # #print("[MargpOptimizerResult] post_init") + assert ( + self.p_optimal_t is not None or self.errormsg is not None + ), "p_optimal_t must be set unless errormsg is set" + if not self.p_optimal_t is None: + self.p_optimal_t = tuple(self.p_optimal_t) + self._p_optimal_d = { + **{tkn: p for tkn, p in zip(self.tokens_t, self.p_optimal_t)}, + self.targettkn: 1.0, + } + + if self.method is None: + self.method = CPCArbOptimizer.METHOD_MARGP + self.raiseonerror = False + + @property + def p_optimal(self): + """the optimal price vector as dict (last entry is target token)""" + return self._p_optimal_d + + @property + def is_error(self): + return self.errormsg is not None + + def detailed_error(self): + return self.errormsg + + def status(self): + return "error" if self.is_error else "converged" + + def price(self, tknb, tknq): + """returns the optimal price of tknb/tknq based on p_optimal [in tknq per tknb]""" + assert ( + self.p_optimal is not None + ), "p_optimal must be set [do not use minimal results]" + return self.p_optimal.get(tknb, 1) / self.p_optimal.get(tknq, 1) + + def dxdyvalues(self, asdict=False): + """ + returns a vector of (dx, dy) values for each curve + """ + assert ( + self.curves is not None + ), "curves must be set [do not use minimal results]" + assert self.is_error is False, "cannot get this data from an error result" + result = ( + (c.cid, c.dxdyfromp_f(self.price(c.tknb, c.tknq))[0:2]) + for c in self.curves + ) + if asdict: + return {cid: dxdy for cid, dxdy in result} + return tuple(dxdy for cid, dxdy in result) + + @property + def dxvalues(self): + return tuple(dx for dx, dy in self.dxdyvalues()) + + @property + def dyvalues(self): + return tuple(dy for dx, dy in self.dxdyvalues()) + + @property + def curves_new(self): + """returns a list of Curve objects the trade instructions implemented""" + assert ( + self.optimizer is not None + ), "optimizer must be set [do not use minimal results]" + assert self.is_error is False, "cannot get this data from an error result" + return self.optimizer.adjust_curves(dxvals=self.dxvalues) + + def trade_instructions(self, ti_format=None): + """ + returns list of TradeInstruction objects + + :ti_format: TIF_OBJECTS, TIF_DICTS, TIF_DFP, TIF_DFRAW, TIF_DFAGGR, TIF_DF + """ + try: + assert self.curves is not None, "curves must be set [do not use minimal results]" + assert self.is_error is False, "cannot get this data from an error result" + result = ( + CPCArbOptimizer.TradeInstruction.new( + curve_or_cid=c, tkn1=c.tknx, amt1=dx, tkn2=c.tkny, amt2=dy + ) + for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) + if dx != 0 or dy != 0 + ) + return CPCArbOptimizer.TradeInstruction.to_format(result, robj=self, ti_format=ti_format) + except AssertionError: + if self.raiseonerror: + raise + return None + + def adjust_curves(self, dxvals, *, verbose=False, raiseonerror=False): + """ + returns a new curve container with the curves shifted by the given dx values + """ + # print("[adjust_curves]", dxvals) + if dxvals is None: + if raiseonerror: + raise ValueError("dxvals is None") + else: + print("[adjust_curves] dxvals is None") + return None + curves = self.curve_container + try: + newcurves = [ + c.execute(dx=dx, verbose=verbose, ignorebounds=True) + for c, dx in zip(curves, dxvals) + ] + return CPCContainer(newcurves) + except Exception as e: + if raiseonerror: + raise e + else: + print(f"Error in adjust_curves: {e}") + # raise e + return None + + def plot(self, *args, **kwargs): + """ + convenience for self.curve_container.plot() + + see help(CPCContainer.plot) for details + """ + return self.curve_container.plot(*args, **kwargs) + + def format(self, *args, **kwargs): + """ + convenience for self.curve_container.format() + + see help(CPCContainer.format) for details + """ + return self.curve_container.format(*args, **kwargs) + diff --git a/fastlane_bot/tools/optimizer/dcbase.py b/fastlane_bot/tools/optimizer/dcbase.py new file mode 100644 index 000000000..b65de21ec --- /dev/null +++ b/fastlane_bot/tools/optimizer/dcbase.py @@ -0,0 +1,45 @@ +""" +optimization library -- dataclass base module + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar + + +class DCBase: + """ + base class for all data classes, adding some useful methods + """ + + def asdict(self): + return asdict(self) + + def astuple(self): + return astuple(self) + + def fields(self): + return fields(self) + + # def pickle(self, filename, addts=True): + # """ + # pickles the object to a file + # """ + # if addts: + # filename = f"{filename}.{time.time()}.pickle" + # with open(filename, 'wb') as f: + # pickle.dump(self, f) + + # @classmethod + # def unpickle(cls, filename): + # """ + # unpickles the object from a file + # """ + # with open(filename, 'rb') as f: + # object = pickle.load(f) + # assert isinstance(object, cls), f"unpickled object is not of type {cls}" + # return object + diff --git a/fastlane_bot/tools/optimizer/margpoptimizer.py b/fastlane_bot/tools/optimizer/margpoptimizer.py new file mode 100644 index 000000000..6b384a1b2 --- /dev/null +++ b/fastlane_bot/tools/optimizer/margpoptimizer.py @@ -0,0 +1,398 @@ +""" +optimization library -- Marginal Price Optimizer module [final optimizer class] + + +The marginal price optimizer implicitly solves the optimization problem by always operating +on the optimal hyper surface, which is the surface where all marginal prices of the same +pair are equal, and all marginal prices across pairs follow the usual no arbitrage condition. +Therefore the problem reduces to a goal seek -- we need to find the point on the hyper surface +that satisfied the desired boundary conditions. + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +__VERSION__ = "5.0" +__DATE__ = "26/Jul/2023" + +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar +import pandas as pd +import numpy as np + +import time +# import math +# import numbers +# import pickle +from ..cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer +#from sys import float_info + +from .dcbase import DCBase +from .base import OptimizerBase +from .cpcarboptimizer import CPCArbOptimizer + +class MargPOptimizer(CPCArbOptimizer): + """ + implements the marginal price optimization method + """ + + @property + def kind(self): + return "margp" + + @classmethod + def jacobian(cls, func, x, *, eps=None): + """ + computes the Jacobian of func at point x + + :func: a callable x=(x1..xn) -> (y1..ym), taking and returning np.arrays + must also take a quiet parameter, which if True suppresses output + :x: a vector x=(x1..xn) as np.array + """ + if eps is None: + eps = cls.JACEPS + n = len(x) + y = func(x, quiet=True) + jac = np.zeros((n, n)) + for j in range(n): # through columns to allow for vector addition + Dxj = abs(x[j]) * eps if x[j] != 0 else eps + x_plus = [(xi if k != j else xi + Dxj) for k, xi in enumerate(x)] + jac[:, j] = (func(x_plus, quiet=True) - y) / Dxj + return jac + J = jacobian + JACEPS = 1e-5 + + + MO_DEBUG = "debug" + MO_PSTART = "pstart" + MO_P = MO_PSTART + MO_DTKNFROMPF = "dtknfrompf" + MO_MINIMAL = "minimal" + MO_FULL = "full" + + MOEPS = 1e-6 + MOMAXITER = 50 + + class OptimizationError(Exception): pass + class ConvergenceError(OptimizationError): pass + class ParameterError(OptimizationError): pass + + def margp_optimizer(self, sfc=None, result=None, *, params=None): + """ + optimal transactions across all curves in the optimizer, extracting targettkn* + + :sfc: the self financing constraint to use** + :result: the result type + :MO_DEBUG: a number of items useful for debugging + :MO_PSTART: price estimates (as dataframe) + :MO_PE: alias for MO_ESTPRICE + :MO_DTKNFROMPF: the function calculating dtokens from p + :MO_MINIMAL: minimal result (omitting some big fields) + :MO_FULL: full result + :None: alias for MO_FULL + :params: dict of parameters + :eps: precision parameter for accepting the result (default: 1e-6) + :maxiter: maximum number of iterations (default: 100) + :verbose: if True, print some high level output + :progress: if True, print some basic progress output + :debug: if True, print some debug output + :debug2: more debug output + :raiseonerror: if True, raise an OptimizationError exception on error + :pstart: starting price for optimization, either as dict {tkn:p, ...}, + or as df as price estimate as returned by MO_PSTART; + excess tokens can be provided but all required tokens must be present + + :returns: MargpOptimizerResult on the default path, others depending on the + chosen result + + *this optimizer uses the marginal price method, ie it solves the equation + + dx_i (p) = 0 for all i != targettkn, and the whole price vector + + **at the moment only the trivial self-financing constraint is allowed, ie the one that + only specifies the target token, and where all other constraints are zero; if sfc is + a string then this is interpreted as the target token + """ + # data conversion: string to SFC object; note that anything but pure arb not currently supported + if isinstance(sfc, str): + sfc = self.arb(targettkn=sfc) + assert sfc.is_arbsfc(), "only pure arbitrage SFC are supported at the moment" + targettkn = sfc.optimizationvar + + # lambdas + P = lambda item: params.get(item, None) if params is not None else None + get = lambda p, ix: p[ix] if ix is not None else 1 # safe get from tuple + dxdy_f = lambda r: (np.array(r[0:2])) # extract dx, dy from result + tn = lambda t: t.split("-")[0] # token name, eg WETH-xxxx -> WETH + + # initialisations + eps = P("eps") or self.MOEPS + maxiter = P("maxiter") or self.MOMAXITER + start_time = time.time() + curves_t = self.curve_container + alltokens_s = self.curve_container.tokens() + tokens_t = tuple(t for t in alltokens_s if t != targettkn) # all _other_ tokens... + tokens_ix = {t: i for i, t in enumerate(tokens_t)} # ...with index lookup + pairs = self.curve_container.pairs(standardize=False) + curves_by_pair = { + pair: tuple(c for c in curves_t if c.pair == pair) for pair in pairs } + pairs_t = tuple(tuple(p.split("/")) for p in pairs) + + try: + + # assertions + if len (curves_t) == 0: + raise self.ParameterError("no curves found") + if len (curves_t) == 1: + raise self.ParameterError(f"can't run arbitrage on single curve {curves_t}") + if not targettkn in alltokens_s: + raise self.ParameterError(f"targettkn {targettkn} not in {alltokens_s}") + + # calculating the start price for the iteration process + if not P("pstart") is None: + pstart = P("pstart") + if P("verbose") or P("debug"): + print(f"[margp_optimizer] using pstartd [{len(P('pstart'))} tokens]") + if isinstance(P("pstart"), pd.DataFrame): + try: + pstart = pstart.to_dict()[targettkn] + except Exception as e: + raise Exception( + f"error while converting dataframe pstart to dict: {e}", + pstart, + targettkn, + ) + assert isinstance( + pstart, dict + ), f"pstart must be a dict or a data frame [{pstart}]" + price_estimates_t = tuple(pstart[t] for t in tokens_t) + else: + if P("verbose") or P("debug"): + print("[margp_optimizer] calculating price estimates") + try: + price_estimates_t = self.price_estimates( + tknq=targettkn, + tknbs=tokens_t, + verbose=False, + triangulate=True, + ) + except Exception as e: + if P("verbose") or P("debug"): + print(f"[margp_optimizer] error while calculating price estimates: [{e}]") + price_estimates_t = None + if P("debug"): + print("[margp_optimizer] pstart:", price_estimates_t) + if result == self.MO_PSTART: + df = pd.DataFrame(price_estimates_t, index=tokens_t, columns=[targettkn]) + df.index.name = "tknb" + return df + + ## INNER FUNCTION: CALCULATE THE TARGET FUNCTION + def dtknfromp_f(p, *, islog10=True, asdct=False, quiet=False): + """ + calculates the aggregate change in token amounts for a given price vector + + :p: price vector, where prices use the reference token as quote token + this vector is an np.array, and the token order is the same as in tokens_t + :islog10: if True, p is interpreted as log10(p) + :asdct: if True, the result is returned as dict AND tuple, otherwise as np.array + :quiet: if overrides P("debug") etc, eg for calc of Jacobian + :returns: if asdct is False, a tuple of the same length as tokens_t detailing the + change in token amounts for each token except for the target token (ie the + quantity with target zero; if asdct is True, that same information is + returned as dict, including the target token. + """ + p = np.array(p, dtype=np.float64) + if islog10: + p = np.exp(p * np.log(10)) + assert len(p) == len(tokens_t), f"p and tokens_t have different lengths [{p}, {tokens_t}]" + if P("debug") and not quiet: + print(f"\n[dtknfromp_f] =====================>>>") + print(f"prices={p}") + print(f"tokens={tokens_t}") + + sum_by_tkn = {t: 0 for t in alltokens_s} + for pair, (tknb, tknq) in zip(pairs, pairs_t): + price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq)) + curves = curves_by_pair[pair] + c0 = curves[0] + dxdy = tuple(dxdy_f(c.dxdyfromp_f(price)) for c in curves) + if P("debug2") and not quiet: + print(f"\n{c0.pairp} --->>") + print(f" price={price:,.4f}, 1/price={1/price:,.4f}") + for r, c in zip(dxdy, curves): + s = f" cid={c.cid:15}" + s += f" dx={float(r[0]):15,.3f} {c.tknxp:>5}" + s += f" dy={float(r[1]):15,.3f} {c.tknyp:>5}" + s += f" p={c.p:,.2f} 1/p={1/c.p:,.2f}" + print(s) + print(f"<<--- {c0.pairp}") + + sumdx, sumdy = sum(dxdy) + sum_by_tkn[tknq] += sumdy + sum_by_tkn[tknb] += sumdx + + if P("debug") and not quiet: + print(f"pair={c0.pairp}, {sumdy:,.4f} {tn(tknq)}, {sumdx:,.4f} {tn(tknb)}, price={price:,.4f} {tn(tknq)} per {tn(tknb)} [{len(curves)} funcs]") + + result = tuple(sum_by_tkn[t] for t in tokens_t) + if P("debug") and not quiet: + print(f"sum_by_tkn={sum_by_tkn}") + print(f"result={result}") + print(f"<<<===================== [dtknfromp_f]") + + if asdct: + return sum_by_tkn, np.array(result) + + return np.array(result) + ## END INNER FUNCTION + + # return the inner function if requested + if result == self.MO_DTKNFROMPF: + return dtknfromp_f + + # return debug info if requested + if result == self.MO_DEBUG: + return dict( + # price_estimates_all = price_estimates_all, + # price_estimates_d = price_estimates_d, + price_estimates_t=price_estimates_t, + tokens_t=tokens_t, + tokens_ix=tokens_ix, + pairs=pairs, + sfc=sfc, + targettkn=targettkn, + pairs_t=pairs_t, + dtknfromp_f=dtknfromp_f, + optimizer=self, + ) + + # setting up the optimization variables (note: we optimize in log space) + if price_estimates_t is None: + raise Exception(f"price estimates not found; try setting pstart") + p = np.array(price_estimates_t, dtype=float) + plog10 = np.log10(p) + if P("verbose"): + # dtkn_d, dtkn = dtknfromp_f(plog10, islog10=True, asdct=True) + print("[margp_optimizer] pe ", p) + print("[margp_optimizer] p ", ", ".join(f"{x:,.2f}" for x in p)) + print("[margp_optimizer] 1/p ", ", ".join(f"{1/x:,.2f}" for x in p)) + # print("[margp_optimizer] dtkn", dtkn) + # if P("tknd"): + # print("[margp_optimizer] dtkn_d", dtkn_d) + + ## MAIN OPTIMIZATION LOOP + for i in range(maxiter): + + if P("progress"): + print( + f"Iteration [{i:2.0f}]: time elapsed: {time.time()-start_time:.2f}s" + ) + + # calculate the change in token amounts (also as dict if requested) + if P("tknd"): + dtkn_d, dtkn = dtknfromp_f(plog10, islog10=True, asdct=True) + else: + dtkn = dtknfromp_f(plog10, islog10=True, asdct=False) + + # calculate the Jacobian + # if P("debug"): + # print("\n[margp_optimizer] ============= JACOBIAN =============>>>") + J = self.J(dtknfromp_f, plog10) + # ATTENTION: dtknfromp_f takes log10(p) as input + if P("debug"): + # print("==== J ====>") + print("\n============= JACOBIAN =============>>>") + print(J) + # print("<=== J =====") + print("<<<============= JACOBIAN =============\n") + + # Update p, dtkn using the Newton-Raphson formula + try: + dplog10 = np.linalg.solve(J, -dtkn) + except np.linalg.LinAlgError: + if P("verbose") or P("debug"): + print("[margp_optimizer] singular Jacobian, using lstsq instead") + dplog10 = np.linalg.lstsq(J, -dtkn, rcond=None)[0] + # https://numpy.org/doc/stable/reference/generated/numpy.linalg.solve.html + # https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html + + # update log prices, prices and determine the criterium... + p0log10 = [*plog10] + plog10 += dplog10 + p = np.exp(plog10 * np.log(10)) + criterium = np.linalg.norm(dplog10) + + # ...print out some info if requested... + if P("verbose"): + print(f"\n[margp_optimizer] ========== cycle {i} =======>>>") + print("log p0", p0log10) + print("log dp", dplog10) + print("log p ", plog10) + print("p ", tuple(p)) + print("p ", ", ".join(f"{x:,.2f}" for x in p)) + print("1/p ", ", ".join(f"{1/x:,.2f}" for x in p)) + print("tokens_t", tokens_t) + # print("dtkn", dtkn) + print("dtkn", ", ".join(f"{x:,.3f}" for x in dtkn)) + print( + f"[criterium={criterium:.2e}, eps={eps:.1e}, c/e={criterium/eps:,.0e}]" + ) + if P("tknd"): + print("dtkn_d", dtkn_d) + if P("J"): + print("J", J) + print(f"<<<========== cycle {i} ======= [margp_optimizer]") + + # ...and finally check the criterium (percentage changes this step) for convergence + if criterium < eps: + if i != 0: + # we don't break in the first iteration because we need this first iteration + # to establish a common baseline price, therefore d logp ~ 0 is not good + # in the first step + break + ## END MAIN OPTIMIZATION LOOP + + if i >= maxiter - 1: + raise self.ConvergenceError(f"maximum number of iterations reached [{i}]") + + NOMR = lambda f: f if not result == self.MO_MINIMAL else None + # this function screens out certain results when MO_MINIMAL [minimal output] is chosen + dtokens_d, dtokens_t = dtknfromp_f(p, asdct=True, islog10=False) + return self.MargpOptimizerResult( + optimizer=NOMR(self), + result=dtokens_d[targettkn], + time=time.time() - start_time, + targettkn=targettkn, + curves=NOMR(curves_t), + #p_optimal=NOMR({tkn: p_ for tkn, p_ in zip(tokens_t, p)}), + p_optimal_t=tuple(p), + dtokens=NOMR(dtokens_d), + dtokens_t=tuple(dtokens_t), + tokens_t=tokens_t, + n_iterations=i, + ) + + except self.OptimizationError as e: + if P("debug") or P("verbose"): + print(f"[margp_optimizer] exception occured {e}") + + if P("raiseonerror"): + raise + + NOMR = lambda f: f if not result == self.MO_MINIMAL else None + return self.MargpOptimizerResult( + optimizer=NOMR(self), + result=None, + time=time.time() - start_time, + targettkn=targettkn, + curves=NOMR(curves_t), + #p_optimal=None, + p_optimal_t=None, + dtokens=None, + dtokens_t=None, + tokens_t=tokens_t, + n_iterations=None, + errormsg=e, + ) diff --git a/fastlane_bot/tools/optimizer/simpleoptimizer.py b/fastlane_bot/tools/optimizer/simpleoptimizer.py new file mode 100644 index 000000000..90500a278 --- /dev/null +++ b/fastlane_bot/tools/optimizer/simpleoptimizer.py @@ -0,0 +1,284 @@ +""" +optimization library -- Simple Optimizer module [final optimizer class] + + +The simple optimizer uses a marginal price method in one dimension to find the optimal +solution. It is a predecessor to the marginal price optimizer, and is kept for reference; +however, it is at this stage deprecated and will not longer be updated; use the marginal +price optimizer instead + +(c) Copyright Bprotocol foundation 2023. +Licensed under MIT + +This module is still subject to active research, and comments and suggestions are welcome. +The corresponding author is Stefan Loesch +""" +__VERSION__ = "5.0" +__DATE__ = "26/Jul/2023" + +from dataclasses import dataclass, field, fields, asdict, astuple, InitVar +#import pandas as pd +import numpy as np + +import time +# import math +# import numbers +# import pickle +from ..cpc import ConstantProductCurve as CPC, CPCInverter, CPCContainer +#from sys import float_info + +from .dcbase import DCBase +from .base import OptimizerBase +from .cpcarboptimizer import CPCArbOptimizer + +class SimpleOptimizer(CPCArbOptimizer): + """ + implements the simple (marginal price) optimization method + + NOTE: this class is now deprecated; user marginal price optimizer instead + """ + __VERSION__ = __VERSION__ + __DATE__ = __DATE__ + + @property + def kind(self): + return "simple" + + @dataclass + class SimpleOptimizerResult(OptimizerBase.OptimizerResult): + """ + results of the simple optimizer + + :curves: list of curves used in the optimization, possibly wrapped in CPCInverter objects* + :dxdyfromp_vec_f: vector of tuples (dx, dy), as a function of p + :dxdyfromp_sum_f: sum of the above, also as a function of p + :dxdyfromp_valx_f: valx = dy/p + dx, also as a function of p + :dxdyfromp_valy_f: valy = dy + p*dx/p, also as a function of p + :p_optimal: optimal p value + + *the CPCInverter object ensures that all curves in the list correspond to the same quote + conventions, according to the primary direction of the pair (as determined by the Pair + object). Accordingly, tknx and tkny are always the same for all curves in the list, regardless + of the quote direction of the pair. The CPCInverter object abstracts this away, but of course + only for functions that are accessible through it. + """ + + NONEFUNC = lambda x: None + + curves: list = field(repr=False, default=None) + dxdyfromp_vec_f: any = field(repr=False, default=NONEFUNC) + dxdyfromp_sum_f: any = field(repr=False, default=NONEFUNC) + dxdyfromp_valx_f: any = field(repr=False, default=NONEFUNC) + dxdyfromp_valy_f: any = field(repr=False, default=NONEFUNC) + p_optimal: float = field(repr=False, default=None) + errormsg: str = field(repr=True, default=None) + + def __post_init__(self, *args, **kwargs): + super().__post_init__(*args, **kwargs) + # print("[SimpleOptimizerResult] post_init") + assert ( + self.p_optimal is not None or self.errormsg is not None + ), "p_optimal must be set unless errormsg is set" + if self.method is None: + self.method = "simple" + + @property + def is_error(self): + return self.errormsg is not None + + def detailed_error(self): + return self.errormsg + + def status(self): + return "error" if self.is_error else "converged" + + def dxdyfromp_vecs_f(self, p): + """returns dx, dy as separate vectors instead as a vector of tuples""" + return tuple(zip(*self.dxdyfromp_vec_f(p))) + + @property + def tknx(self): + return self.curves[0].tknx + + @property + def tkny(self): + return self.curves[0].tkny + + @property + def tknxp(self): + return self.curves[0].tknxp + + @property + def tknyp(self): + return self.curves[0].tknyp + + @property + def pair(self): + return self.curves[0].pair + + @property + def pairp(self): + return self.curves[0].pairp + + @property + def dxdy_vecs(self): + return self.dxdyfromp_vecs_f(self.p_optimal) + + @property + def dxvalues(self): + return self.dxdy_vecs[0] + + dxv = dxvalues + + @property + def dyvalues(self): + return self.dxdy_vecs[1] + + dyv = dyvalues + + @property + def dxdy_vec(self): + return self.dxdyfromp_vec_f(self.p_optimal) + + @property + def dxdy_sum(self): + return self.dxdyfromp_sum_f(self.p_optimal) + + @property + def dxdy_valx(self): + return self.dxdyfromp_valx_f(self.p_optimal) + + valx = dxdy_valx + + @property + def dxdy_valy(self): + return self.dxdyfromp_valy_f(self.p_optimal) + + valy = dxdy_valy + + def trade_instructions(self, ti_format=None): + """returns list of TradeInstruction objects""" + result = ( + CPCArbOptimizer.TradeInstruction.new( + curve_or_cid=c, tkn1=self.tknx, amt1=dx, tkn2=self.tkny, amt2=dy + ) + for c, dx, dy in zip(self.curves, self.dxvalues, self.dyvalues) + if dx != 0 or dy != 0 + ) + assert ti_format != CPCArbOptimizer.TIF_DFAGGR, "TIF_DFAGGR not implemented for convex optimization" + assert ti_format != CPCArbOptimizer.TIF_DFPG, "TIF_DFPG not implemented for convex optimization" + return CPCArbOptimizer.TradeInstruction.to_format(result, ti_format=ti_format) + + + SO_DXDYVECFUNC = "dxdyvecfunc" + SO_DXDYSUMFUNC = "dxdysumfunc" + SO_DXDYVALXFUNC = "dxdyvalxfunc" + SO_DXDYVALYFUNC = "dxdyvalyfunc" + SO_PMAX = "pmax" + SO_GLOBALMAX = "globalmax" + SO_TARGETTKN = "targettkn" + + def simple_optimizer(self, targettkn=None, result=None, *, params=None): + """ + a simple optimizer that does not use cvxpy and the works only on curves on one pair + + :result: determines what to return + :SO_DXDYVECFUNC: function of p returning vector of dx,dy values + :SO_DXDYSUMFUNC: function of p returning sum of dx,dy values + :SO_DXDYVALXFUNC: function of p returning value of dx,dy sum in units of tknx + :SO_DXDYVALYFUNC: ditto tkny + :SO_PMAX: optimal p value for global max + :SO_GLOBALMAX: global max of sum dx*p + dy + :SO_TARGETTKN: optimizes for one token, the other is zero + :targettkn: token to optimize for (if result==SO_TARGETTKN); must be None if + result==SO_GLOBALMAX; result defaults to the corresponding value + depending on whether or not targettkn is None + :params: dict of parameters (not currently used) + """ + start_time = time.time() + curves_t = CPCInverter.wrap(self.curve_container) + assert len(curves_t) > 0, "no curves found" + c0 = curves_t[0] + pairs = set(c.pair for c in curves_t) + assert len(pairs) != 0, f"no pairs found, probably empty curves [{curves_t}]" + assert (len(pairs) == 1), f"simple_optimizer only works on curves of one pair [{pairs}]" + assert not (targettkn is None and result == self.SO_TARGETTKN), "targettkn must be set if result==SO_TARGETTKN" + assert not (targettkn is not None and result == self.SO_GLOBALMAX), f"targettkn must be None if result==SO_GLOBALMAX {targettkn}" + + dxdy = lambda r: (np.array(r[0:2])) + + dxdyfromp_vec_f = lambda p: tuple(dxdy(c.dxdyfromp_f(p)) for c in curves_t) + if result == self.SO_DXDYVECFUNC: + return dxdyfromp_vec_f + + dxdyfromp_sum_f = lambda p: sum(dxdy(c.dxdyfromp_f(p)) for c in curves_t) + if result == self.SO_DXDYSUMFUNC: + return dxdyfromp_sum_f + + dxdyfromp_valy_f = lambda p: np.dot(dxdyfromp_sum_f(p), np.array([p, 1])) + if result == self.SO_DXDYVALYFUNC: + return dxdyfromp_valy_f + + dxdyfromp_valx_f = lambda p: dxdyfromp_valy_f(p) / p + if result == self.SO_DXDYVALXFUNC: + return dxdyfromp_valx_f + + if result is None: + if targettkn is None: + result = self.SO_GLOBALMAX + else: + result = self.SO_TARGETTKN + + if not result == self.SO_TARGETTKN: + p_avg = np.mean([c.p for c in curves_t]) + p_optimal = self.findmax(dxdyfromp_valx_f, p_avg) + opt_result = dxdyfromp_valx_f(float(p_optimal)) + if result == self.SO_PMAX: + return p_optimal + elif result != self.SO_GLOBALMAX: + raise ValueError(f"unknown result type {result}") + method = "simple-globalmax" + else: + p_min = np.min([c.p for c in curves_t]) + p_max = np.max([c.p for c in curves_t]) + assert targettkn in { + c0.tknx, + c0.tkny, + }, f"targettkn {targettkn} not in {c0.tknx}, {c0.tkny}" + # we are now running a goalseek == 0 on the token that is NOT the target token + if targettkn == c0.tknx: + func = lambda p: dxdyfromp_sum_f(p)[1] + p_optimal = self.goalseek(func, p_min * 0.99, p_max * 1.01) + opt_result = dxdyfromp_sum_f(float(p_optimal))[0] + else: + func = lambda p: dxdyfromp_sum_f(p)[0] + p_optimal = self.goalseek(func, p_min * 0.99, p_max * 1.01) + opt_result = dxdyfromp_sum_f(float(p_optimal))[1] + method = "simple-targettkn" + + if p_optimal.is_error: + return self.SimpleOptimizerResult( + result=None, + time=time.time() - start_time, + curves=curves_t, + dxdyfromp_vec_f=dxdyfromp_vec_f, + dxdyfromp_sum_f=dxdyfromp_sum_f, + dxdyfromp_valx_f=dxdyfromp_valx_f, + dxdyfromp_valy_f=dxdyfromp_valy_f, + p_optimal=None, + errormsg=p_optimal.errormsg, + method=method, + optimizer=self, + ) + return self.SimpleOptimizerResult( + result=opt_result, + time=time.time() - start_time, + curves=curves_t, + dxdyfromp_vec_f=dxdyfromp_vec_f, + dxdyfromp_sum_f=dxdyfromp_sum_f, + dxdyfromp_valx_f=dxdyfromp_valx_f, + dxdyfromp_valy_f=dxdyfromp_valy_f, + p_optimal=float(p_optimal), + method=method, + optimizer=self, + ) diff --git a/fastlane_bot/tools/simplepair.py b/fastlane_bot/tools/simplepair.py index d17695004..1ee02ce64 100644 --- a/fastlane_bot/tools/simplepair.py +++ b/fastlane_bot/tools/simplepair.py @@ -4,8 +4,8 @@ (c) Copyright Bprotocol foundation 2023. Licensed under MIT """ -__VERSION__ = "2.0" -__DATE__ = "5/May/2023" +__VERSION__ = "2.1" +__DATE__ = "18/May/2023" from dataclasses import dataclass, field, asdict, InitVar @@ -93,6 +93,7 @@ def tkny(self): "USDN", "USDP", "USDQ", + "BNT", "ETH", "WETH", "WBTC", diff --git a/resources/NBTest/NBTest_002_CPCandOptimizer.ipynb b/resources/NBTest/NBTest_002_CPCandOptimizer.ipynb index 7326fdae2..f418e9ae3 100644 --- a/resources/NBTest/NBTest_002_CPCandOptimizer.ipynb +++ b/resources/NBTest/NBTest_002_CPCandOptimizer.ipynb @@ -2,41 +2,34 @@ "cells": [ { "cell_type": "code", - "execution_count": 68, - "id": "cc40bc23-abde-4094-abec-419f0a7fa81e", + "execution_count": 1, + "id": "a448e212", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "SimplePair v2.0 (5/May/2023)\n", - "ConstantProductCurve v2.10.1 (07/May/2023)\n", - "CPCArbOptimizer v3.6 (06/May/2023)\n", + "SimplePair v2.1 (18/May/2023)\n", + "ConstantProductCurve v2.14 (23/May/2023)\n", + "CPCArbOptimizer v5.0 (26/Jul/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", "Version = 3-b2.2 [requirements >= 3.0 is met]\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2572/3422835745.py:11: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
WETH
tknb
LINK0.0025
MKR0.2500
AAVE0.0500
WBTC10.0000
USDC0.0005
\n", - "" - ], - "text/plain": [ - " WETH\n", - "tknb \n", - "LINK 0.0025\n", - "MKR 0.2500\n", - "AAVE 0.0500\n", - "WBTC 10.0000\n", - "USDC 0.0005" - ] - }, - "execution_count": 111, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "O = CPCArbOptimizer(CCfm)\n", + "O = MargPOptimizer(CCfm)\n", "assert O.MO_PSTART == O.MO_P\n", "tknq = \"WETH\"\n", "df = O.margp_optimizer(tknq, result=O.MO_PSTART)\n", @@ -1046,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "8a3ad132-3561-478a-8a0f-359456129157", + "id": "e7b4d357", "metadata": {}, "source": [ "## Assertions and testing" @@ -1054,18 +1005,10 @@ }, { "cell_type": "code", - "execution_count": 112, - "id": "62e862d3-c3a9-4be1-9417-4c0ba5a747a2", + "execution_count": null, + "id": "50f23286", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "None\n" - ] - } - ], + "outputs": [], "source": [ "c = CPC.from_px(p=2000,x=10, pair=\"ETH/USDC\")\n", "assert c.pair == \"ETH/USDC\"\n", @@ -1079,8 +1022,8 @@ }, { "cell_type": "code", - "execution_count": 113, - "id": "995f92a6-234b-4c3c-a19b-e08b81911e42", + "execution_count": null, + "id": "e5055bae", "metadata": {}, "outputs": [], "source": [ @@ -1095,29 +1038,18 @@ }, { "cell_type": "code", - "execution_count": 114, - "id": "64f10130-a8db-4275-8221-5b137ad35e33", + "execution_count": null, + "id": "44d0d4fc", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "ConstantProductCurve(k=200, x=10, x_act=10, y_act=20.0, pair='TKNB/TKNQ', cid=None, fee=None, descr=None, constr='xy', params={})" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "c" ] }, { "cell_type": "code", - "execution_count": 115, - "id": "c43fcf25-1ece-4781-9a74-6c33e5401663", + "execution_count": null, + "id": "70ff3f6d", "metadata": {}, "outputs": [], "source": [ @@ -1131,8 +1063,8 @@ }, { "cell_type": "code", - "execution_count": 116, - "id": "98e31562-6fdc-4ab3-864e-215360b4793e", + "execution_count": null, + "id": "0d80accd", "metadata": {}, "outputs": [], "source": [ @@ -1155,8 +1087,8 @@ }, { "cell_type": "code", - "execution_count": 117, - "id": "203a97ff-9590-4d4c-b2fe-fa6d32a50e74", + "execution_count": null, + "id": "fc2a5765", "metadata": {}, "outputs": [], "source": [ @@ -1169,8 +1101,8 @@ }, { "cell_type": "code", - "execution_count": 118, - "id": "1aef1862", + "execution_count": null, + "id": "fe5854de", "metadata": {}, "outputs": [], "source": [ @@ -1183,7 +1115,7 @@ }, { "cell_type": "markdown", - "id": "144c35ee-a90c-4e84-908f-80bb40f8646b", + "id": "4c315ebe", "metadata": {}, "source": [ "## iseq" @@ -1191,8 +1123,8 @@ }, { "cell_type": "code", - "execution_count": 119, - "id": "296f2f37-f1c9-4ecf-82d7-fb86d9871c94", + "execution_count": null, + "id": "cb146f71", "metadata": {}, "outputs": [], "source": [ @@ -1210,7 +1142,7 @@ }, { "cell_type": "markdown", - "id": "d714ef31-80b1-4822-a004-cfe10c88f391", + "id": "019abafe", "metadata": {}, "source": [ "## New CPC features in v2" @@ -1218,8 +1150,8 @@ }, { "cell_type": "code", - "execution_count": 120, - "id": "d740b68f-c9b1-48e4-9dd5-d5cce4cf6d29", + "execution_count": null, + "id": "6611a642", "metadata": {}, "outputs": [], "source": [ @@ -1240,8 +1172,8 @@ }, { "cell_type": "code", - "execution_count": 121, - "id": "e53c1601-0a25-4d27-882a-ed39324937c9", + "execution_count": null, + "id": "3ea36c28", "metadata": {}, "outputs": [], "source": [ @@ -1254,8 +1186,8 @@ }, { "cell_type": "code", - "execution_count": 122, - "id": "cc3ef889-d1fc-447c-b888-f26e2db3cdf0", + "execution_count": null, + "id": "e73018ea", "metadata": {}, "outputs": [], "source": [ @@ -1276,8 +1208,8 @@ }, { "cell_type": "code", - "execution_count": 123, - "id": "4712130e-aa86-4de2-9549-deadfd9e48a9", + "execution_count": null, + "id": "abde4984", "metadata": {}, "outputs": [], "source": [ @@ -1300,8 +1232,8 @@ }, { "cell_type": "code", - "execution_count": 124, - "id": "c7a8a1e7-3437-4c08-a9d5-fc962413ef35", + "execution_count": null, + "id": "d24627fa", "metadata": {}, "outputs": [], "source": [ @@ -1316,7 +1248,7 @@ }, { "cell_type": "markdown", - "id": "d124a181-1a00-4b7e-927b-a43798fdda01", + "id": "da2d6916", "metadata": {}, "source": [ "## Real data and retrieval of curves" @@ -1324,28 +1256,18 @@ }, { "cell_type": "code", - "execution_count": 125, - "id": "6c3217ab-ff79-45d4-9ea2-e314a782018a", + "execution_count": null, + "id": "6b46e9c5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Num curves: 459\n", - "Num pairs: 326\n", - "Num tokens: 141\n" - ] - } - ], + "outputs": [], "source": [ - "try:\n", - " df = pd.read_csv(\"../nbtest_data/NBTEST_002_Curves.csv.gz\")\n", - "except:\n", - " df = pd.read_csv(\"fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz\")\n", - "CC = CPCContainer.from_df(df)\n", + "# try:\n", + "# df = pd.read_csv(\"../nbtest_data/NBTEST_002_Curves.csv.gz\")\n", + "# except:\n", + "# df = pd.read_csv(\"fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz\")\n", + "CC = CPCContainer.from_df(market_df)\n", "assert len(CC) == 459\n", - "assert len(CC) == len(df)\n", + "assert len(CC) == len(market_df)\n", "assert len(CC.pairs()) == 326\n", "assert len(CC.tokens()) == 141\n", "assert CC.tokens_s\n", @@ -1358,8 +1280,8 @@ }, { "cell_type": "code", - "execution_count": 126, - "id": "847858b9-cd03-4c47-8cc7-6b03197361af", + "execution_count": null, + "id": "45cac036", "metadata": {}, "outputs": [], "source": [ @@ -1371,7 +1293,7 @@ "cids = [c.cid for c in CC.bypairs(CC.fp(onein=\"WBTC\"))]\n", "assert len(cids) == len(CC1)\n", "assert CC.bycid(\"bla\") is None\n", - "assert not CC.bycid(191) is None\n", + "assert not CC.bycid(\"191\") is None\n", "assert raises(CC.bycids, [\"bla\"])\n", "assert len(CC.bycids(cids)) == len(cids)\n", "assert len(CC.bytknx(\"WETH\")) == 46\n", @@ -1388,26 +1310,10 @@ }, { "cell_type": "code", - "execution_count": 127, - "id": "6f7ba5cb-b622-4c95-a28d-b14a94cd80dd", + "execution_count": null, + "id": "d2619e0a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'LINK': TTE(x=[2, 3, 5, 6], y=[]),\n", - " 'BNT': TTE(x=[0], y=[]),\n", - " 'AAVE': TTE(x=[7], y=[8]),\n", - " 'USDC': TTE(x=[], y=[1, 2, 4, 5, 7]),\n", - " 'ETH': TTE(x=[], y=[0]),\n", - " 'DAI': TTE(x=[1, 4, 8], y=[3, 6])}" - ] - }, - "execution_count": 127, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "CC2 = CC.bypairs(CC.fp(bothin=\"USDC, DAI, BNT, SHIB, ETH, AAVE, LINK\"), ascc=True)\n", "tt = CC2.tokentable()\n", @@ -1420,8 +1326,8 @@ }, { "cell_type": "code", - "execution_count": 128, - "id": "306765a9-831f-4c9a-a744-f77dde76319a", + "execution_count": null, + "id": "c12f7530", "metadata": {}, "outputs": [], "source": [ @@ -1435,7 +1341,7 @@ }, { "cell_type": "markdown", - "id": "0ab3291a-4cb6-4eec-9e49-9ed6f66af8fd", + "id": "a16f8524", "metadata": {}, "source": [ "## TokenScale tests [NOTEST]" @@ -1443,8 +1349,8 @@ }, { "cell_type": "code", - "execution_count": 129, - "id": "b47cc367-87b7-446b-9d77-bef98d466d2f", + "execution_count": null, + "id": "b093eb92", "metadata": {}, "outputs": [], "source": [ @@ -1453,8 +1359,8 @@ }, { "cell_type": "code", - "execution_count": 130, - "id": "94cccc37-4ff3-48b8-8c93-35a1a7e54e4e", + "execution_count": null, + "id": "ad56665e", "metadata": {}, "outputs": [], "source": [ @@ -1465,8 +1371,8 @@ }, { "cell_type": "code", - "execution_count": 131, - "id": "4ecbab8f-d3c7-4b87-b5d7-e9fd2c1696bb", + "execution_count": null, + "id": "15788980", "metadata": {}, "outputs": [], "source": [ @@ -1476,8 +1382,8 @@ }, { "cell_type": "code", - "execution_count": 132, - "id": "4aca841e-1f12-4e03-a69c-4a4cd93a04b7", + "execution_count": null, + "id": "31f10328", "metadata": {}, "outputs": [], "source": [ @@ -1489,8 +1395,8 @@ }, { "cell_type": "code", - "execution_count": 133, - "id": "2b3bb6c6-e6a2-4ee4-b7f8-e9a20b90db74", + "execution_count": null, + "id": "9c1d3e0c", "metadata": {}, "outputs": [], "source": [ @@ -1499,8 +1405,8 @@ }, { "cell_type": "code", - "execution_count": 134, - "id": "f114c5b4-4368-4aab-a989-7e7622c2e21d", + "execution_count": null, + "id": "7d12770e", "metadata": {}, "outputs": [], "source": [ @@ -1510,8 +1416,8 @@ }, { "cell_type": "code", - "execution_count": 135, - "id": "a2fe0e43-627c-4234-969b-8b0df4e39e27", + "execution_count": null, + "id": "04cbcfd1", "metadata": {}, "outputs": [], "source": [ @@ -1531,8 +1437,8 @@ }, { "cell_type": "code", - "execution_count": 136, - "id": "1af7425f-c11e-4184-b47a-ce166b871d67", + "execution_count": null, + "id": "be4e0214", "metadata": {}, "outputs": [], "source": [ @@ -1554,7 +1460,7 @@ }, { "cell_type": "markdown", - "id": "a2f22c81-69d4-4955-bf18-2c1d31f51900", + "id": "24dc60c2", "metadata": {}, "source": [ "## dx_min and dx_max etc" @@ -1562,8 +1468,8 @@ }, { "cell_type": "code", - "execution_count": 137, - "id": "68b0a1b3-1778-4c78-9c1c-af044e36389c", + "execution_count": null, + "id": "7f67f2da", "metadata": {}, "outputs": [], "source": [ @@ -1578,7 +1484,7 @@ }, { "cell_type": "markdown", - "id": "10bae6ef-661e-481d-99b8-09b7db1d86c1", + "id": "2bf8c628", "metadata": {}, "source": [ "## xyfromp_f and dxdyfromp_f" @@ -1586,8 +1492,8 @@ }, { "cell_type": "code", - "execution_count": 138, - "id": "db6c4f98-ef82-4bb6-b826-780454d240be", + "execution_count": null, + "id": "03080821", "metadata": {}, "outputs": [], "source": [ @@ -1638,8 +1544,8 @@ }, { "cell_type": "code", - "execution_count": 139, - "id": "5ba5f10f-d8b2-4941-be14-befe1b758afc", + "execution_count": null, + "id": "6f488b21", "metadata": {}, "outputs": [], "source": [ @@ -1685,7 +1591,7 @@ }, { "cell_type": "markdown", - "id": "dbf81149-204c-45e8-8051-8ac8b6128773", + "id": "1b50a1a4", "metadata": {}, "source": [ "## CPCInverter" @@ -1693,8 +1599,8 @@ }, { "cell_type": "code", - "execution_count": 140, - "id": "eab9ad99-c582-47a0-bc53-4d3ee60106f1", + "execution_count": null, + "id": "3ef6d6d7", "metadata": {}, "outputs": [], "source": [ @@ -1709,8 +1615,8 @@ }, { "cell_type": "code", - "execution_count": 141, - "id": "1e8a2542-586a-4e76-b3d1-14e0d9315e3c", + "execution_count": null, + "id": "f92dc34e", "metadata": {}, "outputs": [], "source": [ @@ -1730,8 +1636,8 @@ }, { "cell_type": "code", - "execution_count": 142, - "id": "2ab158e0-adbc-40d0-a159-67839b1a1145", + "execution_count": null, + "id": "ca485113", "metadata": {}, "outputs": [], "source": [ @@ -1744,8 +1650,8 @@ }, { "cell_type": "code", - "execution_count": 143, - "id": "7689c9e2-92b7-4af3-a54d-dab909758eb0", + "execution_count": null, + "id": "68861100", "metadata": { "lines_to_next_cell": 2 }, @@ -1777,8 +1683,8 @@ }, { "cell_type": "code", - "execution_count": 144, - "id": "0b353e51-60b0-4806-b842-1bc647aebd41", + "execution_count": null, + "id": "65156f9c", "metadata": {}, "outputs": [], "source": [ @@ -1807,8 +1713,8 @@ }, { "cell_type": "code", - "execution_count": 145, - "id": "c19d81b1", + "execution_count": null, + "id": "b530bfd2", "metadata": {}, "outputs": [], "source": [ @@ -1822,8 +1728,8 @@ }, { "cell_type": "code", - "execution_count": 146, - "id": "61076a28-62f0-492f-9800-5abfb326c25b", + "execution_count": null, + "id": "0b7050fc", "metadata": { "lines_to_next_cell": 2 }, @@ -1848,7 +1754,7 @@ }, { "cell_type": "markdown", - "id": "e044a237-9723-461e-8fd6-23e27c7666fd", + "id": "bcf11bc1", "metadata": {}, "source": [ "## simple_optimizer" @@ -1856,8 +1762,8 @@ }, { "cell_type": "code", - "execution_count": 147, - "id": "d94a2af2-667b-4e04-ac2c-40ad91e94f77", + "execution_count": null, + "id": "bb2ae437", "metadata": {}, "outputs": [], "source": [ @@ -1873,13 +1779,13 @@ }, { "cell_type": "code", - "execution_count": 148, - "id": "27902e19-bc90-4f42-a2a7-cdc40017e829", + "execution_count": null, + "id": "af0421b3", "metadata": {}, "outputs": [], "source": [ - "O = CPCArbOptimizer(CC)\n", - "O0 = CPCArbOptimizer(CC0)\n", + "O = SimpleOptimizer(CC)\n", + "O0 = SimpleOptimizer(CC0)\n", "func = O.simple_optimizer(result=O.SO_DXDYVECFUNC)\n", "func0 = O0.simple_optimizer(result=O.SO_DXDYVECFUNC)\n", "funcs = O.simple_optimizer(result=O.SO_DXDYSUMFUNC)\n", @@ -1911,28 +1817,17 @@ }, { "cell_type": "code", - "execution_count": 149, - "id": "f38807ad-9b98-44be-9c1d-dc099f44f60f", + "execution_count": null, + "id": "c708e8f8", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OptimizerBase.SimpleResult(result=2049.881086733136, method='findminmax_nr', errormsg=None, context_dct=None)" - ] - }, - "execution_count": 149, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "O.simple_optimizer(result=O.SO_PMAX)" ] }, { "cell_type": "markdown", - "id": "f3f978ea-f4d6-4ff3-b64b-becf7cb26f3f", + "id": "8166cd85", "metadata": {}, "source": [ "### global max" @@ -1940,8 +1835,8 @@ }, { "cell_type": "code", - "execution_count": 150, - "id": "47b2d3b3-fd18-4518-b932-6477ad2a2713", + "execution_count": null, + "id": "e07a7189", "metadata": {}, "outputs": [], "source": [ @@ -1961,8 +1856,8 @@ }, { "cell_type": "code", - "execution_count": 151, - "id": "e7b74a3d-423b-40ba-9f03-b294b7eb0fef", + "execution_count": null, + "id": "8f2a15f7", "metadata": {}, "outputs": [], "source": [ @@ -1978,7 +1873,7 @@ }, { "cell_type": "markdown", - "id": "d1ae97e8-da5f-4c51-9104-b547ea519e0c", + "id": "ff7dba0f", "metadata": {}, "source": [ "### target token" @@ -1986,8 +1881,8 @@ }, { "cell_type": "code", - "execution_count": 152, - "id": "1c613989-fedf-4bf6-816e-198a31f8377d", + "execution_count": null, + "id": "12962eef", "metadata": {}, "outputs": [], "source": [ @@ -2003,8 +1898,8 @@ }, { "cell_type": "code", - "execution_count": 153, - "id": "a4a7c75e-2115-4fb5-966f-d112a5d8f844", + "execution_count": null, + "id": "e65d8ea6", "metadata": {}, "outputs": [], "source": [ @@ -2016,7 +1911,7 @@ }, { "cell_type": "markdown", - "id": "cbff1f21-4071-4aea-b8b7-70246ed788f8", + "id": "ee1c932b", "metadata": {}, "source": [ "## optimizer plus inverted curves" @@ -2024,8 +1919,8 @@ }, { "cell_type": "code", - "execution_count": 154, - "id": "5ec2a0d3-88a2-4bdc-ba9e-e79baf259127", + "execution_count": null, + "id": "4ecd90f9", "metadata": {}, "outputs": [], "source": [ @@ -2039,8 +1934,8 @@ }, { "cell_type": "code", - "execution_count": 155, - "id": "a45d6b01-16be-4530-a49f-7d1e768b68a3", + "execution_count": null, + "id": "c601265a", "metadata": {}, "outputs": [], "source": [ @@ -2049,20 +1944,12 @@ }, { "cell_type": "code", - "execution_count": 156, - "id": "c1f0f1c0-df0e-4ef1-a45b-07bfd83ca257", + "execution_count": null, + "id": "36a68baa", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Arbitrage gains: 1.3195 WETH [time=0.0215s]\n" - ] - } - ], + "outputs": [], "source": [ - "O = CPCArbOptimizer(CC)\n", + "O = SimpleOptimizer(CC)\n", "r = O.simple_optimizer()\n", "print(f\"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]\")\n", "assert iseq(r.result, -1.3194573866437527)" @@ -2070,8 +1957,8 @@ }, { "cell_type": "code", - "execution_count": 157, - "id": "a2a49469-0646-4c07-87e5-295228f26847", + "execution_count": null, + "id": "d1e3c887", "metadata": {}, "outputs": [], "source": [ @@ -2082,8 +1969,8 @@ }, { "cell_type": "code", - "execution_count": 158, - "id": "9361a460-3af5-48bb-af91-f389286a8d40", + "execution_count": null, + "id": "d4c16352", "metadata": {}, "outputs": [], "source": [ @@ -2093,7 +1980,7 @@ }, { "cell_type": "markdown", - "id": "32c5ed4c-86c6-4a92-aa66-969d67528fb5", + "id": "9caa5204", "metadata": {}, "source": [ "## posx and negx" @@ -2101,8 +1988,8 @@ }, { "cell_type": "code", - "execution_count": 159, - "id": "c1734f7b-7657-4c2b-8c5a-b8327b38823c", + "execution_count": null, + "id": "34ede208", "metadata": {}, "outputs": [], "source": [ @@ -2112,8 +1999,8 @@ }, { "cell_type": "code", - "execution_count": 160, - "id": "c270a822-fc80-4ebc-ad80-6be0bbd695ac", + "execution_count": null, + "id": "8fe3f69a", "metadata": {}, "outputs": [], "source": [ @@ -2127,8 +2014,8 @@ }, { "cell_type": "code", - "execution_count": 161, - "id": "0bd88148-e19b-4120-8c37-001a0140f8bc", + "execution_count": null, + "id": "3d1f06a7", "metadata": {}, "outputs": [], "source": [ @@ -2138,7 +2025,7 @@ }, { "cell_type": "markdown", - "id": "f81766fd-f3fe-4036-9325-1b6c8713403a", + "id": "90cb3696", "metadata": {}, "source": [ "## TradeInstructions" @@ -2146,8 +2033,8 @@ }, { "cell_type": "code", - "execution_count": 162, - "id": "9d1a955f-4c56-4880-b810-a3fc39fbd8a1", + "execution_count": null, + "id": "375eec3d", "metadata": {}, "outputs": [], "source": [ @@ -2156,18 +2043,10 @@ }, { "cell_type": "code", - "execution_count": 163, - "id": "c47c2351-0acf-49e2-8f1c-39c12fe16f4e", + "execution_count": null, + "id": "eff49534", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "cid=1, out=-2000.0 USDC, , out=1.0 ETH\n" - ] - } - ], + "outputs": [], "source": [ "ti = TI.new(curve_or_cid=\"1\", tkn1=\"ETH\", amt1=1, tkn2=\"USDC\", amt2=-2000)\n", "print(f\"cid={ti.cid}, out={ti.amtout} {ti.tknout}, , out={ti.amtin} {ti.tknin}\")\n", @@ -2185,8 +2064,8 @@ }, { "cell_type": "code", - "execution_count": 164, - "id": "75bc1ef2-344c-4bb9-9f4e-2f69935c421e", + "execution_count": null, + "id": "bf6632e7", "metadata": {}, "outputs": [], "source": [ @@ -2206,8 +2085,8 @@ }, { "cell_type": "code", - "execution_count": 165, - "id": "55b6589d-60d9-4452-aa74-f59904881cd9", + "execution_count": null, + "id": "8294a2a9", "metadata": { "lines_to_next_cell": 2 }, @@ -2229,8 +2108,8 @@ }, { "cell_type": "code", - "execution_count": 166, - "id": "77572054-db53-4bd6-9252-5c126582ddb6", + "execution_count": null, + "id": "d6c001fd", "metadata": {}, "outputs": [], "source": [ @@ -2239,7 +2118,7 @@ " for i in range(10)\n", "]\n", "tild = TI.to_dicts(til)\n", - "tildf = TI.to_df(til)\n", + "tildf = TI.to_df(til, robj=None)\n", "assert len(tild) == 10\n", "assert len(tildf) == 10\n", "assert tild[0] == {\n", @@ -2261,196 +2140,27 @@ }, { "cell_type": "code", - "execution_count": 167, - "id": "bf0c77b4-5e46-48ca-931f-59eb7b000172", + "execution_count": null, + "id": "0419e520", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'cid': '1',\n", - " 'tknin': 'ETH',\n", - " 'amtin': 1.0,\n", - " 'tknout': 'USDC',\n", - " 'amtout': -2000.0,\n", - " 'error': None}" - ] - }, - "execution_count": 167, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "tild[0]" ] }, { "cell_type": "code", - "execution_count": 168, - "id": "95de1850-624d-410a-98a5-46a9f6139040", + "execution_count": null, + "id": "2eec3c2c", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pairpairptknintknoutETHUSDC
cid
1ETHUSDC1.00-2000.0
2ETHUSDC1.01-2020.0
3ETHUSDC1.02-2040.0
4ETHUSDC1.03-2060.0
5ETHUSDC1.04-2080.0
6ETHUSDC1.05-2100.0
7ETHUSDC1.06-2120.0
8ETHUSDC1.07-2140.0
9ETHUSDC1.08-2160.0
10ETHUSDC1.09-2180.0
\n", - "
" - ], - "text/plain": [ - " pair pairp tknin tknout ETH USDC\n", - "cid \n", - "1 ETH USDC 1.00 -2000.0\n", - "2 ETH USDC 1.01 -2020.0\n", - "3 ETH USDC 1.02 -2040.0\n", - "4 ETH USDC 1.03 -2060.0\n", - "5 ETH USDC 1.04 -2080.0\n", - "6 ETH USDC 1.05 -2100.0\n", - "7 ETH USDC 1.06 -2120.0\n", - "8 ETH USDC 1.07 -2140.0\n", - "9 ETH USDC 1.08 -2160.0\n", - "10 ETH USDC 1.09 -2180.0" - ] - }, - "execution_count": 168, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "tildf" ] }, { "cell_type": "markdown", - "id": "5b9301d1-99f3-405e-a042-f3e84b8cc853", + "id": "232342ea", "metadata": {}, "source": [ "## margp_optimizer" @@ -2458,7 +2168,7 @@ }, { "cell_type": "markdown", - "id": "52d7c29c-cea6-4b3f-a635-cb5ec6e1ba1e", + "id": "5a2ee1e0", "metadata": {}, "source": [ "### no arbitrage possible" @@ -2466,8 +2176,8 @@ }, { "cell_type": "code", - "execution_count": 169, - "id": "e2d1a07c-6acf-42e3-b93d-a5fb66aa9363", + "execution_count": null, + "id": "9a2f0b78", "metadata": {}, "outputs": [], "source": [ @@ -2475,13 +2185,13 @@ "CCa += CPC.from_pk(pair=\"WETH/USDC\", p=2000, k=10*20000, cid=\"c0\")\n", "CCa += CPC.from_pk(pair=\"WETH/USDT\", p=2000, k=10*20000, cid=\"c1\")\n", "CCa += CPC.from_pk(pair=\"USDC/USDT\", p=1.0, k=200000*200000, cid=\"c2\")\n", - "O = CPCArbOptimizer(CCa)" + "O = MargPOptimizer(CCa)" ] }, { "cell_type": "code", - "execution_count": 170, - "id": "95d80905-b5a1-4157-9e95-f1989f35dd68", + "execution_count": null, + "id": "0220671a", "metadata": {}, "outputs": [], "source": [ @@ -2500,68 +2210,30 @@ }, { "cell_type": "code", - "execution_count": 171, - "id": "c33d0c3b-7ed5-4776-8ffc-b921c74b1c7f", + "execution_count": null, + "id": "3a8e543a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'price_estimates_t': array([0.0005, 0.0005]),\n", - " 'tokens_t': ('USDC', 'USDT'),\n", - " 'tokens_ix': {'USDC': 0, 'USDT': 1},\n", - " 'pairs': {'USDC/USDT', 'WETH/USDC', 'WETH/USDT'},\n", - " 'sfc': CPCArbOptimizer.SelfFinancingConstraints(data={'WETH': 'OptimizationVar'}, tokens={'WETH'}),\n", - " 'targettkn': 'WETH',\n", - " 'pairs_t': (('USDC', 'USDT'), ('WETH', 'USDT'), ('WETH', 'USDC')),\n", - " 'dtknfromp_f': .dtknfromp_f(p, *, islog10=True, asdct=False)>,\n", - " 'optimizer': }" - ] - }, - "execution_count": 171, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "r" ] }, { "cell_type": "code", - "execution_count": 172, - "id": "0903b6b4-9987-4715-827f-8986806b30bf", + "execution_count": null, + "id": "f6c8c50f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.0005, 0.0005])" - ] - }, - "execution_count": 172, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "prices0" ] }, { "cell_type": "code", - "execution_count": 173, - "id": "7a95208f-5322-4c25-b064-f58347810b51", + "execution_count": null, + "id": "7c3e3839", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[margp_optimizer] calculating price estimates\n" - ] - } - ], + "outputs": [], "source": [ "f = O.margp_optimizer(\"WETH\", result=O.MO_DTKNFROMPF, params=dict(verbose=True, debug=False))\n", "r3 = f(prices0, islog10=False)\n", @@ -2575,45 +2247,10 @@ }, { "cell_type": "code", - "execution_count": 174, - "id": "43544b41-c57c-4e79-b819-4bb43cd3538c", + "execution_count": null, + "id": "c45ebfaa", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[margp_optimizer] calculating price estimates\n", - "[margp_optimizer] pe [0.0005 0.0005]\n", - "[margp_optimizer] p 0.00, 0.00\n", - "[margp_optimizer] 1/p 2,000.00, 2,000.00\n", - "\n", - "[margp_optimizer] ========== cycle 0 =======>>>\n", - "log p0 [-3.3010299956639813, -3.3010299956639813]\n", - "log dp [3.1611697e-16 3.1611697e-16]\n", - "log p [-3.30103 -3.30103]\n", - "p (0.0005000000000000001, 0.0005000000000000001)\n", - "p 0.00, 0.00\n", - "1/p 2,000.00, 2,000.00\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn 0.000, 0.000\n", - "[criterium=4.47e-16, eps=1.0e-06, c/e=4e-10]\n", - "<<<========== cycle 0 ======= [margp_optimizer]\n", - "\n", - "[margp_optimizer] ========== cycle 1 =======>>>\n", - "log p0 [-3.301029995663981, -3.301029995663981]\n", - "log dp [-1.58058485e-16 -1.58058485e-16]\n", - "log p [-3.30103 -3.30103]\n", - "p (0.0005000000000000001, 0.0005000000000000001)\n", - "p 0.00, 0.00\n", - "1/p 2,000.00, 2,000.00\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn -0.000, -0.000\n", - "[criterium=2.24e-16, eps=1.0e-06, c/e=2e-10]\n", - "<<<========== cycle 1 ======= [margp_optimizer]\n" - ] - } - ], + "outputs": [], "source": [ "r = O.margp_optimizer(\"WETH\", result=O.MO_MINIMAL, params=dict(verbose=True))\n", "rd = r.asdict\n", @@ -2624,7 +2261,7 @@ "assert r.targettkn == \"WETH\"\n", "assert r.dtokens is None\n", "assert sum(abs(x) for x in r.dtokens_t) < 1e-10\n", - "assert r.p_optimal is None\n", + "assert not r.p_optimal is None\n", "assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1])\n", "assert set(r.tokens_t) == {'USDC', 'USDT'}\n", "assert r.errormsg is None\n", @@ -2635,8 +2272,8 @@ }, { "cell_type": "code", - "execution_count": 175, - "id": "1bb345bd-dcaa-4915-8dd0-af7a7ee5945a", + "execution_count": null, + "id": "551b9b36", "metadata": {}, "outputs": [], "source": [ @@ -2660,7 +2297,7 @@ "assert sum(abs(x) for x in r.dtokens_t) < 1e-10\n", "assert iseq(0.0005, r.p_optimal[\"USDC\"], r.p_optimal[\"USDT\"])\n", "assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1])\n", - "assert tuple(r.p_optimal.values()) == r.p_optimal_t\n", + "assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t\n", "assert set(r.tokens_t) == set(('USDC', 'USDT'))\n", "assert r.errormsg is None\n", "assert r.is_error == False\n", @@ -2670,7 +2307,7 @@ }, { "cell_type": "markdown", - "id": "756e8ab6-a591-498a-a871-540acddff3df", + "id": "7d3e07f5", "metadata": {}, "source": [ "### arbitrage" @@ -2678,8 +2315,8 @@ }, { "cell_type": "code", - "execution_count": 176, - "id": "b8452fe7-67b3-4789-899f-d203b2f9d259", + "execution_count": null, + "id": "16390e26", "metadata": {}, "outputs": [], "source": [ @@ -2687,13 +2324,13 @@ "CCa += CPC.from_pk(pair=\"WETH/USDC\", p=2000, k=10*20000, cid=\"c0\")\n", "CCa += CPC.from_pk(pair=\"WETH/USDT\", p=2000, k=10*20000, cid=\"c1\")\n", "CCa += CPC.from_pk(pair=\"USDC/USDT\", p=1.2, k=200000*200000, cid=\"c2\")\n", - "O = CPCArbOptimizer(CCa)" + "O = MargPOptimizer(CCa)" ] }, { "cell_type": "code", - "execution_count": 177, - "id": "28324e77-2d5d-4c42-b2b8-1b9654180af2", + "execution_count": null, + "id": "34b5d2b2", "metadata": {}, "outputs": [], "source": [ @@ -2711,8 +2348,8 @@ }, { "cell_type": "code", - "execution_count": 178, - "id": "377bb0f5-2bcb-4379-89f9-d918112c9e80", + "execution_count": null, + "id": "d9d551b6", "metadata": {}, "outputs": [], "source": [ @@ -2727,8 +2364,8 @@ }, { "cell_type": "code", - "execution_count": 179, - "id": "be30f072-d063-4aac-9e7f-b9a887bb9e4f", + "execution_count": null, + "id": "88888e71", "metadata": {}, "outputs": [], "source": [ @@ -2741,11 +2378,11 @@ "assert abs(r.dtokens_t[0]) < 1e-6\n", "assert abs(r.dtokens_t[1]) < 1e-6\n", "assert r.dtokens[\"WETH\"] == float(r)\n", - "assert tuple(r.p_optimal.values()) == r.p_optimal_t\n", - "assert tuple(r.p_optimal) == r.tokens_t\n", + "assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t\n", + "assert tuple(r.p_optimal)[:-1] == r.tokens_t\n", "assert iseq(r.p_optimal_t[0], 0.0005421803152482512) or iseq(r.p_optimal_t[0], 0.00045575394031021585)\n", "assert iseq(r.p_optimal_t[1], 0.0005421803152482512) or iseq(r.p_optimal_t[1], 0.00045575394031021585)\n", - "assert tuple(r.p_optimal.values()) == r.p_optimal_t\n", + "assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t\n", "assert set(r.tokens_t) == set(('USDC', 'USDT'))\n", "assert r.errormsg is None\n", "assert r.is_error == False\n", @@ -2755,21 +2392,10 @@ }, { "cell_type": "code", - "execution_count": 180, - "id": "7a85271d-312c-4b95-8d33-0d235fb4e9f4", + "execution_count": null, + "id": "7c7fed1c", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1.9068465917371213e-07" - ] - }, - "execution_count": 180, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "abs(r.dtokens_t[0])" ] @@ -2777,14 +2403,91 @@ { "cell_type": "code", "execution_count": null, - "id": "66ff781d-f171-493e-b4c2-b1517b4f3307", + "id": "e007be1d", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "ti = r.trade_instructions()\n", + "assert len(ti) == 3\n", + "dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR)\n", + "assert len(dfa)==7\n", + "assert list(dfa.index) == ['c0', 'c1', 'c2', 'PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET']\n", + "assert list(dfa.columns) == ['WETH', 'USDC', 'USDT']\n", + "assert dfa.loc[\"PRICE\"][0] == 1\n", + "assert iseq(dfa.loc[\"PRICE\"][1], 0.0005421803152)\n", + "assert iseq(dfa.loc[\"PRICE\"][2], 0.0004557539403)\n", + "dfa" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ccc9d286", + "metadata": {}, + "outputs": [], + "source": [ + "df = r.trade_instructions(ti_format=O.TIF_DF)\n", + "assert len(df) == 3\n", + "assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT']\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c7f2301", + "metadata": {}, + "outputs": [], + "source": [ + "df = r.trade_instructions(ti_format=O.TIF_DF).fillna(\"\")\n", + "assert len(df) == 3\n", + "assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT']\n", + "assert df[\"USDT\"].loc[\"c0\"] == \"\"\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5cb20e7", + "metadata": {}, + "outputs": [], + "source": [ + "dcts = r.trade_instructions(ti_format=O.TIF_DICTS)\n", + "assert len(dcts) == 3\n", + "assert list(dcts[0].keys()) == ['cid', 'tknin', 'amtin', 'tknout', 'amtout', 'error']\n", + "d0 = dcts[0]\n", + "assert d0[\"cid\"] == \"c0\"\n", + "assert iseq(d0[\"amtin\"], 0.41326380379418914)\n", + "dcts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b3ee562", + "metadata": {}, + "outputs": [], + "source": [ + "objs = r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "assert len(objs) == 3\n", + "assert type(objs[0]).__name__ == 'TradeInstruction'\n", + "objs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "39fdcea2", + "metadata": {}, + "outputs": [], + "source": [ + "help(r.trade_instructions)" + ] }, { "cell_type": "markdown", - "id": "b60bdb92-5c5d-4f4f-956b-2eaac140a870", + "id": "dea66c52", "metadata": {}, "source": [ "## simple_optimizer demo [NOTEST]" @@ -2792,8 +2495,8 @@ }, { "cell_type": "code", - "execution_count": 181, - "id": "ea1c2d79-6e94-47e8-baf1-d52a0da888af", + "execution_count": null, + "id": "528abf9c", "metadata": {}, "outputs": [], "source": [ @@ -2801,8 +2504,8 @@ "O = CPCArbOptimizer(CC)\n", "c0 = CC.curves[0]\n", "CC0 = CPCContainer([c0])\n", - "O = CPCArbOptimizer(CC)\n", - "O0 = CPCArbOptimizer(CC0)\n", + "O = SimpleOptimizer(CC)\n", + "O0 = SimpleOptimizer(CC0)\n", "funcvx = O.simple_optimizer(result=O.SO_DXDYVALXFUNC)\n", "funcvy = O.simple_optimizer(result=O.SO_DXDYVALYFUNC)\n", "funcvx0 = O0.simple_optimizer(result=O.SO_DXDYVALXFUNC)\n", @@ -2812,31 +2515,10 @@ }, { "cell_type": "code", - "execution_count": 182, - "id": "f662f8d9-16bc-4742-b9b0-88b7b169f0ea", + "execution_count": null, + "id": "57cc1ad4", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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AAAAdF2PXQcewKGZpql7396mwopmpcS6dP/5E1m0DgAAAEC3dHsRO0kqLy/X22+/rbKyMvl8vk6P/eIXv+iRwoBo8vfVpXp1Q4UchvTf54zXkBQWrQMAAADQPd0O8J9++ql++MMfKi8vTzt27NDo0aO1Z88emaapCRMm9EaNgK2t3F2vB9/bIUm67sSRmj08zeKKAAAAANhRt6fQP/DAA7riiiv0r3/9Sx6PR7///e/13nvv6ZhjjtGCBQt6o0bAtsob23XLPwsVCJo6c1yWvjOTResAAAAAHJluB/jt27frggsukCS5XC61t7crISFBP/nJT/SnP/2pp+sDbMvrD+rn/ypUXZtPo7MSdNsZY1i0DgAAAMAR63aAj4+Pj5z3npWVpZKSkshjdXV1PVcZYGOmaeret7ZqY3lTeNG6CSxaBwAAAOCodPsc+KlTp+qLL75QQUGBTjrpJP3mN7/Rli1b9Oabb2rq1Km9USNgO8+vKdMr4UXr/uvs8RqaEmd1SQAAAABsrtsB/he/+IVaWlokSdddd51aWlq0dOlS5efn65ZbbunxAgG7WbW7QQ+8u12S9OMTRmhOPovWAQAAADh63Q7weXl5kfvx8fG66667erQgwM6qWzp0y782KhA0NX9slr47K9fqkgAAAABEiW6fA//LX/5Sn332WW/UAthaIGjq9qWbVNvqU0FmvG4/k0XrAAAAAPScbo/A19bW6qqrrlJ6errOOussnX/++Ro3blxv1AbYypOfl2hFSb1iXQ7dc84ExbFoHQAAAIAe1O0A/+ijj6qhoUGvv/66XnnlFT355JMaOXKkzj33XJ1zzjnKzWXKMAaeVbsb9NgnxZKkn58+SiMy4i2uCAAAAEC06fYUeklKSUnRN7/5TT399NN69913tXDhQr388ss644wzero+oN+rb/XptlcLFTSlsyZk65yJg6wuCQAAAEAUOqIAv5fP59P69eu1du1a7dmzRxkZGT1VF2ALpmnqzn9vVmVzh4alxennp422uiQAAAAAUarbU+gladmyZXrllVf0xhtvKBgMav78+frjH/+oY489tqfrA/q1//tijz7aUSuP09A954xXvIfz3gEAAAD0jm4H+BNOOEENDQ064YQTdNddd+nUU0+Vx+PpjdqAfm1DWaMe+bBIknTjyQUak51ocUUAAAAAolm3A/x1112nBQsWKDk5uTfqAWyhqd2vW1/dJH/Q1GljMnXh1MFWlwQAAAAgynU7wF988cW9UQdgG6Zp6r/e3KLShnYNSY7RL+dzvXcAAAAAve+oFrEDBqIX15bp7S3VcjoM/fc545UUe0RLSQAAAABAtxDggW7YUtmsB9/dLkm67oQRmjiYU0kAAAAA9A3bBPhHH31U3/rWtzR16lTNmjWrS8eYpqnf/e53mjdvnqZMmaLLL79cO3fu7N1CEbVaOwK69ZVCdQRMzRuZrm/PHGp1SQAAAAAGENsEeJ/PpwULFuiSSy7p8jFLlizR008/rV/96ld67rnnFBcXpyuvvFJer7cXK0W0uu/trSqua1N2okf/eeZYznsHAAAA0KdsE+Cvv/56XX755RozZkyX9jdNU0899ZR++MMf6vTTT9e4ceN03333qbKyUm+99VYvV4to88qGcr26sVIOQ/r12eOVGu+2uiQAAAAAA0zUrr61e/duVVVVae7cuZFtSUlJmjp1qlatWqWzzz77kMcysGq9vT3oD73YWdOq37y1TZJ09dzhmpGXYnFF9tCfeojuo3/2Rw/tjx7aG/2zP3pof9HYw6gN8FVVVZKkjIyMTtszMjJUXV19yOPS0xPkdNpmYkLUy8hIsvTnt/sCuu2vq9TuD+r4URn62dkT5XRE0b8AfcDqHuLo0D/7o4f2Rw/tjf7ZHz20v2jqoaUBfvHixVqyZMlh91m6dKkKCgr6qCKptrYlqn5DY1eGEXqj1dQ0yTStq+OeN7dqU3mT0uPdun3+aNXVNltXjM30lx7iyNA/+6OH9kcP7Y3+2R89tD879TAzs2u/ZLA0wF9xxRVauHDhYffJy8s7oufOysqSJNXU1Cg7OzuyvaamRuPGjTvssf29uQOJaVrXj7c2V+mFNWUyJN31tXHKiPfwd+MIWNlDHD36Z3/00P7oob3RP/ujh/YXTT20NMCnp6crPT29V547NzdXWVlZ+vTTTzV+/HhJUnNzs9asWdOtlewxMO2ub9Ov39giSbp8Tp7m5KdZXBEAAACAgc42J3uXlpaqsLBQpaWlCgQCKiwsVGFhoVpaWiL7LFiwQG+++aYkyTAMXXrppXr00Uf19ttva/Pmzbr55puVnZ2t008/3aqXARvwBYK69ZVCtXQENHVIsq6em291SQAAAABgn0XsHn74Yb300kuR7y+44AJJ0lNPPaU5c+ZIkoqKitTU1BTZ5wc/+IHa2tp0xx13qLGxUTNnztSf/vQnxcTE9GntsJdHPixSYUWzUmJd+vXZ4+Ri0ToAAAAA/YBhmtFyNkDPqKpq+uqd0OsMI7SQQ3V13y448eH2Gv30HxskSYvPn6iTRmV8xRE4FKt6iJ5B/+yPHtofPbQ3+md/9ND+7NTDrKyuLWJnmyn0QG+rbPLqztc3S5IumTGU8A4AAACgXyHAA5JM09Rd/96shna/xuck6roTR1hdEgAAAAB0QoAHJD2/pkyfFdcrxuXQXWeNk9vJWwMAAABA/0JKwYBXUtem372/Q5J0/YkjlJ8eb3FFAAAAAHAgAjwGNH/Q1K9e2ySvP6jZw1L1jWlDrC4JAAAAAA6KAI8B7enlu7SurEmJMU7dfuYYOQwuGQcAAACgfyLAY8DaXNGsP35SLEn62amjNCg51uKKAAAAAODQCPAYkLz+oP7z9U0KBE2dOjpTXxufbXVJAAAAAHBYBHgMSH/8eKe2V7cqPd6tW04fJYOp8wAAAAD6OQI8BpxVuxv01xW7JUm/PGOM0uI9FlcEAAAAAF+NAI8BpaXDr1+9vlmmpPMm5ejEggyrSwIAAACALiHAY0D57Xs7VNrQrsHJMbrx5AKrywEAAACALiPAY8D4cHuNXl5XLkPSfy4Yq8QYl9UlAQAAAECXEeAxINS3+vTrN7ZIki6ZOVQz81KtLQgAAAAAuokAj6hnmqbueWuralt9GpERrx/NG2F1SQAAAADQbQR4RL3XN1Xqna3VcjoM3fm1sYpx8dceAAAAgP2QZBDVKpq8uu/tbZKkq44dpvE5SRZXBAAAAABHhgCPqBU0Td31+mY1ewOaOChJl88ZZnVJAAAAAHDECPCIWs+vLtPnJfWKcTn0q6+NlcthWF0SAAAAABwxAjyiUnFtqx7+YIck6boTRig/Pd7iigAAAADg6BDgEXX8QVO/en2zvP6gjhmWqoumD7G6JAAAAAA4agR4RJ2nPt+l9WVNSoxx6o4zx8hhMHUeAAAAgP0R4BFVNlc067FPiyVJPzt1lAYlx1pcEQAAAAD0DAI8oobXH9Qdr21SIGjqlNGZ+tr4bKtLAgAAAIAeQ4BH1Pjfj3dqR02r0uPd+sXpo2QwdR4AAABAFCHAIyqs2t2gZ1bsliTdOn+M0uI9FlcEAAAAAD2LAA/ba/cF9Os3tsiUdO7EHJ00KsPqkgAAAACgxxHgYXuPf1aikro2ZSZ49NNTCqwuBwAAAAB6BQEetra1qllPLQ9Nnb/5tFFKjHFZXBEAAAAA9A4CPGwrEDT16ze2KhA0dfKoDJ0yOtPqkgAAAACg1xDgYVt/W7VHG8ublOBx6ubTRlldDgAAAAD0KgI8bKmssV3/+/FOSdL1J45QVmKMtQUBAAAAQC8jwMN2TNPUvW9tVZsvqOlDk3XBlMFWlwQAAAAAvY4AD9v596YqfVJUJ7fT0K3zx8hhGFaXBAAAAAC9jgAPW6lv8+nBd7dLkq6YM0z5GfEWVwQAAAAAfYMAD1t56P0dqmvzaWRGvC6bnWd1OQAAAADQZwjwsI3Pdtbp1Q0VMiTddsYYuZ389QUAAAAwcJCAYAvtvoDueWurJOmiaUM0eUiyxRUBAAAAQN8iwMMWHvukWHsa2pWd6NGPTsi3uhwAAAAA6HMEePR7myqa9MwXuyVJt5w+Wgkel8UVAQAAAEDfI8CjX/MHTf36ja0KmtL8sVk6oSDD6pIAAAAAwBIEePRr/++L3dpc2azkWJcWnVJgdTkAAAAAYBnbzEV+9NFH9f7776uwsFBut1srVqw47P4+n08PPfSQPvjgA+3atUuJiYmaO3euFi1apJycnD6qGkejpKZV//txsSTpJyeOVEaCx+KKAAAAAMA6thmB9/l8WrBggS655JIu7d/e3q6NGzfqhz/8oV588UU98sgjKioq0g9/+MNerhQ9wTRN3frSOnn9Qc0alqpzJ/FLFwAAAAADm21G4K+//npJ0osvvtil/ZOSkvTEE0902nb77bfroosuUmlpqYYMGdLjNaLnvLqxUh9tq1aMy6FbTx8twzCsLgkAAAAALGWbAN8TmpubZRiGkpMPfw1xsqK1als69Nt3t0uSrp47XMPS4yyuCEdi7/uI95M90T/7o4f2Rw/tjf7ZHz20v2js4YAJ8F6vV4sXL9bZZ5+txMTEQ+6Xnp4gp9M2ZxZEpbvfWqWGdr/GD07W9WeOk5t+2FpGRpLVJeAo0D/7o4f2Rw/tjf7ZHz20v2jqoaUBfvHixVqyZMlh91m6dKkKCo5u9XGfz6ef/OQnMk1Td95552H3ra1tiarf0NjNxztq9fLqUjkM6TcXTlZjfYtM0+qqcCQMI/SPZU1NEz20Ifpnf/TQ/uihvdE/+6OH9menHmZmdu2XDJYG+CuuuEILFy487D55eXlH9TN8Pp9uuOEGlZaW6i9/+cthR9/36u/NjVatHQHd8+ZWSdIlM4ZqSm6qqqv7/5sNh2eavKfsjP7ZHz20P3pob/TP/uih/UVTDy0N8Onp6UpPT++1598b3ouLi/XUU08pLS2t134Wjt7/frxT5U1eDUmO0bXH51tdDgAAAAD0K7Y5ubi0tFSFhYUqLS1VIBBQYWGhCgsL1dLSEtlnwYIFevPNNyWFwvv111+v9evXa/HixQoEAqqqqlJVVZU6Ojqsehk4hA1ljfrbqj2SpFvmj1acx2lxRQAAAADQv9hmEbuHH35YL730UuT7Cy64QJL01FNPac6cOZKkoqIiNTU1SZIqKir0zjvvSJLOP//8Ts+1/zGwnj8Q1K/f2KqgKX1tfLaOy++9WRkAAAAAYFe2CfD33nuv7r333sPus3nz5sj93NzcTt+j/3p6xW5tq25RSqxLN5480upyAAAAAKBfss0UekSnssZ2/XlZiSTpp6cUKC3eY3FFAAAAANA/EeBhqYfe2yGvP6iZeSn62vhsq8sBAAAAgH6LAA/LfLazTu9srZbTkG46dZQMw7C6JAAAAADotwjwsIQvENTid7dJki6aPlSjMhMsrggAAAAA+jcCPCzxt1Wl2lnbpvR4t64+brjV5QAAAABAv0eAR5+rbvZqySfFkqT/OGGEkmJtczEEAAAAALAMAR597uEPitTqC2jS4CSdMzHH6nIAAAAAwBYI8OhTq3c36LXCShmSfnbqKDlYuA4AAAAAuoQAjz4TCJq6753QwnUXTBmkCYOSLK4IAAAAAOyDAI8+8+LaMm2talFyrEs/On6E1eUAAAAAgK0Q4NEn6lo79OhHOyVJ1x6fr9R4t7UFAQAAAIDNEODRJ/7no51q8vo1JitBX58y2OpyAAAAAMB2CPDodRvLm/TyunJJ0s2njZLTwcJ1AAAAANBdBHj0qqBp6v53tsmU9LXx2Zo6NMXqkgAAAADAlgjw6FWvbKjQ+rImxbuduv5EFq4DAAAAgCNFgEevaWr365EPiiRJP5g7XJmJMRZXBAAAAAD2RYBHr3ns02LVtfk0Ij1e35o+xOpyAAAAAMDWCPDoFduqWvT3VXskSYtOLZDLyV81AAAAADgapCr0ODO8cF3AlE4dnak5w9OsLgkAAAAAbI8Ajx735uYqrdzdoBiXQzecPNLqcgAAAAAgKhDg0aNaOwL63fs7JEnfn5OnwcmxFlcEAAAAANGBAI8e9fhnJaps7tDQlFh9d1ae1eUAAAAAQNQgwKPHFNe26pkVuyVJPz2lQDEu/noBAAAAQE8hYaFHmKapB97dLn/Q1PEj0nXCyHSrSwIAAACAqEKAR4/4YHutPt1ZJ7fT0E9PKZBhGFaXBAAAAABRhQCPo9buC+jB97ZLkr4zM1fD0uIsrggAAAAAog8BHkft6RW7VdrQruxEj644dpjV5QAAAABAVCLA46iUNrTrL5/vkiTdcHKB4txOiysCAAAAgOhEgMdReej9HfL6g5qVl6LTx2RaXQ4AAAAARC0CPI7YF7vq9e7WajkN6aZTR7FwHQAAAAD0IgI8jkjQNPW793dIkhZOGayCzASLKwIAAACA6EaAxxF5Y1OVCiualeBx6gdzh1tdDgAAAABEPQI8us3rD+p/PiqSJF16TJ7S4z0WVwQAAAAA0Y8Aj277++pSlTV6lZ3o0bdnDrW6HAAAAAAYEAjw6JaGNp8eX1YiSbrm+HzFctk4AAAAAOgTBHh0y+OflajJ69eozASdPSHH6nIAAAAAYMAgwKPL9jS06e+rSyVJ1580Qk4Hl40DAAAAgL5CgEeX/c+HO+ULmJozPFXH5adbXQ4AAAAADCgEeHTJhvImvbG5Soak608caXU5AAAAADDgEODxlUzT1O/e3yFJOmtijsZkJ1pcEQAAAAAMPAR4fKUPttdq1e4GxbgcunbucKvLAQAAAIABiQCPw/IHTT3yYWj0/VszhmpQcqzFFQEAAADAwGSbAP/oo4/qW9/6lqZOnapZs2Z1+/g77rhDY8eO1ZNPPtnzxUWxl9eVaWdtm1Lj3Lp8dp7V5QAAAADAgGWbAO/z+bRgwQJdcskl3T72zTff1Jo1a5Sdnd0LlUWvlg6/HvukWJJ01bHDlBjjsrgiAAAAABi4bBPgr7/+el1++eUaM2ZMt46rqKjQ3XffrcWLF8vtdvdSddHp6eW7VdvqU15qrL4+dbDV5QAAAADAgBbVQ6rBYFA/+9nPdOWVV2r06NFdPs4werEom6hq9uqZFbslST8+cYQ8rr79Xc/eHtAL+6KH9kb/7I8e2h89tDf6Z3/00P6isYdRHeCXLFkil8ulSy+9tMvHpKcnyOm0zcSEXrP4/SK1+4OaOTxNFx83QoZFf+szMpIs+bnoOfTQ3uif/dFD+6OH9kb/7I8e2l809dDSAL948WItWbLksPssXbpUBQUF3X7u9evX66mnntKLL77YrfBZW9sSVb+hORLbq1v03IpdkqQfzR2mmprmPq/BMEJvtJqaJplmn/949AB6aG/0z/7oof3RQ3ujf/ZHD+3PTj3MzOzaLxksDfBXXHGFFi5ceNh98vKObOXzFStWqKamRqecckpkWyAQ0G9+8xs99dRTeueddw55bH9vbm97+P0iBU3p1NGZmjIkxdI/D9OkH3ZHD+2N/tkfPbQ/emhv9M/+6KH9RVMPLQ3w6enpSk9P75XnPv/88zV37txO26688kqdf/75+vrXv94rPzMaLC+p08dFtXI6DP3HCSOsLgcAAAAAEGabc+BLS0vV0NCg0tJSBQIBFRYWSpKGDRumhIQESdKCBQu0aNEizZ8/X2lpaUpLS+v0HG63W5mZmRo5cmSf128HQdPU794vkiR9Y+pgDUuLs7giAAAAAMBetgnwDz/8sF566aXI9xdccIEk6amnntKcOXMkSUVFRWpqarKivKjwemGlNlc2K8Hj1FXHDre6HAAAAADAfmwT4O+9917de++9h91n8+bNh338cOe9D3Ref1CPfrRTknT57DylxrutLQgAAAAA0AnXS4Mk6W8r96i8yavsRI++NWOo1eUAAAAAAL6EAA/Vt/n0xOclkqQfzstXrNtpcUUAAAAAgC8jwEN/XlaiZm9Ao7MS9LXxOVaXAwAAAAA4CAL8ALe7vk3Pry6VJP3kxJFyOgyLKwIAAAAAHAwBfoD7w4dF8gdNHZufpjn5aV99AAAAAADAEgT4AWxdaaPe2lItQ9L1J46wuhwAAAAAwGEQ4Aco0zT1u/d3SJLOmZij0VmJFlcEAAAAADgcAvwA9cH2Wq0pbVSMy6Frj8+3uhwAAAAAwFcgwA9AQdPUHz/ZKUn61oyhyk6KsbYgAAAAAMBXIsAPQO9sqdbWqhYleJz63qxcq8sBAAAAAHQBAX6ACQRNPfZJsSTp2zOHKiXObXFFAAAAAICuIMAPMG9urlJRbauSY1369kxG3wEAAADALgjwA4g/aGrJp6HR9+/OylVijMviigAAAAAAXUWAH0Be21ihkro2pcS6dPH0IVaXAwAAAADoBgL8AOEPBPWnZSWSpMtm5ynBw+g7AAAAANgJAX6A+OeGCpU2tCs93q2LpjH6DgAAAAB2Q4AfADr8QT0eHn2/fM4wxbqdFlcEAAAAAOguAvwA8I91Zapo8io70aOvTxlsdTkAAAAAgCNAgI9y7b6AnvhslyTp+3OGKcZFywEAAADAjkhzUe6FNWWqbunQ4OQYnT95kNXlAAAAAACOEAE+irX5AvrL56HR9yuPHSa3k3YDAAAAgF2R6KLYc6tKVdfm09CUWJ09IcfqcgAAAAAAR4EAH6WavX49vTw0+v6D44bLxeg7AAAAANgaqS5KPbtyjxra/RqeFqcF47OtLgcAAAAAcJQI8FGosd2nZ77YLUm6eu5wOR2GxRUBAAAAAI4WAT4KPfPFHjV7AyrIjNfpY7OsLgcAAAAA0AMI8FGmvtWnZ7/YI0m6em6+HAaj7wAAAAAQDQjwUebpFbvU6gtobHaiThmVYXU5AAAAAIAeQoCPIjUtHXpuVakk6Zq5w2Uw+g4AAAAAUYMAH0WeWr5L7f6gJg5K0ryR6VaXAwAAAADoQQT4KFHV7NULa8okSdccz+g7AAAAAEQbAnyUeOKzXfL6g5o6JFnHDk+zuhwAAAAAQA8jwEeB8sZ2/WNdaPT92uPzGX0HAAAAgChEgI8Cf15WIl/A1Ky8FM0almp1OQAAAACAXkCAt7nd9W3614YKSaHRdwAAAABAdCLA29yflpUoEDR1bH6apg5NsbocAAAAAEAvIcDb2M7aVr22MTz6Pne4xdUAAAAAAHoTAd7G/vRpsYKmNG9kuiYOTra6HAAAAABALyLA29T26ha9salKknTt3HxriwEAAAAA9DoCvE0t+bRYpqRTRmdqbE6i1eUAAAAAAHoZAd6GNlc26+0t1TIkXc257wAAAAAwIBDgbeidLaGp8/PHZmlUZoLF1QAAAAAA+oLL6gK66tFHH9X777+vwsJCud1urVixokvHbd++Xffff7+WL1+uQCCggoIC/f73v9eQIUN6ueLec+6kQQqY0ndmDrW6FAAAAABAH7FNgPf5fFqwYIGmTZum559/vkvHlJSU6Nvf/rYuvPBCXX/99UpMTNTWrVsVExPTy9X2rtzUOP34hBFWlwEAAAAA6EO2CfDXX3+9JOnFF1/s8jG//e1vdeKJJ+rmm2+ObBs2bFiP1wYAAAAAQG+zTYDvrmAwqPfee09XXXWVrrzySm3cuFG5ubm65pprdPrppx/2WMPooyJxSHt7QC/six7aG/2zP3pof/TQ3uif/dFD+4vGHkZtgK+pqVFra6uWLFmiG264QTfddJM+/PBD/fjHP9ZTTz2l2bNnH/S49PQEOZ2s7ddfZGQkWV0CjhI9tDf6Z3/00P7oob3RP/ujh/YXTT20NMAvXrxYS5YsOew+S5cuVUFBQbefOxgMSpJOO+00XX755ZKk8ePHa+XKlXr22WcPGeBra1ui6jc0dmUYoTdaTU2TTNPqanAk6KG90T/7o4f2Rw/tjf7ZHz20Pzv1MDOza79ksDTAX3HFFVq4cOFh98nLyzui505LS5PL5Tog/BcUFOiLL7447LH9vbkDiWnSD7ujh/ZG/+yPHtofPbQ3+md/9ND+oqmHlgb49PR0paen98pzezweTZ48WUVFRZ2279y5U0OHcvk1AAAAAIC92OZk79LSUhUWFqq0tFSBQECFhYUqLCxUS0tLZJ8FCxbozTffjHx/5ZVX6rXXXtNzzz2n4uJi/fWvf9W7776rSy65xIqXAAAAAADAEbPNInYPP/ywXnrppcj3F1xwgSTpqaee0pw5cyRJRUVFampqiuwzf/58/epXv9Jjjz2mX//61xoxYoQefvhhzZo1q09rBwAAAADgaBmmGS1nA/SMqqqmr94Jvc4wQgs5VFf3/wUncHD00N7on/3RQ/ujh/ZG/+yPHtqfnXqYldW1RexsM4UeAAAAAICBjAAPAAAAAIANEOABAAAAALABAjwAAAAAADZAgAcAAAAAwAYI8AAAAAAA2AABHgAAAAAAGyDAAwAAAABgAwR4AAAAAABsgAAPAAAAAIANGKZpmlYXAQAAAAAADo8ReAAAAAAAbIAADwAAAACADRDgAQAAAACwAQI8AAAAAAA2QIAHAAAAAMAGCPDoNcuXL9e1116refPmaezYsXrrrbcO2Gf79u269tprNXPmTE2bNk0XXnihSktLI497vV7deeedmjNnjqZPn67rrrtO1dXVnZ6jtLRUV199taZOnarjjjtOv/nNb+T3+3v99UW7r+pfS0uL7rrrLp144omaMmWKzjrrLP2///f/Ou1D/6z1xz/+URdeeKGmT5+u4447Tj/60Y+0Y8eOTvv0VI8+++wzLVy4UJMmTdL8+fP14osv9vrri3Zf1b/6+nrdfffdOvPMMzVlyhSdfPLJ+vWvf62mpqZOz0P/rNOV9+BepmnqqquuOui/t/TQOl3t4apVq3TppZdq2rRpmjFjhr7zne+ovb098nh9fb0WLVqkGTNmaNasWbr11lvV0tLS6Tk2bdqkb3/725o8ebJOOukkLVmypNdf30DQlR5WVVXpZz/7mY4//nhNmzZNCxcu1L///e9O+9BDa/zf//2fzj33XM2YMUMzZszQN7/5Tb3//vuRxwfk5xgT6CXvvfee+eCDD5pvvPGGOWbMGPPNN9/s9HhxcbE5e/Zs8ze/+Y25YcMGs7i42HzrrbfM6urqyD533HGHedJJJ5mffPKJuW7dOvPiiy82v/nNb0Ye9/v95jnnnGNefvnl5saNG8333nvPnDNnjvnAAw/02euMVl/Vv9tuu808/fTTzWXLlpm7du0yn332WXP8+PHmW2+9FdmH/lnriiuuMF944QVzy5YtZmFhofmDH/zAPPnkk82WlpbIPj3Ro5KSEnPq1KnmPffcY27bts18+umnzfHjx5sffPBBn77eaPNV/du8ebP54x//2Hz77bfN4uJi85NPPjHPOOMM87rrros8B/2zVlfeg3s98cQT5lVXXXXAv7f00Fpd6eHKlSvNGTNmmH/84x/NLVu2mNu3bzdfffVV0+v1Rva58sorzfPOO89cvXq1uXz5cnP+/PnmT3/608jjTU1N5ty5c81FixaZW7ZsMV955RVzypQp5rPPPtunrzcadaWH3//+980LL7zQXLNmjVlSUmL+4Q9/MMeNG2du2LAhsg89tMbbb79tvvfee2ZRUZG5Y8cO88EHHzQnTpxobtmyxTTNgfk5hgCPPnGwAHjDDTeYN9100yGPaWxsNCdOnGi+9tprkW3btm0zx4wZY65atco0zVDIHDdunFlVVRXZ5//+7//MGTNmdPqPE0fnYP07++yzzUceeaTTtoULF5oPPvigaZr0rz+qqakxx4wZY37++eemafZcj+677z7z7LPP7vSzbrjhBvOKK67o5Vc0sHy5fwezdOlSc+LEiabP5zNNk/71N4fq4caNG80TTjjBrKysPODfW3rYvxyshxdddJH529/+9pDH7P13de3atZFt77//vjl27FizvLzcNE3TfOaZZ8xjjjmm0/99999/v3nmmWf2/IsY4A7Ww2nTppkvvfRSp/1mz55tPvfcc6Zp0sP+5phjjjGfe+65Afs5hin0sEQwGNR7772n/Px8XXnl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/jphYWFW666eye6I6Oholi9fzoULFygrKyMqKgqAyMhItm7dSmRkJM3NzYwePbpNX35+fp3u72o+Pj5t2rl6//fu3cv48ePN5Suz57W1tbi7u1vVrampaXMio3///sTHxxMfH8+zzz7Lww8/zJYtW3jmmWeuO7avvvoKgEGDBtG3b1/c3d3NMhEREVvTPfAiIiK36MiRI1bLJSUl+Pn5mbPvHWGxWCguLqa5ubnNOk9PT7y9vTl16hR+fn5WH19f306PNyYmhvr6erKysvDz88PDwwO4nMAfOXKETz75xLzU3hYMw+Df//631f3vfn5+2Nvb89lnn1nVPXXqFLW1tQwZMqTd9vr06YOXlxeXLl26br8NDQ3mCYz77rsPe3t7Jk2axD/+8Q/Onj3bpv53331nPqNARETkTtAMvIiIyC06c+YMqampJCYmUlpayubNm1m0aFGn2njiiSfYtGkTzz33HHPmzMHNzY3Dhw8zYsQIhg4dyjPPPMPvfvc73NzceOihh2hqauLYsWPU1NTw5JNPdqovX19fBgwYwKZNm5g8ebJZ7uPjg7e3N1u3buXRRx9ts51hGJw/f75NuYeHx01dCdCeY8eO0dDQwKhRo8wyV1dXEhISSEtLw8HBgYCAAL755hvS09MJDw9n5MiRAGzZsoWysjImTJjA4MGDaWxsJDc3l/LycqvbDwCqqqpobGzku+++47PPPmPt2rVcuHCBVatWmXUWLFhAUVER06ZNY8GCBYSEhODo6EhxcTGZmZm8//77ba4IEBERuV2UwIuIiNyi+Ph4GhoaSEhIwMHBgenTp5OYmNipNvr168fGjRt58803SU5Oxt7enqCgIDOJTUhIwMXFhXXr1vHGG2/Qq1cvAgIC+NWvfnVTY46OjmbHjh1tHlQXFRXF9u3b25QD1NXVMXbs2DbleXl5XfpO+48//phx48a1ecL7kiVLyMzMJD09nTNnzuDp6cmYMWOYP3+++QyCESNGcPDgQVJSUjh37hy9evXigQceYPXq1eatAldMnDgROzs7evXqha+vL2PGjOHJJ5+02pe+ffvyt7/9jczMTNasWUNlZSV9+vQhICCAF1988aaeQSAiInKz7Aw9oUVEROSmJScnExgYyJIlS2w9lDa689iuZ/LkyfzmN79h0qRJth5Kp5w+fZrY2Fhyc3MJCgqy9XBERORHSPfAi4iI/Ii99957RERE8MUXX9h6KB3S1NTEww8/zLhx42w9lE6ZPXv2NW87EBER6UqagRcREbkF3XmW++zZszQ0NACX7293dna28Yh+vPS7FhGRO0EJvIiIiIiIiEgPoEvoRURERERERHoAJfAiIiIiIiIiPYASeBEREREREZEeQAm8iIiIiIiISA+gBF5ERERERESkB1ACLyIiIiIiItIDKIEXERERERER6QGUwIuIiIiIiIj0AErgRURERERERHqA/wO4JGNpBOQJFAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "xr = np.linspace(1500, 3000, 50)\n", "plt.plot(xr, [funcvx(x)/len(CC) for x in xr], label=\"all curves [scaled]\")\n", @@ -2855,18 +2537,10 @@ }, { "cell_type": "code", - "execution_count": 183, - "id": "c94519fa-207e-45fd-80ea-1ec5f092b3ba", + "execution_count": null, + "id": "0d151350", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Arbitrage gains: 0.6731 WETH [time=0.0166s]\n" - ] - } - ], + "outputs": [], "source": [ "r = O.simple_optimizer()\n", "print(f\"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]\")" @@ -2874,45 +2548,10 @@ }, { "cell_type": "code", - "execution_count": 184, - "id": "806bfb7f-dd6c-4b7b-959a-eaedcf9a8ea4", + "execution_count": null, + "id": "1f5aed55", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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m9+Mxx9/HI1GA5VKBSdPnsRdd92FRqOBv/7rvwYAvPTSS6jVal2BwFNPPYU//MM/7Hqtv/iLv8Add9yx4a/97W9/G0ePHu16rNls3sB3Q0REtPMxECAiIqJNcdddd6FUKuHVV19FPp/Hrl274PP5cOedd+I3fuM3UK1Wcfz4cUxMTCASiRif99BDD+H+++/veq1wOHxNX/vuu+/GI4880vXYyy+/jE984hPX/f0QERHtdAwEiIiIaFNMTU1hZGQEL774InK5HO68804A2sX96OgofvjDH+LFF1/Em9/85q7PUxQFU1NTN/S1XS7XiteIRqM39JpEREQ7HXsIEBER0aa5++67cfz4cRw/fhx33XWX8fgdd9yB7373u3jllVfYP4CIiKhPMBAgIiKiTXP33XfjBz/4AU6dOtUVCNx111348pe/jHq9viIQKBaLSCQSXf8UCoXtPnQiIqKhwy0DREREtGnuvvtuVCoV7NmzB4FAwHj8zjvvRLFYxO7duxEKhbo+5zOf+Qw+85nPdD32/ve/H4899ti2HDMREdGwMrXb7XavD4KIiIiIiIiIthe3DBARERERERENIQYCREREREREREOIgQARERERERHREGIgQERERERERDSEGAgQERERERERDSEGAkRERERERERDiIEAERERERER0RBiIEBEREREREQ0hBgIEBEREREREQ0hBgJEREREREREQ4iBABEREREREdEQ+v8BaGH50tkPQksAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues))\n", "CC.plot()\n", @@ -2921,7 +2560,7 @@ }, { "cell_type": "markdown", - "id": "001a35b1-3f99-487e-b527-80eb93d720de", + "id": "2b212697", "metadata": {}, "source": [ "## MargP Optimizer Demo [NOTEST]" @@ -2929,8 +2568,8 @@ }, { "cell_type": "code", - "execution_count": 185, - "id": "a045a304-f5f2-4eca-9394-2d1a86721e33", + "execution_count": null, + "id": "a02af582", "metadata": {}, "outputs": [], "source": [ @@ -2938,146 +2577,25 @@ "CCa += CPC.from_pk(pair=\"WETH/USDC\", p=2000, k=10*20000, cid=\"c0\")\n", "CCa += CPC.from_pk(pair=\"WETH/USDT\", p=2000, k=10*20000, cid=\"c1\")\n", "CCa += CPC.from_pk(pair=\"USDC/USDT\", p=1.2, k=20000*20000, cid=\"c2\")\n", - "O = CPCArbOptimizer(CCa)" + "O = MargPOptimizer(CCa)" ] }, { "cell_type": "code", - "execution_count": 186, - "id": "ae37fa7b-356a-4de2-8b4d-ce264792f952", + "execution_count": null, + "id": "05532dcc", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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OfGSxzo4OOrDD9/9qyXXCjc3dzVq1NjSZej06dM6dOiA7r//7/r00/l67bV/6siRVD377FNVxk2f/qJSUpL1r3/9W6+/Plu7d+/SG2+8ZtpfVFSop556RL6+TfWf/3yh8eMf06effqwVK5aaxlzOzy4zM0OTJj2hyMgumjv3S9155116/fVXtWVLjFnnWVp6Wt269dC99z540XHbtm2Rr29TNW/ub9bj19S7776t33//Ta+8MkvvvvuxcnJy9MILz1z0mAULPtfixQv19NPP6+OPP5Ozs5OeeupRlZaWXpEaa2LXrh3q0+cWvfvuh/roo7lq0qSJnnrqEWVnHzer7troq507d2ratIv31eW8hj///KPee+9fevDBhzRnznwFBQXrqace1YkTebX1Mp4XQR8AAAtzcnLSrbcOkr29vY4fP65fflkjo9Fo6bIASWevYJWUVdToKyW3SLEZpxSbcUo/HDh7JffHA9mmbSm5RTV6nNrq/+TkJE2a9IT69eulvn1v0Pjxf1dGRrok6ZtvFqpbtyjdffd9CghopYce+oeCg0O1ZMmiSz7uHXcM0d69ey56FbmyslJz536iIUNu0003RemBB+7W5s2bTPuPHs1UdHQXrV//ix59dJxuvvl63X//XYqPj6vyOLt3x/73KuT1Gjp0gGbP/qdKSkou8xX5n3NTsH/7bZ1GjRqi3r176KmnHlFW1rHLejwXFxfNnv2+br65r1q0CFBYWLieemqSDh7cr2PHzj7m4cMp2rJlk557boratw9Tx44ReuKJZ/Tzz/+7denHH79XWVmZnn/+JbVuHag+fW7R8OGj9PXXC0zPdTk/u+XLl6hpUz89+uiTCghopWHDRurGG3vr66+/NOs877zzbt177wNq3z7souM2bFhvWodlzpyP9MADd2v58iUaOnSAbr75er344nMqLCw067nPKSws1LffrtCjjz6pzp27KjS0rSZPnqo9e+KqzTQ5x2g06ptvvtJ9941Rz543KiiojaZMeVm5udnasGHdZdUhSSdOnNCYMffq+eef1pkzZ8w+furUVzV06Ai1aROili0D9OyzU1RZadT27VtrXHdt9dW8efMu2leX+xouXLhAAwcO1oABd6hVq9Z65pnn5eTkpG+/XWn262WOmr3lCQAArigPD0/ddFNfrV27RomJCfL1jVWHDpGWLgvXOKPR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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = USDC/USDT\n" - ] - }, - { - "data": { - "image/png": "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t1ZgYGCdXgMAQFNA0AcAoImJjo6Wra2tvvrqK1VXV9da9/XXX6uyslLXXnutJGnXrl3GS+7/KD4+XoWFhQoICKjTe3744YfasGGDbrrpJvn7+0uSHB0ddd999yklJUWvv/76Oe/3X758ueLj4yWdDvrXXHONbGxsao259tprVVFRoQULFtRaXl1dra+++kq2traKjo42Lt+0adM532vdunWS/nelwfmUlZXp6aefVmFhoR544IFzPhoQAICmyubCQwAAQGPi4eGhhx56SLNnz9a4cePUt29fOTo6aufOnVq5cqViYmLUt29fSaeD9rfffqv+/fsrNDRUtra2SklJ0eLFi2Vvb68HHnig1rYrKyuNj+I7deqUMjMz9fPPPysxMVE9e/bUiy++WGv8fffdp+TkZH3yySfavHmzbrjhBnl6eiovL08//vij4uPjtWDBApWVlWnz5s2aPn36WfvTt29fxcTEaObMmdq9e7eioqJUWlqqn3/+WTt27NDf//53ubu7G8e//PLLKi0t1YABA9S+fXtVVFRox44dWrNmjdq0aaMRI0bU2n52drZxn0pKSpSSkqK1a9cqNzdXf/vb3zR27NjL/6UAANCIGGouZrpdAADQaKxYsULz58/XgQMHVFlZKV9fXw0ePFgTJkww3tOemJio5cuXa9OmTcrMzNTJkyfVokULdevWTRMnTlTnzp2N23v22We1dOlS48+Ojo5yd3dXaGioBg8erAEDBsjK6twXA3733XdauHChEhISjO/Ro0cP3Xbbbbrqqqv066+/6oEHHtDvv/8uDw+Ps15/6tQpffjhh1q1apUyMjJkY2OjDh06aNy4cRo2bFitsb/99pvWrl2rnTt36ujRo6qoqJCPj4+uvfZaPfjgg7W237dvX2VmZko6PUdBs2bN1Lp1a0VFRWn06NEKDw//y8939+7dGjVqlGbOnHnWlwcAADRmBH0AANDgpk2bpoSEhIua5R8AAFwaLt0HAAANrlOnTrr++utNXQYAABaBM/oAAAAAAJgRZt0HAAAAAMCMEPQBAAAAADAjBH0AAAAAAMwIQR8AAAAAADNC0AcAAAAAwIzweL1LlJtbZOoS6szdvZkKCopNXQZgMvQArrSqqiotX/6Njh7NUosW7ho16nbZ2tqZpBaOf1g6egCWjh4wL15eLnUaxxl9M2cwSNbWVjIYTF0J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Y5PVsmUr2djYyMPDQ9u2bVVwcIik01ey7N2boFtuGSmpbp9HaGi4PvzwXVVWVhq/9Nq6dbPatm0nV1dX45ht27Yab2E5MyY0NEyS5OPTptHUci5duoRp06bfay3bunWzunQJP+/v43Ix6z4AAI2Qi4urBg++Rba2tsrMTNdvv/3ETPxoElq52GvF/T316bgojYjw0afjorTi/p5q5VL/l2Kfz8iRt/73cVlPaN++vUpPT9PatauUlnZIkjRv3qf6z3/e13PPvaDWrVsrPz9P+fl5F/189ZtvHqFmzZz1ww/f1Vp+++13av78z/TTT98rLe2Q3nvvLSUlHdDo0bfVedvjxt2thIRdevPNV5SUlKj09DStX/+r3nzzlQu+9vbbR2rdul/OO8bGxkb//vdr2rMnQfv379O//jVdXbqEGYP/mUv3z/fHyel/VxudOHFcSUmJOnQoVZKUlnZYSUmJys/PM4556aUX9P77bxt/rq/fw9GjR5WUlKjs7KOqqqpWUlKikpISjds512X70ukz/TNnvqSDB1MVG7tBn3zyoUaOvNUYvF1d3S74GZwJhf7+AerZs5deffVl7d2boPj4OL355qvq12+gcV6A3Nwc3X77SO3dmyDp9O0Svr5+eu21Gdq7N0GZmRn66qt52rp1s669ts9FfQbS6dsxXnjhJQUFBevRRx+o9dlfaD/O3Htub2+v9u2Dav1xdnaRk5OT2rcPkq2trQwGg0aPvk2fffaxNmxYp5SUZL388lR5eHipd+/r6vx5DBgwSLa2tpo580Wlpqbop5++1zfffKUxY/434d3o0WO1efNGffXVPB0+fEgff/yB9u/fq5Ejb5WkRlWLJL3//tt66aUXjD/fcstIZWVl6t13/0+HDx/SkiXf6JdfftSYMf/7sqAhcEYfAIBGqmXL1ho4cLBWr16uffsS5OLiqu7drzZ1WcAF2dn871ySwWCQnc2Vn9LPza255sx5Xx999I4efniCrKysFRzcwXjf/LJli1VRUaEpU56p9bp7771f48dPrPP72NjY6L77HtD06VNqLR81aqxOnjypt9+erWPHCuTv316zZr1Za8b9CwkKCtbbb3+oDz98V5Mm3S+pRj4+vurX7/xnmKXTIbu4+OR5xzg4OOiOO+7W9On/UF5ersLDI/Xssy+c9zXns2HDb5oxY7rx56lTT192/sfP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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDT\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/oAAAIeCAYAAAALRHSBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACC60lEQVR4nOzdeVxU9f7H8fewCQKibCKCoiCLgIJLimGWW5Za4ZKWbV5LS1tu17Iyf6V10xbr2n6ra1Zqqblb2mpuibuI4MqisiiyqCCgsszvD69zIzfG0IHx9Xw8vNc55ztnPmf8SL7nfM93DEaj0SgAAAAAAGAVbCxdAAAAAAAAqDkEfQAAAAAArAhBHwAAAAAAK0LQBwAAAADAihD0AQAAAACwIgR9AAAAAACsCEEfAAAAAAArQtAHAAAAAMCKEPQBAAAAALAiBH0AAAAAAKyInaULAAAA1bN8+XI9/fTT+uCDD9SrV68q++644w7t3btXX375pTp37lxl38033ywfHx/NmTNH3bt3V1ZW1gWPHxsbq0mTJqlHjx7VqufXX39VVlaWHnjgAb377rvq06fPeWOef/55/fjjj9q+fft5+1auXKnRo0dr7dq1SktLu+RxXnnlFc2ePVt79+41bTtz5oy++eYbLVq0SIcOHZKNjY0aN26sdu3a6aGHHlJgYKAkaeHChXrhhRdMz3NwcJCbm5tCQkLUrVs3DRgwQC4uLpKkzMxMs87fz8+vWmMBALiWCPoAANQR7du3lyRt3bq1StA/efKk9u/fLzs7O23btq1K0D98+LAOHz6s22+/3bQtLCxMw4cPP+/43t7ecnd315tvvlll+4wZM3TkyJEqYVmS3N3dL/qhQXWsWrVK4eHh8vLyUlpamtnPf/LJJ7VmzRr17dtXgwcPVnl5udLS0rRq1SpFR0ebgv4fx/v5+am8vFx5eXnatGmTJk+erC+++EIfffSRQkNDzT5/AABqI4I+AAB1ROPGjeXn56etW7dW2b59+3YZjUb16dPnvH3nHp/7kODcce68886Lvs6f9y1fvlyFhYWXfM6VWLNmjQYOHHhFz01MTNRvv/2mp59+Wo8++miVfRUVFSosLDzvOTfddJMiIyNNj0eNGqX4+Hg9+uijGj16tJYvX6769etfs/MHAOBq4R59AADqkPbt22v37t06deqUadu2bdvUqlUrde3aVTt27FBlZWWVfQaDQe3atbNEuRe1d+9eHT58WN26dbui52dkZEjSBc/L1tZWjRo1qtZxYmJiNHr0aGVlZWnp0qVXVAsAALUNQR8AgDqkffv2Kisr044dO0zbtm3bpujoaLVr105FRUXat29flX0tW7asEnzLy8tVUFBw3q8/fnhgruLi4gse88yZMxccv3r1anl4eFS5wm4OX19fSdKyZctUXl5+xXVL/5vBsG7dur90HAAAagum7gMAUIf88T79Tp06qby8XImJiYqLi1OzZs3k6emprVu3KjQ0VCdPntS+ffvOmx6/bt06xcTEnHfssWPHauTIkVdU1/jx4y+6r379+udtW716tW666SYZDIYrer2oqCjdcMMNmjdvnlauXKnOnTurXbt2uuWWW0wfAlSXj4+PXF1dTbMEAACo6wj6AADUIYGBgWrYsKHp3vs9e/aopKRE0dHRkqTo6Ght27ZNw4YNU0JCgioqKqrcny9Jbdu21d///vfzjt28efMrrmvMmDHq0KHDedunT5+ubdu2VdlWWFiohIQE3XfffVf8egaDQdOnT9f06dO1dOlSfffdd/ruu+/0yiuv6LbbbtMrr7yiBg0aVPt49evXV3Fx8RXXAwBAbULQBwCgDjEYDIqOjtaWLVtUWVmpbdu2ycPDwxTSo6OjNXv2bEkyBew/B/1GjRqpS5cuNVpXcHDwBY95ofvez02Rj42N/Uuv6eDgoMcee0yPPfaYjh49qs2bN+urr77SihUrZGdnp6lTp1b7WCUlJfLw8PhL9QAAUFtwjz4AAHVM+/btTffin7s//5zo6GhlZWUpJydHW7dulbe3t/z9/S1Y7flWr16tdu3aydXV1bStXr16knTRdQJKS0tNYy7E29tbffv21axZsxQQEKAffvih2vfuHzlyREVFRWrWrJkZZwEAQO1F0AcAoI75433627Ztq7LyfEREhBwcHLRx40YlJibWutX2jUaj1q5de95q++fuq09PT7/g89LT06t17729vb1CQkJUVlamY8eOVaumJUuWSPrrMwwAAKgtCPoAANQxERERqlevnpYtW6acnJwqV/QdHBwUHh6ur7/+WiUlJedN27e0nTt3Kj8/XzfffHOV7d7e3goLC9OyZctUWFhYZV9SUpJ27Nihm266ybTtwIEDys7OPu/4hYWF2r59u9zc3OTu7n7ZeuLj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XXdN9VVUVJRWrvytyuv/sa+u9D2MiGijLVs26+67/7dmw+bNGxUREXnR59QEgj4AALWQq2sD9e17l5Ysma+srAytWfOrbr6511+ezgxcbY1d62npI51kb2uQwWBQXJsmKqswysHu2n7Z08CBd2vBgrl6+eUXdP/9w+Xs7KLk5J1q3TpczZoFqKysTAcOpEk6u8hWbm6u9u/fKyen+mZNoe7SJVatW0doyZKFVe7dveeeB/TSS88rODhEHTrcoN9/X6M1a37Tv/71oVnnsGzZYk2c+KKGDXtADRq4KTMzQ7/++pOee27CJT/8e+qpx3TTTTdr4MAhl3yNL774TG5ubnJ3d9enn34kN7eGphBj7tT9t99+Q7/88oOmTHlb9evXV35+nqSzC8XVq+coFxcX9et3p95//19q0MBN9es7a9q0txQR0cYUem64obMCAlro1Vdf0mOPPamCgnx99tnHGjDgbjk4nP2w6K67Bmrhwnn66KN31bfvndq6dbN+++0XvfnmNFMts2bN0vLlP5huYejVq89/p4W/omHDHlR6eqq+/fYbPfHEP6p9fpJUWHhCOTlHlJd39lslDh06KOnsVVsPD09t3Lhe/v7NzlsPwM7OTv/611v6+9+fla2trf71rzcVHh5pCv7mTN03GAwaPPgeffnldPn7+6tJk6b6z38+loeHl7p2vdk07s89MHToML322kSFhrZWWFi45s37WqWlperbt79Z78E5jz/+d1VWVpjC/rkPLcyZuv/TTz/otdde1lNPPaPWrSNMPXOuX6pTd0311dChQzVr1qxL9lV13sNXX31JXl7eevTRxyVJgwcP1eOPj9Q338xSly6x+uWXH7Vnzy6NGzf+it736iLoAwBQS3l7N1Hv3n21fPkS7d6dJFfXBurQobOlywIu64+h3mAwyMHu2n9A5ebWUO+++2999NG7evzxkbKxsVWrVsGKjGwrScrLy9Xw4f9bCfubb2bqm29mKiqqnT744FOzXuuxx57Qo49Wnb5+000366mnntE338zUu+9OVZMmvnrhhZeqLMR3OZ6eXvr44+n6+OP39fTTj6us7Ix8fJqoU6cY2dhc+oOTrKzMan0N36OPPqF3352qzMwMBQUF6403/lVlYTVzLF48X5L0xBNVV/ofP/5l3X57///u+4cMBhu9+OI4lZWd0Q03xGjs2OdMY21t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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "CCa.plot()" ] }, { "cell_type": "code", - "execution_count": 187, - "id": "ecc9f29a-9bd7-4b08-aba7-cc4cd58e2eb7", + "execution_count": null, + "id": "985e718d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[margp_optimizer] calculating price estimates\n", - "[margp_optimizer] pe [0.0005 0.0005]\n", - "[margp_optimizer] p 0.00, 0.00\n", - "[margp_optimizer] 1/p 2,000.00, 2,000.00\n", - "\n", - "[margp_optimizer] ========== cycle 0 =======>>>\n", - "log p0 [-3.3010299956639813, -3.3010299956639813]\n", - "log dp [ 0.02281867 -0.03004231]\n", - "log p [-3.27821133 -3.3310723 ]\n", - "p (0.0005269733761120141, 0.0004665816971063286)\n", - "p 0.00, 0.00\n", - "1/p 1,897.63, 2,143.25\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn 1,742.581, -1,908.902\n", - "[criterium=3.77e-02, eps=1.0e-06, c/e=4e+04]\n", - "<<<========== cycle 0 ======= [margp_optimizer]\n", - "\n", - "[margp_optimizer] ========== cycle 1 =======>>>\n", - "log p0 [-3.2782113257736367, -3.331072301550902]\n", - "log dp [0.00197844 0.00203564]\n", - "log p [-3.27623289 -3.32903666]\n", - "p (0.0005293794916778223, 0.0004687738067091822)\n", - "p 0.00, 0.00\n", - "1/p 1,889.00, 2,133.22\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn 43.132, 49.919\n", - "[criterium=2.84e-03, eps=1.0e-06, c/e=3e+03]\n", - "<<<========== cycle 1 ======= [margp_optimizer]\n", - "\n", - "[margp_optimizer] ========== cycle 2 =======>>>\n", - "log p0 [-3.276232887408822, -3.329036663029794]\n", - "log dp [2.18800078e-06 2.23012250e-06]\n", - "log p [-3.2762307 -3.32903443]\n", - "p (0.0005293821587291089, 0.0004687762138908068)\n", - "p 0.00, 0.00\n", - "1/p 1,888.99, 2,133.21\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn 0.048, 0.054\n", - "[criterium=3.12e-06, eps=1.0e-06, c/e=3e+00]\n", - "<<<========== cycle 2 ======= [margp_optimizer]\n", - "\n", - "[margp_optimizer] ========== cycle 3 =======>>>\n", - "log p0 [-3.2762306994080452, -3.329034432907297]\n", - "log dp [-1.21938625e-10 -1.24095448e-10]\n", - "log p [-3.2762307 -3.32903443]\n", - "p (0.0005293821585804722, 0.0004687762137568585)\n", - "p 0.00, 0.00\n", - "1/p 1,888.99, 2,133.21\n", - "tokens_t ('USDC', 'USDT')\n", - "dtkn -0.000, -0.000\n", - "[criterium=1.74e-10, eps=1.0e-06, c/e=2e-04]\n", - "<<<========== cycle 3 ======= [margp_optimizer]\n" - ] - }, - { - "data": { - "text/plain": [ - "CPCArbOptimizer.MargpOptimizerResult(result=-0.027643519043587972, time=0.010780572891235352, method='margp', targettkn='WETH', p_optimal_t=(0.0005293821585804722, 0.0004687762137568585), dtokens_t=(1.4551915228366852e-10, 1.7826096154749393e-10), tokens_t=('USDC', 'USDT'), errormsg=None)" - ] - }, - "execution_count": 187, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "r = O.margp_optimizer(\"WETH\", params=dict(verbose=True))\n", "rd = r.asdict\n", @@ -3086,83 +2604,20 @@ }, { "cell_type": "code", - "execution_count": 188, - "id": "2ff5b435-ac7e-4009-ba3a-cc3374999b4f", + "execution_count": null, + "id": "44d3cbb8", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 188, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "rd" ] }, { "cell_type": "code", - "execution_count": 189, - "id": "7aa2450d-33fa-4ad9-960f-753b42a3a3a7", + "execution_count": null, + "id": "c344acd4", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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AgL15JPPXnTMu+/+SzEx0fr732dqwYIlGjPmTv3rX69r48YNxjH/+MdLSk1N0SuvvKHPP1+oG264SS+++JwOHTp7e1Nubo4ef3yKvL199N//fqY33nhHR44katas6bXWt2DB5/r664V6+unn9N//fiYHB3s9+eQjOn36dJ3PsbKyUk2aNNHo0ePUrdt1tY7duHGDoqJuqPOx66O4uEhPPvmwPD1b6+OPv9CUKY/q00//q5Url130MRUVFZo69TGVlZXpgw8+1QsvTNfatav1yScfXpEa6yI3N0e5uTl66KHH9cUXi/TCC9O1ZUu0Xnll5gXrXrhwoaZNq1l3ZmaGpk59XBER3TV37pe644479eqr/1BMTLRxzE8//aB///tfuu++v+qTT+YrIKCDnnzyER0/nm8c8+67b+q3337Vyy+/onff/a9yc3P1wgvPXLCW+ryGM2b8XcnJSfrXv/6jV199S7t379Jrr/3zcryEtSLoAwBgZvb29rr11ttla2urY8eO6eef16qqqsrcZcECVVVVqbSswuRXcl6xYjNOKjbjpL4/cPaWkh8O5Bi3JecV1+k4l6uPk5ISNXXq4xo4sK8GDLhBU6bcr4yMdEnSkiUL1bNnpO666175+vrpr399UB06BGvp0sUXPd7Ondt14429tHv3LuO2BQs+15AhA2pcwfujm28eqKKiQq1atbzWccuXf6077rhdN97YS3feOVLfffdttf1RUd21evUKPffc0+rf/3qNGzdCmzZtqDYmKSlBTz31qAYM6KOhQwfq5Zf/rhMnTtT6vHWxc+d2RUV11+bNm/SXv4xTv369NWnShD/15khk5PWaNGmK+va96aJj4uN369Zbh6hr1+5q3dpLt98+Uv7+gdq/f+/vxsRp1Kix6tQpRG3aeGvChPvl5OSsgwfPBv3fftsoGxsbPfnks2rb1lcdO3bW008/r/Xrf1Z6etoFn7eqqkpLlnyle++dqD59blRAQKCmTZupvLwcbdy4vs7n6ODgoKeffk7Dho2Qm5vbRcedPn1a27ZtUVRUX0nS6NFD9dlnH+ull57XzTdHafjwW2vtT1N++OE7lZWV6bnnXlT79v66+eZbNHr0OC1atOCij9m6dYuOHEnWiy++rMDAIEVGXq/7739Ay5YtVllZ2SXXsnnzJt1yS1/98MPaej+2ffsA/fOfrysq6ga1aeOtbt16aNKkKfrtt43GN9LO1f3SSy+rY8eOF6x7xYqlat3aS4888oR8ff00atRY3XhjPy1a9KXxuRYuXKChQ4dr8OBh8vNrr2eeeU729vb65ptVkqSioiJ9881KPfLIE+rWrYeCgzvq+edf0p49cYqP33PJr+GRI8mKidmsv/1tmjp3DlFYWLgef/wZ/fTTlb9dr25vlQIAgCvK1dVNN900QOvWrVVCwmF5esaqS5cIc5cFC1JVVaX7F+5WXGbBJT3+eGmZ/rpwd70eE+bVTB/fGXZJz3dOTs4xPfzwJEVEdNU777yvpk0dtWfPblVUnA0C8fFxGjdufLXH9OwZWes96127dtcdd9ypl19+UZ999pUyM9P18ccf6OWXX5Gr68UDnCQ5Ojrp3nv/T5999rFuvXWIHBwcaozZsOEXvf32HD366FPq3v06bd68UbNnz1TLlq3UtWt347i5cz/Sgw8+ooceekxff71IM2b8XUuXrlazZi4qLCzUo48+qKFDh+vRR5/U6dOn9P777+rFF/+md975oNYaR48eqltvHaKJEyfXOu69997WY489JVdXd3344X/07LNP6quvlsnGxkZZWVm6554xtT7+nnvu0733/l+tY34vJCRMmzb9qsGDh8nd3UO7du1QWlqqHnvsyd+N6aKff16n3r2j5OTkrJ9/XqczZ04rIqKbJKms7IxsbW1lZXX+emWTJk0knV3Y1Nvbp8bzZmZmKC8vTz16nL8K7+TkpE6dQhQfv0c333xLnc+hLnbs2CZ3dw+1a+dr3Pbll1/onnvu08SJk7V1a7TeeecNtW3bVj169JIkPfXUo4qL23WRI0qtWrXW/Pln3xyIj49TeHiEbG1tjft79ozUggWfq6CgQM2aNavx+L1796h9+4Bq/X3ddZGaM+cVJScnqkOH4Hqf5w8/fKc5c2brpZf+oeuv7/O/bWv1+uuzan3cnDnvKCzswv9/Ky4ukqOjo3FGT13q3rt3j7p371ntONddF6l33jm7lkBZWZkOHTqge+65z7jfyspK3btfp7174yRJBw/uV3l5ebXjtGvnq1atPLV3b5xCQkIv6TWMj4+Tk5OzgoM7Gbd1736drKystHdvfK1vjP1ZBH0AABqIgIBgFRYWKTr6V/3223q1aOEqH5925i4LFsRg7gIuwbJlS+To6KQZM2Yb//Hftu35n4v8/Dy1aOFa7TEtWriavDL/179O0bZtMXrttX8qKSlRgwYNMV6BNWXEiDFasmShFi1aoAkT7q+xf+HCL3TrrUM1cuQYY71798brq6++qBb0b711iAYMGCRJmjz5IX399ULt27dXvXr11tKli9ShQ5AmT37IOP65517UyJGDlZqaUu01+KM2bbzVvHlzk+dx331/NQbNadOma8SI27Rhwy/q33+A3N3dNXful7U+/kKBsjZPPPGMXnvtnxox4jZZW1vLyspKU6e+oPDwrsYxM2e+opdeek633dZf1tbWsre316xZc4wBvmvXHnr33X/pyy/nacyYO1VaWqoPPnhX0tn7+y/kXC+0aFH9TZy69MmlODttv3ovhYaG6Z57Jkg62w979uzWokVfGl//v/1tWq23Efz+Vpb8/Dy1bu1Vbf+5n4H8/LwL/r3k5eXJ1bX6z8m5wJqXV//XYOnSxfroo/f06qtvGt+EkaSoqBvUqVNIrY/18PC44PYTJ07os88+1tChI+pV94XHuKq4uFinT59SYWGhKioqLjgmJeWI8Ri2trZydnauMab256n9NTz7+6lFtW02NjZydm52RXqv2vNc0aMDAIB6CQ/vpvz8XB08uE8//PCNhg+/Q25uF/5HEVAfBoNBH40L06nyyjqNP3is6IJX8D8aF6aglk51Ooa9jZUMhj/39sLhwwcVFhZe53v2/2jevE/1xRdzjd9/8cUSeXp6ytbWVi+++A9NmHCnWrXy1KOPnr+q/Merkn+8AmlnZ6eJEyfrrbde1/Dho2s855EjRzRs2Mhq20JDw7RkycJq2/z9A41/dnBwkKOjo/Ge4YSEw9q5c7sGDOhT4/gZGem1Bv23337/ovt+r3PnLsY/N2vmorZt2yklJVnS2TByoavjf8bXXy/S3r179Morb8rTs7V2796pN998TR4eHrr11pslSR9//L4KCwv11lvvycWluTZuXK8XX/yb/vOfj+XvH6D27f31wgsz9O9//0sffvgfWVlZafTocXJ1dfvTvXY5VFVVafPmXzVz5ivVtoeEhFb7vnPnLlqy5Cvj9x4eLa9KfZfD+vU/6fjxfL3//ifq2LFztX1NmzqqaVPHeh+zuLhIzzzzmHx925uciYK6IegDANCAGAwG9e17s/Lz85STk601a1Zo9Oi75OBQ/384AX9kMBjkYGtdp7H2NmenRhsk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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = USDC/USDT\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/oAAAIeCAYAAAALRHSBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHMElEQVR4nOzdd1yVdf/H8fdhyRRlKOACAXEAgiNFMcucqeXWNEt/lZbtLFuW2lAru29vu9t3WaZl5rbUsrtyJOJExIEMB8PBEEUEZP3+8PYUOQIVD5zzej4e3Hdc1/ec87mOH9D3ub7X9zKUlZWVCQAAAAAAmAUrUxcAAAAAAABuHII+AAAAAABmhKAPAAAAAIAZIegDAAAAAGBGCPoAAAAAAJgRgj4AAAAAAGaEoA8AAAAAgBkh6AMAAAAAYEYI+gAAAAAAmBGCPgAAAAAAZsTG1AUAAIDKee+99/Tvf/9bUVFRcnNzu2R/v379VLduXX311VeSpOzsbH3wwQfatGmT0tPT5eTkpAYNGqhDhw6aMGGCnJycJEkvvPCCli1bZnweR0dHubm5qVWrVurbt6969OghK6vLnyNYt26dvv32W+3Zs0d5eXmqU6eO2rZtqxEjRigiIuKS8YMGDVJoaKimTp2q0aNH69SpU/r+++8vGZedna2IiAg99thjevzxx43b4+Pj9f7772vPnj3KzMxUnTp1FBAQoG7dumn06NHGcd26dVNaWpokyWAwyNnZWd7e3goLC9OQIUPUunVr49i/Hv+VDBw4UDNnzvzbcQAAmApBHwAAM5aTk6PBgwfr7NmzGjx4sJo2baqcnBzFx8frm2++0T333GMM+pJkZ2enN954Q5JUWFiotLQ0/frrr3riiSd0yy236MMPP5Szs7NxfFlZmV566SUtXbpULVu21NixY+Xh4aGMjAytW7dOY8aM0TfffKM2bdoYH3Py5Ent27dPTzzxxDUd086dO3XffffJx8dHQ4cOlaenp44dO6bdu3dr3rx55YK+JLVo0UJjx46VJOXl5Sk5OVlr167VokWLNGbMGL344ouSpOHDh5f7UCI1NVVz5szR8OHD1bZtW+P2xo0bX1PdAADcLAR9AADM2OLFi5Wenn5J2Jaks2fPytbWttw2Gxsb3X333eW2Pf300/rkk0/07rvvavLkyZo9e7Zx3+eff66lS5fq/vvv14svviiDwWDc98gjj2j58uWysSn/z40NGzaoVq1a6tix4zUd00cffSQXFxctXrxYtWvXLrcvKyvrkvH169e/5JieffZZTZw4UV988YWaNGmikSNHKjw8XOHh4cYxe/bs0Zw5cxQWFnbJ4wEAqM64Rh8AADN29OhRWVtbKyws7JJ9zs7OqlWrVoWeZ9y4cYqMjNTatWt16NAhSVJBQYE++eQTNW3aVM8//3y5kH/RgAEDFBoaWm7b+vXr1aFDB9nb21f+gHThmAICAi4J+ZLk7u5eoeewt7fX22+/rTp16uijjz5SWVnZNdUCAEB1RNAHAMCMNWjQQCUlJVqxYsV1P9ddd92lsrIybd68WZK0Y8cO5eTkqF+/frK2tq7QcxQVFWnz5s3q2rXrNdfRoEED7d27VwcPHrzm55AkJycnde/eXSdOnFBiYuJ1PRcAANUJQR8AADM2ePBgubm56YUXXlCfPn00ZcoUff/998rNza30czVr1kzShTPqkpSUlCRJCgoKqvBzbN++XWfPnr2uoP9///d/Kigo0IABAzRixAi988472rRpk4qKiir9XIGBgZL+OCYAAMwBQR8AADPm4eGhFStWaMSIETpz5owWLlyoiRMnKiIiQu+//36lpqw7OjpKurCgnXThGn9J5Rbz+zsbNmxQQECAGjZsWImjKK9z585auHChunXrpgMHDug///mPHnjgAd16663673//W6nnulj7xWMCAMAcEPQBADBz9erV07Rp07Rp0yatXbtWkydPlpubm+bMmaPFixdX+HnOnTsn6Y9wfHH1/cqE5N9+++2azub/9fr/0NBQ/fvf/9bWrVv13Xffafz48crLy9OTTz5ZqWn4F2uvzIcVAABUdwR9AABqmIsL6BUWFl52f35+/mUX2TMYDPLz89Po0aO1YMECWVlZaeXKlRV+3YvXxF+8vVzTpk0lXbinfUWkpKQoOTn5kqBvZ2engoKCyz7m4nY7O7vL7rezs1NoaKieeeYZTZ06VUVFRVq7dm2F6pGkhIQESVKTJk0q/BgAAKo7gj4AADWMj4+PJBlXv/+z/Px8HT9+3DjmSho1aqTatWsrIyOjwq+7cuVKGQwGde7cWZLUtm1bubq66ocfflBJScnfPn79+vVycXEpd0966cLiesePH79s2L94jA0aNPjb5w8ODpYknTx58m/HShfO5v/888/y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MgAAzB9BHwAAVAkrKyvdfnsvtWvXUZK0Y0e01q//r0pLS01cGQAA5o2gDwAAqoyVlZVuuaWTbr31DknSvn2xWr16mYqLi0xcGQAA5ougDwAAqlxwcGv16HGnrKysdPToEa1cuVjnz583dVkAAJglkwb9r7/+Wv3791ebNm3Upk0bDR8+XOvXrzfuHz16tIKCgsp9vfrqq+WeIz09XePGjVPr1q0VERGht956S8XFxeXGREdHa+DAgQoODlaPHj20dOnSS2pZsGCBunXrppCQEA0dOlSxsbFVc9AAAFiowMDm6tmzr2xsbHT8+DGtXPmd8vPzTV0WAABmx6RB38vLS88++6yWLl2qJUuWqGPHjnr00UeVkJBgHDNs2DBt2rTJ+DVp0iTjvpKSEo0fP15FRUVauHChZs6cqWXLlmnOnDnGMSkpKRo/frw6dOigFStW6P7779fkyZO1ceNG45jVq1drxowZevTRR7Vs2TI1b95cDzzwgLKysm7OGwEAgIVo2jRQd901VPb29jp58oSWLVuo06dzTF0WAABmxaRBv1u3buratat8fX3l5+enp59+Wo6OjoqJiTGOsbe3l6enp/HL2dnZuG/Tpk1KTEzUO++8oxYtWqhr16568skntWDBAuN0wIULF6phw4Z64YUX5O/vr3vvvVe9evXSF198YXyeuXPnatiwYRo8eLACAgI0bdo02dvba8mSJTfrrQAAwGJ4eXlrwIDhcnZ2UU7OKS1evEDp6SmmLgsAALNhY+oCLiopKdHatWt17tw5hYeHG7evWrVKK1eulKenp26//XZNmDBBDg4OkqSYmBg1a9ZMHh4exvGRkZGaOnWqEhMT1bJlS8XExCgiIqLca0VGRmr69OmSpPPnz2vv3r0aP368cb+VlZU6deqkXbt2XbVmg+G6D7vKXayxJtQKXA96HZbCXHrd3d1dgweP0IoV3yknJ0fff79MvXr1k69vU1OXhmrCXHod+Dv0OqqCyYN+fHy8RowYocLCQjk6Our9999XQECAJKlfv37y8fFRvXr1FB8fr1mzZunQoUP697//LUnKzMwsF/IlGb/PyMi46pizZ8+qoKBAp0+fVklJidzd3cuNcXd3V3Jy8hXrdnNzkrV1zVnL0N3dxdQlADcFvQ5LYQ697uHhooceekjffPONUlNTtXr1CvXr109t2rQxdWmoRsyh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dOi9cnd3V1FRkX79dZ1+/fUnFRUVmbo0AAAui6APAADwN1xd62jw4FFq3TpckrR/f5wWL16gzMyTJq4MAIBLEfQBAAAqwMbGRp0736677hoiR0cnnTqVrcWLv9aOHVtUWlpq6vIAADAi6AMAAFRCw4aNNXz4aDVs2EilpaWKjt6stWtXqqAg39SlAQAgiaAPAABQaQ4OjurXb7Dat+8oKysrHT6crG+//Urp6ammLg0AAII+AADAtbCyslL79p00ePBI1alTV3l5Z7VixXfauPFnFRcXm7o8AIAFI+gDAABcB0/Peho6dJSCglqqrKxMe/bEavHiBcrOzjJ1aQAAC0XQBwAAuE62tna6447e6tath+zs7JSdnaXvvpuv2NhdKisrM3V5AAALQ9AHAAC4QZo3D9GIEferUaMmKikp0aZNv2rFikU6cybH1KUBACwIQR8AAOAGcnZ2Ub9+g9SlSzdZW1srPT1NixbNV0JCvKlLAwBYCII+AADADWYwGBQSEqbBg0eobl03nT9/XuvW/aCff16jwsJCU5cHADBzBH0AAIAq4uFRX0OH3qs2bW6RwWDQwYP79e2383TkSLKpSwMAmDGCPgAAQBWysbFRx46RGjBguGrXdtXZs7n64YflWr9+nYqLi0xdHgDADBH0AQAAbgJvbx8NHXqv/P0DJUl79+7RokXzdfx4uokrAwCYG4I+AADATVKrVi316tVfvXv3k6Ojk3JyTmnZsm+1ceMvKio6b+ryAABmgqAPAABwkzVt2kwjRtyvoKCWKisr0549MVq48Eulp6eaujQAgBkg6AMAAJiAvb297rijt3r0uFP29vbKzc3VihXfKSpqg4qLi01dHgCgBjNp0P/666/Vv39/tWnTRm3atNHw4cO1fv164/7CwkJNmzZNHTp0UHh4uB5//HFlZmaWe4709HSNGzdOrVu3VkREhN56661L/nKMjo7WwIEDFRwcrB49emjp0qWX1LJgwQJ169ZNISEhGjp0qGJjY6vmoAEAAP4kMLC5Roy4X4GBQSorK9OuXdv13XfzlZ6eYurSAAA1lEmDvpeXl5599lktXbpUS5YsUceOHfXoo48qISFBkjR9+nT9+uuvmj17tr766iudPHlSjz32mPHxJSUlGj9+vIqKirRw4ULNnDlTy5Yt05w5c4xjUlJSNH78eHXo0EErVqzQ/fff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mIiIiO4fC30iIiK6L4aGhmPekq9Wq2FsbCwty2QyrFixAuHh4cjLy8P27duRnZ2NwcHBe+5/eHgYTU1NkMvlAAA7Ozv09PTg5s2bD/ZEiIiI9BwLfSIiIrovdnZ2uHz58qj2K1euwNbWdtzt7O3tMTQ09LeFflFREbq7u6Wf2PP19YVMJsOBAwfGjOdkfERERGPjrPtERER0X1599VUUFBRgz549CAwMxOzZs1FaWoqTJ08iOzsbABAcHAw/Pz+4uLhg3rx5aGxsREZGBlauXAkjIyNpX/39/VCpVDo/r5efn49XXnkFq1atAgA8+uij2L17N1JSUqDRaLBx40bY2Nigvb0dJ06cwCOPPIJdu3ZNyv+CiIhoKpshhBCT3QkiIiKaHmpra5GZmYn6+npotVosXrwY4eHh8PHxAQDk5OTgzJkzuHHjBvr6+mBlZYW1a9ciMjISZmZmAO68GaBUKgHcuc1/3rx5cHFxQUBAANavXz/qmOXl5cjNzcWlS5fQ398PGxsbrF27FqGhoZyoj4iIaAws9ImIiIiIiIj0CL+jT0RERERERKRHWOgTERERERER6REW+kRERERERER6hIU+ERERERERkR5hoU9ERERERESkR1joExEREREREekRFvpEREREREREeoSFPhEREREREZEeYaFPREREREREpEdY6BMRERERERHpERb6RERERERERHrkX0PmDLuKRY+DAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDT\n" - ] - }, - { - "data": { - "image/png": "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8IH8/f01cODAKzspAADqGe7RBwCggbGzs1N4eLi2bt0qOzs7hYWFVdkfFRWlTz75RNKF9+dLUmZmpvEq9h85Ozvrpptuqpui/+fXX39Vs2bNFBQUdMG+559/Xg899JAGDRqkwYMHy9vbW4cOHdKiRYvk5eWlsWPHGsfu379fzzzzjHr27KnOnTvLzc1NmZmZWr58ubKysvTiiy/K2tq6yvHXrVun5ORklZeXKycnR3Fxcfrtt9/k5+enDz/88LK3BgAA0JAQ9AEAaIA6deqkrVu3qn379rKzs6uyr2PHjvrkk0/k7OyskJCQCx67b98+Pffccxdsb9asWZ0H/bVr114wbf+87t27a8GCBfrwww81b948FRUVycPDQ7fddpsef/zxKovldenSRU888YTWr1+vOXPm6MSJE3J2dlZoaKieeeYZ3XzzzRcc/5133pF0bnp/48aN1bZtW7344osaMmSIXFxc6uaEAQAwA0NlZWWluYsAAACWLycnRzExMZo1a9Ylwz4AAKg97tEHAABXRWFhocaPH69u3bqZuxQAACwaV/QBAAAAALAgXNEHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwILYmLuAhio7u9DcJVSbu7uz8vKKzF0GGjB6CKZwLfVReXm5vv76Kx0/nqEmTdw1bNjdsrW1M3dZDd611EOoO/QRaosegilcaR95eblWaxxX9C2cwSBZW1vJYDB3JWio6CGYwrXWR9bW1urff6CcnZ114kSefv31R/FptrVzrfUQ6gZ9hNqih2AKV6OPCPoAANQBJycn9et3mwwGgxIT9ys+fou5SwIAANcIgj4AAHWkadNm6tKluyQpLm6jMjJSzVwRAAC4FhD0AQCoQx07dpO/v78qKir044/fqqSk2NwlAQAAC0fQBwCgDllZWalfv4Fyc2usU6cK9f3336iiosLcZQEAAAtG0AcAoI45ODjollsGysbGVunpqdq4ca25SwIAABaMoA8AwFXg7u6pPn36SZISEnZo796dZq4IAABYKoI+AABXSVBQsNq3D5ckbdiwVrm52WauCAAAWCKCPgAAV1FMTB81a+avsrIyrVmzQqdPnzZ3SQAAwMLUm6D/n//8R8HBwfrnP/9p3HbmzBlNnTpV3bp1U1RUlB5//HHl5ORUeVxGRobGjBmjiIgIRUdH6/XXX1dZWVmVMXFxcRo8eLDCwsLUt29fLV269ILnX7Bggfr06aPw8HANHz5cCQkJdXOiAIBrmrW1tW6++Xa5ujZSQcFJ/fjjGhbnAwAAJlUvgn5CQoIWLlyo4ODgKtunT5+uX375RTNnztS8efOUlZWlxx57zLi/vLxcY8eOVWlpqRYuXKjXXntNy5Yt0zvvvGMck5qaqrFjx6pbt276+uuv9be//U2TJk3S+vXrjWNWr16tGTNmaPz48Vq2bJlCQkL04IMPKjc3t+5PHgBwzXFwcFT//gNlbW2to0dTtHHjr+YuCQAAWBCzB/2ioiI9++yzevXVV+Xm5mbcXlhYqCVLluj5559XdHS0wsLCNH36dO3YsUPx8fGSpA0bNigpKUlvvvmmQkND1atXLz355JNasGCBzp49K0lauHCh/P399fzzzyswMFD33HOPbr75Zn366afG55ozZ47uvPNODR06VEFBQZo6daocHBy0ZMmSq/lSAACuIV5e3rruuuslSQkJ8UpM3G/migAAgKUwe9CfNm2aevXqpR49elTZvnv3bpWWllbZHhgYKD8/P2PQj4+PV9u2beXp6WkcExMTo1OnTikpKck4Jjo6usqxY2JijMc4e/as9uzZU+V5rKys1KNHD+3YseOytRsMDeOrIdXKV/38oof4MsUXfXThV3h4lEJD20mSfvnle+XmZpu9pvr8RQ9dG1+PPz5GMTGdFRPTWYmJB0x+fEvro08+mWV8vRYt+tzs9VwLX5bWQzX9ionprPXrfzV7HQ3960r7qLpsqj/U9L755hvt3btXixcvvmBfTk6ObG1t1ahRoyrbPTw8lJ2dbRzzx5Avyfj9X405deqUTp8+rZMnT6q8vFweHh4XPE9ycvIla3d3d5a1tdnfJ6k2Dw9Xc5eABo4eginQRxcaNmyoFiw4reTkZH377Qo9/PDDcnZ2NndZ9RY9ZB4JafmasXq/Xrg1RB38G9fpc9na2ujOO+/UE088oSZNmsjG5q//uZqYmKh33nlHe/bsUXp6ul544QXdf//9lxxfmz56/vnntWzZMk2YMEFjxowxbv/xxx81fvx4HThw4IqPfSUee+xRPfDA3zRs2DA5O9vL09N8vyOLFi3S8uXLlZiYKElq3769nn76aXXo0ME45vvvv9fChQu1Z88e5efna/ny5QoNDa1ynJdfflkbN25UVlaWnJycFBUVpWeeeUaBgYGSpBMnTuiZZ57RgQMHlJ+fLw8PD9144416+umn5eLictHa0tLS9MEHH2jTpk3KycmRt7e3Bg4cqEceeUR2dnbVPsfExERNmfJitXrthRdekLe3t5566qlqH78m1qxZo3//+99KT09Xy5Yt9cwzz6hXr16XfUxcXJxee+01JSYmqmnTpnr00Uc1ZMiQGj93o0aOJum1/fv36z//+Y+2bdumEydOqFmzZho5cqT+9re/1bjuBQsWaPbs2crOzlZISIheeumlKr135swZvfbaa1q9erXOnj2rmJgYTZ48uUpWzMjI0JQpUxQXFycnJycNGjRIEyZMqPJ36Epew/3792vatGnatWuX3N3ddc899+jhhx+u0/9NM1vQP3bsmP75z3/qk08+kb29vbnKuGJ5eUU1ekfFXAyGc/9jlptbqMpKc1eDhogeginQR5fXu3d/5eZ+rpMn8zV37lwNHjyyWuHmWkIPmdeC31IUm5yrzzemyK9PUJ0+V2lpmSorrWUwOCg/v6Rajzl+PFceHj4aM6aX3nnnbRUVnVFOTuEF40zRR6dPl8rOzl7/+c9/dNNNA4wXpQoKztV6seetawaDgyTDJc/7alm37jfdcMNNeuyxp2Vvb6/58z/T6NGjNX/+Inl5eUuSsrLyFBISppiY3nr99Vd14kTRBTW3aBGo66+/UT4+viooKNDs2bM0evRoffXVCllbW6ugoFjdu8fo/vvHqEmTJkpLS9W//vW6srJyNGXKPy9WmuLj96ik5KwmTHhB/v7+Sk4+pNdf/6fy8k7qscf+Xu1zPH48V/7+/rruusv3Wnl5uX7++We9+ebMOvmZ7Nq1UxMmTNDYseN13XU99f3332rcuHGaM2e+Wre++O9oRka6xowZo0GDhuof/5iqrVs3a9KkSbK3d1G3btEXfcylFBSUmOS8Nm3aKicnV02aNFXe3j7avTtBr7/+T5WUlGrYsBHVrvvHH7/XjBkz9OyzL6hduzAtWvSFHnjgAX3xxRI1aeIuSXrzzRmKjd2gadNmyNnZRW+//YYeeeRRffTRJ5LO/cwefPAhubt76MMPZys3N0evvjpZpaWVeuSR8Vf8GhYVndLo0Q+oc+eumj17npKTkzR9+jQ1atRIN910a43/FlX3DRaz/Stiz549ys3NrfLuR3l5ubZs2WJ8N6a0tFQFBQVVrurn5ubKy8tL0rkr839eHf/8qvx/HPPnlfpzcnLk4uIiBwcHWVlZydra+oKF93Jzcy+YCfBnDekfGpWVDate1D/0EEyBPro4e3sH3XLLHVqy5HNlZWXpp5/WqG/f22RoCO8oX2X0UO1UVlbqdFn1PuXheMFpnTx97pOMvtt/bqbkd/uydWPbc//GcnOwkW8jh788joONVY16+fzP988/5+TkQ/roo3cVH79DlZWVatOmrf7xjylq1sxfISHtFRLSXpL04YfvXfTxf36Ow4cP64EHRmnixJfUr19/SdJPP/2gf/5zimbPnqdWrVpf8vGdO3dVenqq5s2bo3Hjnrxk3b/++pP++99ZSk9PlYeHp4YOHaG77rrHuH/YsNs1cOBgpaWl6pdffpKrq6v+9rcHdccdv//7ODPzuN57b6a2bNkkg8FKERGRevLJZ9S0qd9lX7+/cuxYhoYPH6gpU/6pxYu/1MGD+9Wsmb+efnqioqI6Ve8gfzJ58qtVvp84cZJ+/fVnbdmyWbfccpsk6eabBxif/1I1Dxz4+/n7+vrp4YfH6f7779KxY8fUrJm/XF0badCgYcYxPj5NNXjwcH3xxbxLnn+3bj3Urdvvt+r6+fnr6NEjWrZsicaP/3u1zzE0tL169uyunJzCy/barl0Jsra2UUhIe2VkmP61XrRoobp1i9bdd98nSXr44Ue1ZUucFi9epGefffGij1m2bImaNvXTY4+dm2HQokUrJSTEa+HCz9W1a82C/h//Fs+ePUsrVizVv/71noKC2tToOAMG3FHlez8/f+3atUtr1/6ioUNHVLvuhQsX6PbbB+nWWwdKkp555gVt3LhBK1eu0L333q9Tp05p1aqvNXnyq+rYsYsk6cUXJ2vUqGHatWuXwsLCFRe3SYcPp2jmzA/k7u6hNm2C9dBDj+jDD9/VAw+Mka2t7RW9ht99961KS0v1wgsvy9bWVq1aBSox8aDmzJmjG2+sedCvLrMF/e7du2vlypVVtr3wwgtq3bq1Hn74YTVt2lS2traKjY3VzTffLElKTk5WRkaGIiMjJUmRkZH66KOPlJuba5x6v3HjRrm4uCgoKMg4Zt26dVWeZ+PGjcZj2NnZqX379oqNjdVNN90kSaqoqFBsbKzuueceAQBwNbi7e6h377764Yc1SkpKlK9vvDp0iDJ3WbAglZWVemjhTiVkFFzxMU6UlOrhhTtr9JgIv0b6eGRErd64ys7O0mOPjVFUVEe9886HcnJy1q5dO1VeXvbXD76EFi1aavz4v+vtt19Thw6RsrIy6K23ZujRRx+/bMiXJGtrK40ZM15Tp07SsGEj5e3tc8GY/fv36eWXX9ADD4xRnz59tXt3gv71r9fk5uamW2+93Thu4cIFeuihR3TffQ/ol19+0r/+9ZqiojqqefOWKisr04QJj6t9+3C9//5/ZW1trc8+m60JEx7XZ58tlK2t7SVrfOyxMWra1E//+MeUy57LBx+8oyeeeFotW7bWl18u0MSJT+urr76Wm1tjSVLfvj0v+/h+/W65ZLA8c+a0ysrK1KiR20X3V0dJSYlWr16hpk2bXfR1lqScnGytXfuzIiM71ujYp06duuA2YVPZsGGdrruuZ5W+N+VrvXt3gkaOHFVlf7du0Vq37tdLPn7Pnl3q3LlblW1du0brnXf+VYMz+11lZaVmznxTGzdu0Pvv/1f+/gGSpDffnK7vv19z2cf+8MP6S+4rKqr6c/mruktLS3Xw4H7de+9o434rKyt17txVe/acuyh84MA+lZWVVTlOixYt5ePjqz17EhQWFq49e3apdesgubt7VHmet956TSkph9S2bcgVvYa7dycoMjKqyu9r167Rmj//MxUUFMjVtW560GxB38XFRW3btq2yzcnJSY0bNzZuHzp0qF577dwfRBcXF7366quKiooyhvSYmBgFBQXpueee07PPPqvs7GzNnDlTo0aNMt5rM3LkSC1YsEBvvPGGhg4dqk2bNmnNmjWaNWuW8XlHjx6tiRMnKiwsTB06dNBnn32mkpKSK7pfBQCAKxUUFKLCwlOKjV2n3377VU2auCsgoIW5y4IFaahzRJYu/UrOzi6aOnWG8baW5s1r/7sxZMhwbdr0m1555SXZ2NgqNLSdcbrwX+nVq7fatGmr2bNn6YUXXr5g/5dfLlCnTl10//0PGes9fDhZn38+r0rQj47uoSFDhkuS7rnnb1q06HNt375VzZu31E8/fa+Kigo9//xLxsD44ouT1b//DdqxY5u6du1+yfp8fHzl4XH52annX4MbbrhRkjRhwvOKi4vVqlVfa9Soc/dIz5nz+WUff7k1RT744F15enqqc+euf1nHny1d+pU+/PAdlZSUqHnzFpo58/0L3tiYPPlFbdiwVmfOnNF11/XUxImTqn38tLRULVnyZY2u5tfE+vVr9cQTT1fZZsrXOi8v1zgl/bwmTdyVl3fpjwfPzc2Vu3vVx7i7u6uoqEhnzpyWvf1fz9A5r7y8TNOmvaTExAP64IP/Gm/NkKSHHnpEd911b7WP9Ue7du3UTz99rzff/He16y4sLFR5eflFxxw5cth4DFtbW7m6ul4w5vzM7os/j4dxX3VqudhrmJeXe8EMnPPHyMvLtbygXx0vvviirKys9MQTT1RZMOE8a2trffTRR5oyZYpGjBghR0dHDR48WE888YRxTEBAgGbNmqUZM2Zo7ty58vX11auvvqqePX9/x+zWW29VXl6e3nnnHWVnZys0NFT//e9//3LqPgAAphYZ2Ul5eTk6cGCvvv9+lQYNulMeHl7mLgsWwGAw6OOREdWeui9JB7JOXfQK/scjIxTsffFFz/6splP3LyYx8YAiIiKveO2K779fozffnC7p3Ovw5pv/VkTEuRkzL7zwsu66a4gMBivNm7fIWOvOnTv0zDO//5vy2WdfVL9+t1Q57qOPPq4nn3z0oqHmyJEUxcRUXRgtPDxCixZ9ofLycllbW0uSAgN/n+psMBjk7u6hEydOSJKSkhKVnp6mfv2ur3Kcs2fPKj097bLn/NJL0y67/7ywsN8XK7OxsVFwcKgxHEkyXqWtqXnzPtVPP32vd9+ddUXrcfXrd4u6dOmm3NwcffHFPL300vP68MPZVY71xBNP64EHxig19Yg++uh9vfvu/+mZZ57/y2NnZ2dpwoTH1bv3TRo4cHCNa/srhw+nKDc3W506damyva5ea3N4993/k62trWbN+lSNGzeusq9JE/cL3oSojuTkJL3wwgSNHv3wZd/EQvXUq6A/b968Kt/b29tr8uTJVcL9nzVr1kwff/zxZY/brVs3LV++/LJj7rnnHqbqAwDMzmAwqFevm5SXl6vs7EytXr1cw4bdLUdHVuJH7RkMBjnaWld7vIPNuU8YMkiq/MP/d7CxqtFxaqu2CzfHxFyvdu3CZDBITZo4y8bGybgvKemgSkpKZGVlpdzc3z+tKSQktMoV1j9fxZOkyMiO6tq1u2bNek+33HL7Bfur489vXhgMBlVUnHszpqSkWG3bhlxw77skNW7c5Iqer6auZOr+55/P04IFn2rmzA9qfM/2eS4uLnJxcVFAQHO1bx+uW27prXXrflHfvv2NYzw8POXh4akWLVrK1dVN48c/pPvvf+iyF+tycrL1+OOPKCysg5577h9XVNtf2bBhrTp37lbjvq3Ja33uDaG8KvtPnMirMu38zzw8PJSXV/UxeXl5cnZ2rtHVfOncOhU//vi9Nm+OveANsCuZup+Skqwnnxyn228fbJwFU926raysZW1tfdEx52/v9vDwUGlpqQoLC6tc1f/zmH379vzpGLnGfdWp5WIu9rM6f4zL/bxqq14FfQAAcO4f/v37367FixeosLBQ33+/WrfdNsR4BRC4Wpo42cnDyVY+rva6I9xXX+86rszCM2riVP2PIzOFwMA2WrPmG5WVlV3RVX0nJ2c5OTnLYDi3YnVOzrlV9wsKTuqf/5yq++57QLm5OZo2bZI++WS+7O0dZG/vUK0rrI888rhGj777gttsWrRopV27qs6G2LVrpwICmlf7d7lt2xD99NMPatKkiZydqzeDoqb27NllvLe9rKxMBw7s09Chdxr313Tq/oIFn2nu3E/0r3+9p5CQdiapsbKyUpWVlSotLb3MmHNvjpSWnr3kmOzsLD3++CMKDg7Riy9OlpVV3XxU9oYN6y46U8CUr3VYWAdt3bpFd955t3Hbli1xCgsLv+Tj27cP16ZNv1XZtmVLnNq373CJR1xaTEwvXXfd9Zo6dZKsrKx00003G/fVdOp+cvIhPfnko7rllgEaO3Z8jeu2tbVV27Yh2rZts66//gZJ59Zc27Zti4YMOff6BgeHysbGRtu2bTbePnH06GFlZh43Hqd9+3DNnfuJTpzIM85I2LIlTs7OzmrZsnW1armYsLAO+s9/Pqjy92vLlji1atVKjRo1qrPF+BrOB8EDAHANcXVtpAEDBsnW1lbp6alat+4nVbLcPK4yH1d7rXi4mz4dFaUhEX76dFSUVjzcTT6uV/ejkYcOvVPFxac0efIL2r9/r1JTj+rbb7/R0aOHJZ1bjCsx8YASEw+otLRU2dnZSkw8oLS01Mse9803Z8jb20d/+9uDevzxp1VeXqH33vv3ZR/zZ4GBQerbt78WL/6yyvaRI+/Rtm1b9Omn/9XRo0e0Zs0qLVmyqEYBqF+/W+Tm1ljPPz9BO3fuUEZGurZv36qZM99UVlbmZR/7yisv66OP3vvL51i69CutXfuLjhw5rLfffl2FhYVVVkL39w+47Ncfp2jPn/+p/vvfj/TCCy+radOmys3NUW5ujoqLi41jCgpOKjHxgA4fTpYkHT16RImJB5Sbe+5TstLT0zRv3hzt379Px48f165dO/XSSxNlb++g6OjrJEmxsRv0zTcrlJycpGPHMrRx4wa99dYMhYdHGO+F3rt3t+6+e6iys7MknQ/5Y+Xj46vHHvu78vNPGOuridLSUu3bt08HD168106cyNP+/XvVo8eFV+dN+VoPHz5ScXEb9cUX83XkyGHNnj1L+/fvrfLGwUcfvadXXvl9/YhBg4YqIyNdH3zwbx05clhLl36lX375USNG/P5mQU306tVbL700VdOnT9Mvv/xo3N6kiftfnst5yclJeuKJR9S1azeNGDHK+DM5f/tKdeseOXKUVq5crjVrVunw4RS99dYMlZSUaMCAczNtXFxcdNttd+jdd/9P27dv1f79+zR9+jSFhXUwvjnStWt3tWzZSq+88rISEw8qLi5WH3/8oYYMudO4/lt1almy5Es9+eSjxu/79u0vW1tbzZgxTcnJh/TTT9/rq6++0OjRvy8eWBe4og8AQD3l7d1U/foN0OrVX2vfvt1ydW2kzp25bxFXl53N79eFDAaD7Gyu/pJ+bm6N9e9/f6QPPvi3HntsjKysrNWmTVuFh0dIOjcde/To31cg/+KLefrii3mKjOyo9977z0WPuWbNKm3a9Js++WSBbGxsZGNjo5dfnqZx4x5Sjx4xxlBZHQ899Ih+/vmHKtuCg0M0bdoM/fe/s/Tpp/+Vh4enHnzwkSoL8f0VBwcHvf/+f/Thh+/qH/94VsXFxfL09FKnTl0vuwiedO5j+apzxfqRRx7T/PmfKinpoJo1C9Drr799wT3X1bV8+RKVlpZq0qSJVbaPHv2wHnxwrKRzV7unT59q3Dd58otVxtjb22vnzh1atOgLFRYWyN3dQxERUfroo9nGoGtv76CVK5fr3Xff1tmzpfL29lGvXr11zz33G497+vRpHT16RGVl5z6ZYcuWOKWlpSotLVWDB99apb4NG7Ya/zsmprNefHHyJX9OOTnZGjZskPH7P/fab7+tU2ho+4u+hqZ8rcPDIzR58j/18ccf6D//eV/+/gGaMeMttW4dZByTm5ujzMzjxu/9/JrpjTdm6t1339ZXXy2Ul5e3Jk6cVOXz31evXqnp06dWeU0up3fvm1RRUalXXjk3Q6JXrz41Oo9ffvlJ+fkn9N13a/Tdd79P9/f1barFi1dWu+4bb+yn/PwT+u9/P1JeXq6CgtrqX/96t8rU+Mcff1oGg5X+8Y/nVFp6Vl27RmvChN971draWm+8MVNvvTVDjzwyWo6Ojurf/zZj71a3lvz8/CpraLi4uOjtt9/T22+/roceuldubo01evRDGjFihHJyCmv0etWEoZLLA1ckO7vufiim9OcpakBN0UMwBfqodhISdmjDhl8kSb1791Vo6KWnZloqeuja8dhjY9SmTbCefHKCyY9tyX00bNjtuvPOu6pM5b6cY8fOfbb7nDkL1KZNcB1X1zBkZKTrrruGaP78rxQQ0PyiY/6qhyZOfEodOkQaV9KXGtZrPXv2LO3Yse2Sb5DBNGrzt8jLy/WvB4mp+wAA1HsdOkQpODhUkrRu3c/KzDxm5oqAurVs2Vfq27enDh1KMncp9d7cuZ+ob9+eVa7c4srExv6mgQOHXDLkV0eHDpFV7ldvaDZt+k3jxj3x1wNR7zF1HwCABuCGG/qpuLhIqalHtXr11xo27O46++xdwJwmT35VZ86ckXTus+BxeYMGDVWfPn0lXb2V+C3VH+9vv1J/vJLfEH388VxzlwATYer+FWLqPq4V9BBMgT4yjbNnz2rZsi+Vm5utJk08NHjwCDk41OwjkRoqegimQB+htughmAJT9wEAgJGdnZ0GDBgkJydnnTiRq9WrlxoXmgIAADiPoA8AQAPi4uKq/v0HyNraWsePH9cvv3zHx+4BAIAqCPoAADQwvr7+uvHGm2UwGJSYeECbN280d0kAAKAeIegDANAABQWFqFevmyRJ27bFaffunWauCAAA1BcEfQAAGqh27cLVuXN3SdL69T8rMXGfmSsCAAD1AUEfAIAGrEuXaAUFtVFlZaV+/vl7HT9+zNwlAQAAMyPoAwDQgBkMBvXpc4uaNm2m8vJyrV69XCdPnjB3WQAAwIwI+gAANHA2Nja67bbB8vLy1unTJVq5cqmKi4vNXRYAADATgj4AABbA1tZOAwYMlqtrIxUUnNSKFYt0+vRpc5cFAADMgKAPAICFcHJy1oABg2Vvb6+8vDytXr1UZWVl5i4LAABcZQR9AAAsiLu7h265ZaBsbGx0/Phx/fDDalVUVJi7LAAAcBUR9AEAsDB+fgG65ZY7ZGVlrZSUJK1d+6MqKyvNXRYAALhKCPoAAFiggIAW6tv3VhkMBu3bt1vr1/9k7pIAAMBVQtAHAMBCBQa2Uc+evSVJu3cnaMuWjWauCAAAXA0EfQAALFhYWKQ6duwsSdqyZZP27dtt5ooAAEBdI+gDAGDhunaNUUREJ0nSr7/+oJSUJDNXBAAA6hJBHwAAC2dlZaUePa5XSEh7VVZW6rvvvtGRI4fMXRYAAKgjBH0AAK4BBoNBN9zQV82bt1BFRbm+++4bHTuWZu6yAABAHSDoAwBwjbCystLNN98ub29vlZWVafXqr5WTk2XusgAAgIkR9AEAuIbY2tpp4MDh8vFpqjNnzmjFiiXKy8s1d1kAAMCECPoAAFxj7OzsddttQ+Tl5aPTp0v09deLlJubbe6yAACAiRD0AQC4Btnb2+v224eocePGKikp0cqVS1RQcNLcZQEAABMg6AMAcI1ycHDU7bcPk6urq4qLi7VixWIVFZ0yd1kAAKCWCPoAAFzDXF0badCgEWrUyE0FBSf19deLVVxcbO6yAABALRD0AQC4xrm6NtLAgcPk7Oyi/Pw8LV/+pYqLi8xdFgAAuEIEfQAAoEaN3HTHHcPl4OCg/PwTWrHiK505c8bcZQEAgCtA0AcAAJKkxo2b6LbbBsvOzk55eXlatWopYR8AgAaIoA8AAIy8vZvqjjuGy97eQZmZx7Rq1RLCPgAADQxBHwAAVOHl5aM77hj2v7B/XMuXf6mSkhJzlwUAAKqJoA8AAC7g6emtgQOHys7OTrm5Of+7Z/+0ucsCAADVQNAHAAAX5eXlo9tuGyI7O3vl5uZo5colhH0AABoAgj4AALgkX18/42r8WVmZWrlyiU6fZho/AAD1GUEfAABclpeXtwYO/D3sn7tnv9jcZQEAgEsg6AMAgL/k6emlgQOHyc7OXnl5eVqxYrFOn2YaPwAA9RFBHwAAVIunp7duv32w7O3P37O/mGn8AADUQwR9AABQbT4+fho06E45OjoqOztLy5cvUlFRobnLAgAAf0DQBwAANeLh4aU77rhTTk7OysvL1ZIlX+jkyRPmLgsAAPwPQR8AANSYu7uHBg0aLicnJ506dUrLl3+lkyfzzV0WAACQmYP+559/rttvv10dO3ZUx44dNWLECK1du9a4/95771VwcHCVr5dffrnKMTIyMjRmzBhFREQoOjpar7/+usrKyqqMiYuL0+DBgxUWFqa+fftq6dKlF9SyYMEC9enTR+Hh4Ro+fLgSEhLq5qQBALAQjRu7a/DgEWrUqJGKik5p+fIvlZeXa+6yAAC45pk16Pv6+uqZZ57R0qVLtWTJEnXv3l3jx49XYmKiccydd96pDRs2GL+ee+45477y8nKNHTtWpaWlWrhwoV577TUtW7ZM77zzjnFMamqqxo4dq27duunrr7/W3/72N02aNEnr1683jlm9erVmzJih8ePHa9myZQoJCdGDDz6o3Fz+sQIAwOW4uTXRkCF3yd3dQ0VFRVq+fJGOH88wd1kAAFzTzBr0+/Tpo169eqlly5Zq1aqVnnrqKTk5OSk+Pt44xsHBQV5eXsYvFxcX474NGzYoKSlJb775pkJDQ9WrVy89+eSTWrBggc6ePStJWrhwofz9/fX8888rMDBQ99xzj26++WZ9+umnxuPMmTNHd955p4YOHaqgoCBNnTpVDg4OWrJkydV6KQAAaLCcnJw1aNCd8vT01unTJVq5conS04+YuywAAK5ZNuYu4Lzy8nJ9++23Ki4uVlRUlHH7ypUrtWLFCnl5eal3794aN26cHB0dJUnx8fFq27atPD09jeNjYmI0ZcoUJSUlqV27doqPj1d0dHSV54qJidH06dMlSWfPntWePXs0duxY434rKyv16NFDO3bsuGzNBkOtT7vOna+xIdSK+okeginQR5bP0dFRAwcO1YoVXyknJ0erV6/QgAGD1KxZgEmOTw/BFOgj1BY9BFO4Gn1k9qB/4MABjRw5UmfOnJGTk5Pef/99BQUFSZJuu+02+fn5ydvbWwcOHNBbb72llJQUvffee5KknJycKiFfkvH77Ozsy445deqUTp8+rZMnT6q8vFweHh5Vxnh4eCg5OfmSdbu7O8vauuGsZejh4WruEtDA0UMwBfrI0rnqgQce0BdffKHU1FStWrVMd955p9q0aWOyZ6CHYAr0EWqLHoIp1GUfmT3ot2rVSsuXL1dhYaG+++47TZw4UfPnz1dQUJBGjBhhHBccHCwvLy/df//9Onr0qJo3b27GqqW8vKIG8U6ewXCugXJzC1VZae5q0BDRQzAF+ujacuutg/Ttt6t05EiKFi5cqJ49b1BYWGStjkkPwRToI9QWPQRTqE0feXpW780Bswd9Ozs7tWjRQpIUFhamXbt2ae7cuZo2bdoFYyMiIiRJR44cUfPmzeXp6XnB6vg5OTmSJC8vL0nnrt6f3/bHMS4uLnJwcJCVlZWsra0vWHgvNzf3gpkAf9aQfrkrKxtWvah/6CGYAn10bbC2tlX//gP188/fKTFxv9au/VklJSXq3Dn6rx/8F+ghmAJ9hNqih2AKddlH9W7ueUVFhXEhvT/bt2+fpN9DfGRkpA4ePFglpG/cuFEuLi7G6f+RkZHatGlTleNs3LhRkZGRks690dC+fXvFxsZWqSE2NrbKWgEAAKD6rK2tdeON/RUcHCpJ2rw5VnFxv6mSfxkDAFDnzBr0//Wvf2nLli1KS0vTgQMH9K9//UubN2/W7bffrqNHj+r999/X7t27lZaWpp9++kkTJ05Uly5dFBISIunconpBQUF67rnntH//fq1fv14zZ87UqFGjZGdnJ0kaOXKkUlNT9cYbb+jQoUNasGCB1qxZo/vvv99Yx+jRo7Vo0SItW7ZMhw4d0pQpU1RSUqIhQ4aY42UBAMAiWFlZqXfvm9W5c3dJ0rZtcVq79idVVFSYuTIAACybWafu5+bmauLEicrKypKrq6uCg4M1e/ZsXXfddTp27JhiY2M1d+5cFRcXq2nTpurXr5/GjRtnfLy1tbU++ugjTZkyRSNGjJCjo6MGDx6sJ554wjgmICBAs2bN0owZMzR37lz5+vrq1VdfVc+ePY1jbr31VuXl5emdd95Rdna2QkND9d///vcvp+4DAIDLs7KyUteuPeTk5Kx1637S3r0JOnXqpPr3HygbG1tzlwcAgEUyVDKH7opkZxeau4RqMRjOLdiQk8OCIbgy9BBMgT6CJCUm7tdPP32riooK+fo21W23DTXOwPsr9BBMgT5CbdFDMIXa9JGXV/UW46t39+gDAADL1KZNiPr1GyAbGxsdP35MK1Z8pZKSEnOXBQCAxSHoAwCAq6Z16zYaOHC4HBwclJWVqWXLFurkyXxzlwUAgEUh6AMAgKvK17epBg0aIRcXV+Xnn9DixQuUkZFq7rIAALAYBH0AAHDVubt7aMiQkWrcuLHOnDmjVauW6ciRZHOXBQCARSDoAwAAs3BxcdWQIXepaVM/lZWVafXqr7V37y5zlwUAQINH0AcAAGbj4OCogQOHKzi4nSorK/Xrrz8oNnatKioqzF0aAAANFkEfAACYlbW1tfr0uVmdO3eTJO3YsU3ff79SZWVlZq4MAICGiaAPAADMzmAwqGvX69SjR08ZDAYlJx/SmjVf6+zZs+YuDQCABoegDwAA6o3IyC7q12+AbGxslJp6RMuXf6lTpwrNXRYAAA0KQR8AANQrgYFtNWjQnXJ0dFJOTrYWL16gY8fSzV0WAAANBkEfAADUO97evho69C65uTVWcXGxvv56sfbt22fusgAAaBAI+gAAoF5q1MhNQ4bcJV9fX5WXl2vRokXasWOrKisrzV0aAAD1GkEfAADUW46Ojho48E61b99BkrRx4zr9+usPrMgPAMBlEPQBAEC9ZmNjo169btTNN98sSdq3b7e+/nqRSkqKzFwZAAD1E0EfAADUewaDQd27d1e/frfK2tpamZnHtWzZIp08mW/u0gAAqHcI+gAAoMFo0yZEd9wxTM7OLsrPP6ElSz5nRX4AAP6EoA8AABoUX99mGjbsbnl5+ej06dP6+uuvtHPnFnOXBQBAvUHQBwAADY6zs4sGDbpTrVu3UUVFhX77bb1+/vlblZeXm7s0AADMjqAPAAAaJFtbW/XrN0CRkR0lSfv379WqVUt1+nSJmSsDAMC8CPoAAKDBsrKyUo8eN6h//4GytbVVenqqFi/+XNnZmeYuDQAAsyHoAwCABq916yANGXKXGjVyU0HBSS1dulD79+8xd1kAAJgFQR8AAFgEDw9PDRt2t3x8fFVeXq6ff/5OW7bEqrKy0tylAQBwVRH0AQCAxXBwcNSgQSMUGtpekrRlS6y++26VSkvPmrkyAACuHoI+AACwKNbW1urd+2b17t1PVlZWSk5O1KJF85WTk2Xu0gAAuCoI+gAAwCKFhoZp0KA75ejopJMn87V06UIdOpRo7rIAAKhzBH0AAGCxfH39NGzY3fLy8lJZWZm++26l4uJ+U0VFhblLAwCgzhD0AQCARXN1baTBg+9SeHiUJGnbtjh9880yFRefMnNlAADUDYI+AACweDY2NurZs7duuukW2djYKDX1iBYtWqBjx9LNXRoAACZH0AcAANeMtm1DNWjQnXJxcVFxcZFWrFis/fv3mLssAABMiqAPAACuKd7evho+fJQCApqrvLxcP//8ndau/VGlpaXmLg0AAJMg6AMAgGuOo6OzbrttqLp0iZYk7dmToMWL5ysvL8fMlQEAUHsEfQAAcE0yGAzq0iVat902WHZ29jpx4oSWLPlCycl8BB8AoGEj6AMAgGta8+atNHz43fL09FJpaam+/XalfvvtV5WXl5u7NAAArghBHwAAXPPc3Jpo6NC7FRnZSZK0c+d2LV36hfLzT5i5MgAAao6gDwAAIMna2lo9evTSLbcMlJ2dvbKzs7R48QKlpCSZuzQAAGqEoA8AAPAHrVoFaejQEWrSxF1nz57VmjUrFBu7nqn8AIAGg6APAADwJ02aeGr48FEKC4uQJO3YsUXLly9Sfn6emSsDAOCvEfQBAAAuwsbGVtdff6P69RsgOzs7ZWYe01dfLdC+fbvMXRoAAJdF0AcAALiMoKBgDR9+jzw8PFRaWqpffvlBv/zyvUpLS81dGgAAF0XQBwAA+Atubo01dOgoRURESZL27dutxYsXKCcny8yVAQBwIYI+AABANdjY2Oi663pr4MBhcnJy1okTeVq8+HNt27ZJFRUV5i4PAAAjgj4AAEAN+Ps314gR98rfP0AVFRWKi9uob79dodOnS8xdGgAAkgj6AAAANebo6KTbbhuqLl26y8rKSocPJ+vLL+cpIyPN3KUBAEDQBwAAuBJWVlbq0qWHhg69W40bN1FR0Sl9/fVXWr/+R5WVlZm7PADANYygDwAAUAteXt4aPnyUgoPbqbKyUrt2JWjx4gXKy8s1d2kAgGuUWYP+559/rttvv10dO3ZUx44dNWLECK1du9a4/8yZM5o6daq6deumqKgoPf7448rJyalyjIyMDI0ZM0YRERGKjo7W66+/fsG76HFxcRo8eLDCwsLUt29fLV269IJaFixYoD59+ig8PFzDhw9XQkJC3Zw0AACwOLa2drrxxv7q06ev7OzslJeXq6++mq+EhB2qrKw0d3kAgGuMWYO+r6+vnnnmGS1dulRLlixR9+7dNX78eCUmJkqSpk+frl9++UUzZ87UvHnzlJWVpccee8z4+PLyco0dO1alpaVauHChXnvtNS1btkzvvPOOcUxqaqrGjh2rbt266euvv9bf/vY3TZo0SevXrzeOWb16tWbMmKHx48dr2bJlCgkJ0YMPPqjcXN6JBwAA1RcSEq6RI/+mgIAWKi8v14YNv+jrrxepoCDf3KUBAK4hhsp69jZz165d9eyzz6p///6Kjo7WW2+9pf79+0uSDh06pFtvvVVffvmlIiMjtXbtWj3yyCNav369PD09JUlffPGF3nrrLcXGxsrOzk5vvvmm1q5dq1WrVhmf46mnnlJBQYFmz54tSRo+fLjCw8P18ssvS5IqKirUq1cv3XvvvRozZsxF68zOLqzLl8FkDAbJ09NVOTmFql8/aTQU9BBMgT5CbTW0HqqsrNTu3Tu1ceNalZeXy87OTr169VWbNsHmLu2a1tD6CPUPPQRTqE0feXm5VmuczRXUVSfKy8v17bffqri4WFFRUdq9e7dKS0vVo0cP45jAwED5+fkpPj5ekZGRio+PV9u2bY0hX5JiYmI0ZcoUJSUlqV27doqPj1d0dHSV54qJidH06dMlSWfPntWePXs0duxY434rKyv16NFDO3bsuGzNBoMpzrxuna+xIdSK+okeginQR6ithtZDBoNBHTpEqmnTpvrhhzU6cSJPP/zwjY4eTVbPnn1kb29v7hKvSQ2tj1D/0EMwhavRR2YP+gcOHNDIkSN15swZOTk56f3331dQUJD27dsnW1tbNWrUqMp4Dw8PZWdnS5JycnKqhHxJxu//asypU6d0+vRpnTx5UuXl5fLw8LjgeZKTky9Zt7u7s6ytG85ahh4e1XvnB7gUegimQB+hthpaD3l6uqpNm0e1du1a/fbbbzpwYJ+OHUvXLbfcopCQEHOXd81qaH2E+oceginUZR+ZPei3atVKy5cvV2Fhob777jtNnDhR8+fPN3dZfykvr6hBvJNnMJxroNxcphfhytBDMAX6CLXV0HsoIqKrvL399eOPa1RQcFJffvml2rcPV0zMDbKxsTV3edeMht5HMD96CKZQmz7y9GwgU/ft7OzUokULSVJYWJh27dqluXPn6pZbblFpaakKCgqqXNXPzc2Vl5eXpHNX5v+8Ov75Vfn/OObPK/Xn5OTIxcVFDg4OsrKykrW19QUL7+Xm5l4wE+DPGtIvd2Vlw6oX9Q89BFOgj1BbDbmHfH39NHz4Pfr11+916FCi9uzZpfT0NPXpc7N8ff3MXd41pSH3EeoHegimUJd9VO/mnldUVOjs2bMKCwuTra2tYmNjjfuSk5OVkZGhyMhISVJkZKQOHjxYJaRv3LhRLi4uCgoKMo7ZtGlTlefYuHGj8Rh2dnZq3759leepqKhQbGysoqKi6ugsAQDAtcje3l4333y7+ve/TU5OzsrPP6Fly77U+vU/q7T0rLnLAwBYCLNe0f/Xv/6l66+/Xk2bNlVRUZFWrVqlzZs3a/bs2XJ1ddXQoUP12muvyc3NTS4uLnr11VcVFRVlDOkxMTEKCgrSc889p2effVbZ2dmaOXOmRo0aJTs7O0nSyJEjtWDBAr3xxhsaOnSoNm3apDVr1mjWrFnGOkaPHq2JEycqLCxMHTp00GeffaaSkhINGTLEHC8LAACwcK1bt5WfX3P99tuvOnBgr3btitfhw4d04423yM/P39zlAQAaOLN+vN6LL76oTZs2KSsrS66urgoODtbDDz+s6667TpJ05swZvfbaa/rmm2909uxZxcTEaPLkycZp+ZKUnp6uKVOmaPPmzXJ0dNTgwYM1YcIE2dj8/h5GXFycZsyYoaSkJPn6+mrcuHEXhPj58+dr9uzZys7OVmhoqCZNmqSIiIhL1s7H6+FaQQ/BFOgj1JYl91Bi4n6tX/+zTp8+LYPBoMjITurSpUeVf8vANCy5j3B10EMwhavx8XpmDfoNGUEf1wp6CKZAH6G2LL2HiouL9Ntvvyox8YAkqUkTd/XqdaP8/ALMXJllsfQ+Qt2jh2AKVyPo17t79AEAAK41Tk7O6tt3gG65ZaAcHZ104kSeli//SuvW/ajy8jJzlwcAaGAI+gAAAPVEq1ZBuuuuv6lly1aSpN27E7Ro0XwdO5Zh5soAAA0JQR8AAKAecXBw1K23DtZNN/U3Xt1ftmyh1q79UadPnzZ3eQCABoCgDwAAUA+1bdtOd931N4WEtJck7dmToC+++FSHDh0wc2UAgPqOoA8AAFBPOTg4qk+fmzVgwCA5OzurpKRY3333jX74YbVKSorNXR4AoJ4i6AMAANRzLVq01l133a/w8EgZDAYlJu7XF198qr17d6miosLc5QEA6hmCPgAAQANgZ2evnj37aOjQu+Th4anTp0/r119/0PLlX6qgIN/c5QEA6hGCPgAAQAPi7e2rYcNGqVOnLrKystLx48e0cOE87dy5nav7AABJBH0AAIAGx9raWt269dSwYXfL19dPZWWl+u23X7V48QKlpx81d3kAADMj6AMAADRQnp7eGjx4hHr1ukn29vbKycnW118v1k8/rdaZM3wUHwBcqwj6AAAADZjBYFD79h00cuT9atWqtSTpwIH9+vzzT5WYuF+VlZVmrhAAcLUR9AEAACyAs7OzbrllkG69dZAaN26ikpJi/fDDaq1Y8ZVyc7PNXR4A4Coi6AMAAFiQli1ba8SIe9W1aw9ZW1srPT1NX321QLGx61ReXmbu8gAAVwFBHwAAwMJYW9uoc+fuGj78Hvn6NlVFRYV27NiqhQvnKjX1iLnLAwDUMYI+AACAhXJ399CgQSN044395eTkrJMn87Vy5RKtXr1M+fknzF0eAKCO2Ji7AAAAANQdKysrBQe3U8uWgdq8+Tft3r1Thw+nKDX1qDp16qqoqC6ytuafhABgSbiiDwAAcA2wt7dXz559NGTICHl6eqm8vFybN8dq4cK5OnIk2dzlAQBMiKAPAABwDfHx8dOwYaOqTOf/5pvl+vrrRcrLyzF3eQAAEyDoAwAAXGPOT+e/++7RiozsJIPBoPT0NC1aNF+bN/+m0tJSc5cIAKgFgj4AAMA1ys7OTj169NKwYXfLx8dXFRUV2ro1Tl988amSkg6qoqLC3CUCAK4AQR8AAOAa5+XloyFD7tLNN98mFxdXnTpVqO+/X6WlSz/X8ePp5i4PAFBDBH0AAADIYDAoMLCt7rrrfnXq1E3W1tbKysrS0qVf6tdff1BxcZG5SwQAVBNBHwAAAEa2trbq1u06jRhxr1q0aClJ2rt3lxYsmKNt2+JUVsb9+wBQ3xH0AQAAcIHGjd01YMAQDR48Ql5ePiotPau4uN+0YMEnOnhwnyorK81dIgDgEgj6AAAAuKSmTZtp2LC7dcMNfeXg4KCioiL9+OMarVixWDk52eYuDwBwEQR9AAAAXJbBYFC7duEaNeoBRUR0lLW1tdLTU7Vo0Tz9+OMaFRYWmLtEAMAfEPQBAABQLfb2Drruuht0992jFRQULEk6eHCfPv98juLiNqi09KyZKwQASAR9AAAA1JCrayP16zdAAwcOkbu7h8rLy7Vt22YtWDBHe/YkqKKiwtwlAsA1jaAPAACAK+Lv31J33nmvbrrpFjVq5Kbi4iKtXfujPv98jhIT9xL4AcBMbMxdAAAAABouKysrtW0bqsDAttqzZ6e2bIlVQcFJ/fDDt9qzZ5eio3vJx8fX3GUCwDWFK/oAAACoNWtra3Xo0FF33z1a7duHy9raWhkZ6Vqy5HN9//03OnEiz9wlAsA1gyv6AAAAMBlHRyf16tVXHTt20+bNG3XgwF4lJR3QoUMHFRwcqujo6+Xo6GTuMgHAonFFHwAAACbn6tpIN97YX3feeY+aNvVTZWWl9u/fqwUL5mjbtjhW6AeAOkTQBwAAQJ3x9PTW4MEjdfPNt8nd3VNnz55RXNxvmj9/trZti1VZWam5SwQAi8PUfQAAANS5wMC2at26jRIT92vz5o0qKDipuLhY7d6doG7dYtS2baisrLgGBQCmQNAHAADAVWEwGIwr9CckbNOOHdtUVFSkn3/+Ttu3b1HXrj3UunUQgR8AaomgDwAAgKvK2tpaUVFdFRYWpd27d2r79s3Kz8/T99+vUpMm7urWrYdatWojg8Fg7lIBoEEi6AMAAMAsbG1tFRXVWe3ahSs+fqt27tymEyfy9O23q+Tn569u3WLUtKmfucsEgAaHeVEAAAAwK3t7e3Xrdp1GjRqt0ND2sra2VkZGmpYtW6iVK5coIyPV3CUCQIPCFX0AAADUC87Orurd+2Z17txDW7fGav/+PUpNPaLU1CMKCGih7t17ysvL29xlAkC9R9AHAABAveLq6qrevfspMrKzYmPX6fDhZGPgb9UqUJ07RxP4AeAyCPoAAACol5o0cdettw5Sbm62tm/fosTE/UpJOaSUlEMKCGiurl2vk49PU3OXCQD1DkEfAAAA9ZqHh5f69r1VnTp109atsUpKOqjU1KNKTT2qwMA26tw5Wh4enuYuEwDqDYI+AAAAGgR3dw/163ebIiOPacuWTTpyJEWHDiXq0KFEtWoVqE6dusrbmyv8AEDQBwAAQIPi7d1UAwYMVm5ujrZu3aRDhw4ap/S3ahWoLl16yNPTy9xlAoDZmPXj9WbNmqWhQ4cqKipK0dHRGjdunJKTk6uMuffeexUcHFzl6+WXX64yJiMjQ2PGjFFERISio6P1+uuvq6ysrMqYuLg4DR48WGFhYerbt6+WLl16QT0LFixQnz59FB4eruHDhyshIcH0Jw0AAACT8PDw1M0336bhw0cpIKC5JCkl5ZAWLZqnNWu+VmbmMTNXCADmYdYr+ps3b9aoUaMUHh6u8vJyvf3223rwwQf1zTffyMnJyTjuzjvv1BNPPGH83tHR0fjf5eXlGjt2rDw9PbVw4UJlZWVp4sSJsrW11dNPPy1JSk1N1dixYzVy5Ei99dZbio2N1aRJk+Tl5aWePXtKklavXq0ZM2Zo6tSpioiI0GeffaYHH3xQ3377rTw8PK7SKwIAAICa8vLy0e23D1N2dqZ27NiqpKQDxiv8vr5N1aVLtAICWpq7TAC4agyVlZWV5i7ivLy8PEVHR2v+/Pnq0qWLpHNX9ENCQvSPf/zjoo9Zu3atHnnkEa1fv16enucWYfniiy+Mgd7Ozk5vvvmm1q5dq1WrVhkf99RTT6mgoECzZ8+WJA0fPlzh4eHG2QIVFRXq1auX7r33Xo0ZM+aC583OLjTpudcVg0Hy9HRVTk6h6s9PGg0JPQRToI9QW/QQauLEiTxt2xanxMT9Ov9PXT+/ZurUqZuiosKUm3uKPsIV4W8RTKE2feTl5VqtcfXqHv3CwnPh2c3Nrcr2lStXasWKFfLy8lLv3r01btw441X9+Ph4tW3b1hjyJSkmJkZTpkxRUlKS2rVrp/j4eEVHR1c5ZkxMjKZPny5JOnv2rPbs2aOxY8ca91tZWalHjx7asWPHJes1GGp3vlfD+RobQq2on+ghmAJ9hNqih1AT7u7u6tv3FnXq1OV/H8t3UBkZ6crIWKq4uA2KiOiooKAQWVmZ9S5WNED8LYIpXI0+qjdBv6KiQtOnT1fHjh3Vtm1b4/bbbrtNfn5+8vb21oEDB/TWW28pJSVF7733niQpJyenSsiXZPw+Ozv7smNOnTql06dP6+TJkyovL79gir6Hh8cFawac5+7uLGvrhvM/Dh4e1XvnB7gUegimQB+htugh1ISnp6vatm2lgoICbdy4Udu2bVNWVpZ++OFb7dixVb169VK7du0I/Kgx/hbBFOqyj+pN0J86daoSExP1+eefV9k+YsQI438HBwfLy8tL999/v44eParmzZtf7TKN8vKKGsQ7eQbDuQbKzWV6Ea4MPQRToI9QW/QQasegzp2vU2hoB8XHb9Hu3buVk5OjJUuW6Mcff1KHDlEKDQ2Tra2tuQtFPcffIphCbfrI07MBTd2fNm2afv31V82fP1++vr6XHRsRESFJOnLkiJo3by5PT88LVsfPycmRJHl5nftYFU9PT+O2P45xcXGRg4ODrKysZG1trdzc3CpjcnNzL5gJ8EcN6Ze7srJh1Yv6hx6CKdBHqC16CLXh7OyqO+64Qx07RmvXrnglJGzXyZP5Wr/+F23ZEqvw8Eh16NBR9vYO5i4V9Rx/i2AKddlHZp2nVFlZqWnTpumHH37QZ599poCAgL98zL59+yT9HuIjIyN18ODBKiF948aNcnFxUVBQkHHMpk2bqhxn48aNioyMlCTZ2dmpffv2io2NNe6vqKhQbGysoqKianWOAAAAqF8cHR3VpUu07rvvYXXvHiNHR0edPn1aW7Zs0ty5/9XGjWuNa0cBQENk1iv6U6dO1apVq/TBBx/I2dnZeE+9q6urHBwcdPToUa1cuVK9evVS48aNdeDAAc2YMUNdunRRSEiIpHOL6gUFBem5557Ts88+q+zsbM2cOVOjRo2SnZ2dJGnkyJFasGCB3njjDQ0dOlSbNm3SmjVrNGvWLGMto0eP1sSJExUWFqYOHTros88+U0lJiYYMGXL1XxgAAADUOVtbO3Xs2FUdOnTUgQN7tWvXDuXl5So+fpsSEnaoVavW6tSpuzw9vc1dKgDUiFk/Xi84OPii22fMmKEhQ4bo2LFjevbZZ5WYmKji4mI1bdpUN910k8aNGycXFxfj+PT0dE2ZMkWbN2+Wo6OjBg8erAkTJsjG5vf3MeLi4jRjxgwlJSXJ19dX48aNuyDEz58/X7Nnz1Z2drZCQ0M1adIk460Cf8bH6+FaQQ/BFOgj1BY9BFP4qz6qrKzUkSMp2r49TsePHzNub9UqUFFRXeTr63cVq0V9xN8imMLV+Hg9swb9hoygj2sFPQRToI9QW/QQTKEmfZSaeljx8duUmnrEuM3Hx1cdOkQqMJCP5rtW8bcIpnA1gn69WIwPAAAAqE8CAloqIKDl/6byb9XBg/uUmXlcP/zwrTZv3qSIiE4KDm7HSv0A6iWCPgAAAHAJ7u4e6tPnZnXu3E3bt29WYuIBnTyZr3XrflJc3G8KCWmv8PAINWrU2NylAoARQR8AAAD4C40aNdYNN/RTdHQvHTiwVwkJ21VQcFI7d25TQsJ2BQa2UceOXVm4D0C9QNAHAAAAqsne3l4dOkQpLCxCycmJ2r59s3JyspWUdFBJSQfVrFmAOnSIVIsWgdzHD8BsCPoAAABADVlZWSkoKFhBQcE6dixNu3bt1KFDB5Wenqr09FS5urqqQ4cotWsXwX38AK46gj4AAABQC02b+qtpU38VFvZUQsJ27dmToMLCQv322zpt3bpZ7dt3UPv2HeTq2sjcpQK4RhD0AQAAABNwdW2k6667QZ06ddeePfHau3e3CgsLtH37Zu3YsUUBAc3VoUMnBQS0kMFgMHe5ACwYQR8AAAAwIQcHB3Xq1F1RUV2VkpKkhIQdOnYsXUePHtHRo0fk4eGl8PBItW0bIhsbpvUDMD2CPgAAAFAHrKysFBjYVoGBbXX8eIYSErYrJeWQcnOz9euvPyg2dp2CgtooIqKzGjd2N3e5ACwIQR8AAACoY76+fvL19dPp0yXat2+3du/eqcLCAu3Zs1t79+5Ry5atFR4epWbNApjWD6DWCPoAAADAVeLg4KioqC7q0KGjkpL2a/funcrMPK6UlENKSTmkJk3cFRwcqvbtI2Vvb2/ucgE0UAR9AAAA4CqztrZWcHB7BQe3V15ernbtiteBA3t14kSeNm36Tdu2bVZoaLjat++gJk2Y1g+gZgj6AAAAgBm5u3uoV68b1b37dUpI2K59+3br1KlTSkjYroSE7fLz81fbtiFq27adbGz45zuAv8ZfCgAAAKAesLd3UJcuPdSpU3elph7Rnj0JOnIkWRkZacrISNOmTRvUrl0HtWsXrkaN3MxdLoB6jKAPAAAA1CNWVlZq0aKVWrRopcLCQu3cuVUHD+7T6dOntX37Zm3fvlnNm7dUcHCIWrcOlrW1tblLBlDPEPQBAACAesrV1VUxMb3VvXtPHTmSrD17EpSWdlRHjx7W0aOH5eS0TmFhkQoNDZOzs4u5ywVQTxD0AQAAgHrOxsZGgYFtFRjYVvn5J7Rz51YlJh5QcXGxNm/eqK1bN6lly9YKDg5VixaBsrKyMnfJAMyIoA8AAAA0II0bN1GvXn3Vo8cNSk4+qD17dun48QwlJycpOTlJzs7Oat8+UqGh7bnKD1yjCPoAAABAA2Rra2v8iL6cnGwlJGxTUtJBFRUVafPm37Rly0a1aNFKbdoEq3XrttzLD1xDCPoAAABAA+fp6aU+fforJqa3Dh06qP379+rYsXQdPpysw4eT5eDwi0JDw9WuXZjc3JqYu1wAdYygDwAAAFgIOzt7hYaGKzQ0XCdO5Gn37njjiv07dmzRjh1b1KxZgNq2DVFQUIhsbW3NXTKAOkDQBwAAACxQkybu6tmzj6Kjr1dKSpIOHNiro0cPKz09Venpqdqw4Ve1bRuq9u0j5OnpZe5yAZgQQR8AAACwYDY2NmrTJkRt2oSosLBAe/cmaN++3SouLtaePQnasydBXl4+atMmWG3bhsjJiQX8gIaOoA8AAABcI1xdG6lbtxh17hyt1NTDOnBgn1JSkpSdnans7EzFxq5XixYt1a5dBwUEtGQBP6CBIugDAAAA1xhra2u1bBmoli0DVVJSrIMH92nPngTl55/Q4cMpOnw4RY6OTgoKaqM2bULl6+tn7pIB1ECNgn5GRoaaNm0qg8FQV/UAAAAAuIocHZ0UEdFJERGdlJV1XImJB3Tw4D6VlBRr166d2rVrp9zdPRQaGq62bUPk6Ohk7pIB/IUaBf0bb7xRGzZskIeHR13VAwAAAMBMvL195e3tq+7dY3T06GHt3r1DaWmpysvL1W+//arY2HVq3rylAgPbKDAwWDY2TBAG6qMa/WZWVlbWVR0AAAAA6glra2u1ahWoVq0CVVx8SocOJWr//r3Kzs7U4cPJOnw4WRs2/Krg4HYKDm4vT08vZv0C9UiN34LjFxgAAAC4djg5uSg8PErh4VHKzc3R7t07dOhQok6fPq2EhB1KSNihJk3c1bJlK4WGhqtxY3dzlwxc82oc9GfOnClHR8fLjnnhhReuuCAAAAAA9ZOHh6d69eqrmJg+Sk09ogMH9urw4UM6cSJPJ07kaceObWratJnatAlRUFBbOThcPjcAqBs1DvoHDx6Ura3tJfdzxR8AAACwbOdW7W+tli1b68yZMzp4cI8OHtynzMxMHTuWrmPH0rVhwy/y82umNm2CFRQUetkMAcC0ahz033//fRbjAwAAACBJsre3V3h4R4WHd1RhYYGSkg7q4MF9ys3NVlpaqtLSUrVhwzoFBrZRmzYhatYsQFZWVuYuG7BoNQr6XK0HAAAAcCmuro0UFdVZUVGdlZ2dqX37dikl5ZCKioq0f/8e7d+/R46OjmrZsrXatQuXtzcf3Q3UBVbdBwAAAGByXl4+8vLyUc+eN+rYsXQdPLhPhw4dVElJifbt26N9+/aoSRN3BQUFKzCwrdzdmTUMmEqNgv6MGTPk6upaV7UAAAAAsDAGg0F+fv7y8/NXTMwNOnTooBITDyg9PVUnTuRpy5ZYbdkSq8aNGysoKEQhIe3VqJGbucsGGrQaBf3BgwdLkmJjY/XDDz8oPT1dBoNB/v7+uvnmm9WlS5c6KRIAAABAw2djY6vg4PYKDm6vM2fOKCUlSYmJB5SWdkT5+fnaunWTtm7dJB8fX7Vu3VatWwfKza2JucsGGpwaL8b38ssva9GiRXJzc1PLli1VWVmpHTt2aMGCBbr77rv10ksv1UWdAAAAACyIvb29QkLaKySkvYqKTungwb06evSIMjLSlJl5XJmZxxUbu07e3j4KDm6vwMA2cnJyNnfZQINQo6D/ww8/aOnSpZo+fboGDx5sXDijoqJCS5cu1ZQpU9SjRw/deOONdVIsAAAAAMvj7OyiqKiuiorqquLiIh06dFD79+9RdnaWsrIylZWV+b+P6/NXy5at1KZNKKEfuIwaBf0lS5Zo9OjRGjJkSJXtVlZWGjZsmFJSUrR48WKCPgAAAIAr4uTkrPDwKIWHR+nkyRNKTk7SoUMHlZWVqfT0VKWnp2rjxvUKCGihoKBgtWzZWg4OjsbH7z1eqHfXJevx61urnS/ri+HaVKOgv3fvXo0bN+6S+/v166fHH3+81kUBAAAAgJtbE0VFdVFUVBedPJmvAwf2KCnpgPLz83X06GEdPXpYVlZW8vHxVatWgWrTJlSr92Zqa+pJrd6bSdDHNatGQf/EiRPy8fG55H5fX1/l5+fXtiYAAAAAqMLNrbG6dr1OXbtep7y8XB06dFDJyYnKzc1RYnqOdqXny/DbNv1YGizJWt/tz9Jt7X1UKamxo62aNnIw9ykAV02Ngn5paalsbW0vud/a2lqlpaW1LgoAAAAALsXd3UPu7tHq0iVaeXk5unnO3j/srZQk5ZeU6t75O4xbt0y4/ipXCZhPjVfdnzlzphwdHS+6r6SkpNYFAQAAAEB1ubt7atqtwZr67UGVV1RKMvxvj+F//7dSPW1TtGRJulq1ClSrVq3VpImn2eoFroYaBf0uXbooJSXlsmM6d+5cq4IAAAAAoCZuCfVRK3enKlfwz7vfL0c6kafMTCkz85g2bdogd3cPtWkTolatgtSkibvx08QAS1GjoD9v3ry6qgMAAAAAas2gc5P3z///Pn36KcDFoJSUJB04sFeZmceVl5eruLjfFBf3m9zcGqtZM38FBrZRs2YtZGVlZd4TAEygxlP3L6asrExnzpyRs3PNPsty1qxZ+v7775WcnCwHBwdFRUXpmWeeUevWrY1jzpw5o9dee02rV6/W2bNnFRMTo8mTJ8vT8/fpNhkZGZoyZYri4uLk5OSkQYMGacKECbKx+f304uLi9NprrykxMVFNmzbVo48+esHHBC5YsECzZ89Wdna2QkJC9NJLL6lDhw5X+KoAAAAAuFqaONnJw8lWPq72uiPcV1/vOq7MwjNq4mQnZ2d7hYVFKiwsUkVFhUpJSdbhw8lKSzuqkyfzdfJkvvbu3S1HR6f/Te8PlJ9fwGXXJwPqM0NlZWVldQf//PPPys/PrxKQP/zwQ33wwQcqLy9X9+7d9X//939yc3Or1vEefPBBDRgwQOHh4SovL9fbb7+txMREffPNN3JycpIkTZ48WWvXrtWMGTPk6uqqV155RQaDQQsXLpQklZeXa9CgQfL09NRzzz2nrKwsTZw4UXfeeaeefvppSVJqaqpuv/12jRw5UsOHD1dsbKymT5+uWbNmqWfPnpKk1atX67nnntPUqVMVERGhzz77TN9++62+/fZbeXh4XFB7dnZhdV82szIYJE9PV+XkFKr6P2ngd/QQTIE+Qm3RQzAF+sjynS2rkK21QQaDQZWVlSotr5SdzaWv0J89e1bJyYlKTj6g9PQMlZaeNe6zsbGRn18zBQWFqFWrQNnbO9BDMIna9JGXV/U+MrJGQf/ee+9V//79NWrUKEnS9u3bNWrUKD3xxBMKDAzU//3f/+n666/XCy+8ULNq/ycvL0/R0dGaP3++unTposLCQkVHR+utt95S//79JUmHDh3Srbfeqi+//FKRkZFau3atHnnkEa1fv954lf+LL77QW2+9pdjYWNnZ2enNN9/U2rVrtWrVKuNzPfXUUyooKNDs2bMlScOHD1d4eLhefvllSVJFRYV69eqle++9V2PGjLmgVoI+rhX0EEyBPkJt0UMwBfoIl1NeXq6MjDSlpCQpJSVJRUVFxn1WVlby8wtQy5YtFRkZrspKO3oIV+xqBP0aTd1PSkpSVFSU8fvvvvtOPXr00KOPPipJsre31z//+c8rDvqFhefC8/kZAbt371Zpaal69OhhHBMYGCg/Pz/Fx8crMjJS8fHxatu2bZWp/DExMZoyZYqSkpLUrl07xcfHKzo6uspzxcTEaPr06ZLOvZO3Z88ejR071rjfyspKPXr00I4dFy7ocV5DWLPjfI0NoVbUT/QQTIE+Qm3RQzAF+giXY2NjrebNW6h58xbq2bO3jh1LU3JyktLSUpWXl6u0tCNKSzuiDRvWytPTS4GBbdWqVaDc3T1YzA81cjX+FtUo6BcVFalx48bG77dt22a80i5JQUFBysrKuqJCKioqNH36dHXs2FFt27aVJOXk5MjW1laNGjWqMtbDw0PZ2dnGMX8M+ZKM3//VmFOnTun06dM6efKkysvLL5ii7+HhoeTk5IvW6+7uLGvrhrNQh4dH9d75AS6FHoIp0EeoLXoIpkAfoTq8vd0UEdFekpSbm6v9+/dr586dys7OVk7Oua9zi/m5qVmzZgoNDVVISEiVdcKAy6nLv0U16kIfHx8dOnRIfn5+Kioq0v79+6tcvc/Pz5eDg8MVFTJ16lQlJibq888/v6LHX215eUUN4t1gg+FcA+XmMkUNV4YeginQR6gtegimQB/hytkpOLiDQkI6yNq6XAkJe5ScfOh/i/md1MmTJ7V3717Z2NiqefMWatGitZo3by4Xl0Z/fWhcc2rzt8jTsw6m7vfv31/Tp0/X2LFjtW7dOnl5eSkyMtK4f/fu3WrVqlWNCpWkadOm6ddff9X8+fPl6+tr3O7p6anS0lIVFBRUuaqfm5srLy8v45iEhIQqx8vJyZGkKmPOb/vjGBcXFzk4OMjKykrW1tbKzc2tMiY3N/eCmQB/1JD+B6KysmHVi/qHHoIp0EeoLXoIpkAfoTYaN26sdu06KDS0g0pLS3X48CGlpCQqIyNdxcXFSk5OUnJykiTJ3d3DOMXfw8OLKf6ooi7/FtUo6I8fP16ZmZn65z//KU9PT7355puytrY27l+1apV69+5d7eNVVlbqlVde0Q8//KB58+YpICCgyv6wsDDZ2toqNjZWN998syQpOTlZGRkZxjcYIiMj9dFHHyk3N9c49X7jxo1ycXFRUFCQccy6deuqHHvjxo3GY9jZ2al9+/aKjY3VTTfdJOncrQSxsbG65557qv8CAQAAALhm2Nraqk2bELVpE6LKykrl5GTp8OFkpaQkKScnW3l5ucrLi9WWLbFydnaRv3+AmjdvqZYtA2Vra2fu8mHBahT0HRwc9MYbb1xy/7x582r05FOnTtWqVav0wQcfyNnZ2XhPvaurqxwcHOTq6qqhQ4fqtddek5ubm1xcXPTqq68qKirKGNJjYmIUFBSk5557Ts8++6yys7M1c+ZMjRo1SnZ25355Ro4cqQULFuiNN97Q0KFDtWnTJq1Zs0azZs0y1jJ69GhNnDhRYWFh6tChgz777DOVlJRU+ShBAAAAALgYg8EgLy8feXn5qEuXaBUU5OvIkRSlpR1VauoRFRWd0oED+3TgwD5ZW9soIKD5/6b4t5SrK1P8YVo1+ni9Ll26XHS6iYuLi1q1aqUHHnhA1113XbWfPDg4+KLbZ8yYYQzYZ86c0WuvvaZvvvlGZ8+eVUxMjCZPnmycli9J6enpmjJlijZv3ixHR0cNHjxYEyZMqLIQRlxcnGbMmKGkpCT5+vpq3LhxF4T4+fPna/bs2crOzlZoaKgmTZqkiIiIi9bIx+vhWkEPwRToI9QWPQRToI9QW1faQ2VlpUpLO6qkpP1KS0tVcXFxlf1ubm4KCGihwMC28vVtVmXWNCzP1fh4vRoF/WXLll10e0FBgfbs2aPVq1frnXfeUZ8+fap7yAaLoI9rBT0EU6CPUFv0EEyBPkJtmaKHKisrlZubo8OHk3XkSLIyM49V2W9rayd//wA1beqnVq2C5ObWxASVoz65GkG/RlP3Bw8efNn9oaGh+s9//nNNBH0AAAAAqCmDwSBPTy95enqpc+duKi4+pZSUQ8rISFda2hGVlJQoJeWQUlIOaePG9XJ391Dz5q3UokVL+fj48fF9qBaTdskNN9ygDz/80JSHBAAAAACL5eTkovbtI9S+fYQqKyuVnZ2p5OREHTmS8r/F/M59xcdvlY2NjXx9m6pVqyC1bBkkV9e6+xx2NGwmDfpnz56Vra2tKQ8JAAAAANcEg8Egb29feXv7qnv3niopKVFa2hEdPXpYR4+m/O/7VKWlpWr9+l/UpImH/P0D1KxZgAICWpLFYGTSoL948WKFhISY8pAAAAAAcE1ydHQ0fnxfRUWFjh9P15EjyTp27JgyM4/pxIlcnTiRq1274mVtbS0/P38FBLSQv38Lubt7yMrKytynADOpUdCfMWPGRbcXFhZq7969Onz4sObPn2+SwgAAAAAA51hZWcnPL0B+fgGSpNOnTyst7YgOHTqgjIx0lZSUKDX1iFJTj0g699HoTZs2U+vWbRQQ0EJOTs7mLB9XWY2C/t69ey+63cXFRT169NC7776rgIAAkxQGAAAAALg4BwcHBQUFKygoWBUVFTpxIk9paUeVmnpEGRmpOn36tHFRP0ny8PCUr6+f/P2bq3nzVkzzt3A1Cvrz5s2rqzoAAAAAAFfAyspKHh6e8vDwVERER5WVlSot7ajS01OVkZGu7OxM5ebmKDc3R3v2JMja2lpNm/orIKC5mjVrLk9PL6b5Wxg+mwEAAAAALIiNja1atgxUy5aBkqSSkhIdPZqiw4eTlJGRoZKSYqWlHVFa2rlp/vb29mrWLEAtWwbK37+5XFxYzb+hI+gDAAAAgAVzdHRUcHA7BQe3U2VlpfLzTyg19bBSU48oPT1VZ86cUXJykpKTkyRJbm6N5e3tLX//FmrZMkiOjo5mPgPUFEEfAAAAAK4RBoNBTZq4q0kTd3Xo0FFlZWVKTz+ijIwMpaenKjs7UydP5uvkyXwlJh6U9IM8PLzk799cvr6+atashRwcHMx9GvgLBH0AAAAAuEbZ2NioRYtAtWhxbpr/mTNnlJqaoqNHU3T8+HHl559Qbm62cnOztXPnuTcKvL195O/fQv7+AfLx8ZONDbGyvuEnAgAAAACQdO5+/aCgEAUFhUiSiouLlJ6eptTUw0pLO6JTp04pM/O4MjOPa9u2OFlbW8vT89wV/5YtA+Xl5cPCfvUAQR8AAAAAcFFOTs5q0yZYbdoES5JOnjyhjIx046r+xcVFfwj+m2Vrayc/v2by8vJWQEAL+fj4EfzNgKAPAAAAAKgWN7cmcnNrotDQMFVWVionJ0tHj6YoKytTGRlpOnPmjI4cSdGRIynaujVOdnb2atq0mZo185evb1N5efnK2tra3Kdh8Qj6AAAAAIAaMxgM8vLykZeXjySpoqJCubnZOnz4kNLTjyo7O1tnz57RkSPJOnIkWdK5NQGaNm0mf//m8vPzZ6p/HSHoAwAAAABqzcrKyhj8u3TpoYqKCuXkZCkjI03p6anKyEhTaWmpUlOPKDX1iCTJxsZWnp6eatYsQC1atJaXlw9X/E2AoA8AAAAAMDkrKyt5e/vK29tXkZGdVV5eruzsTGVmHlNGRppxqv/x48d0/Pgxbdu2WTY2tv+b4u+lZs2ay88vgFX9rwCvGAAAAACgzllbW8vX10++vn6KiOikyspKZWUdU2rqYWVlZen48QydPn1aaWlHlZZ2VDt2bJONjY18fJqqaVM/eXv7yte3mRwcHMx9KvUeQR8AAAAAcNUZDAb5+PjJx8dPklRZWam8vFylpqYoNfWIsrKydObMaaWnpyo9PdX4GA8PT/n5+atp02by9fWTs7OLOU+jXiLoAwAAAADM7nyI9/DwVGRkF1VWVurEiTwdO5auY8fSlZ5+VEVFRcrJyVZOTrYSEnZIklxcXOTr21QBAa3UtGkzubk1lsFgMPPZmBdBHwAAAABQ7xgMBrm7e8jd3UPt23eQJJ08eUJZWZnG8J+bm6NTp04pKSlRSUmJkiRHRyd5enrK19dPLVq0kqfntbeyP0EfAAAAANAguLk1kZtbE7VpEyJJKikpVnr6UWVlZSoz87gyM4+rpKRYqalHlZp6VFu2bJKtra18fPzk7e0tX9+m8vMLkJ2dvZnPpG4R9AEAAAAADZKjo5OCgkIUFHQu+JeVlSkzM0OpqYeVmXlcOTnZOnPmjNLSjigt7dxH+hkMBnl6ev9vYcCm8vHxVaNGjc14FqZH0AcAAAAAWAQbGxs1a9ZczZo1l3R+gb8cHTuWriNHUpSVdVwlJSXKzs5Udnamdu06d5+/v39zDRw4zJylmxRBHwAAAABgkc4t8OclDw8vhYVFqrKyUoWFBcrMPKbjxzOUnp6qvLxcFRYWqLKy0mIW8SPoAwAAAACuCQaDQY0aualRIzfjff5nz56VjY2NxYR8iaAPAAAAALiG2dnZmbsEk7u2PmMAAAAAAAALR9AHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwIIQ9AEAAAAAsCAEfQAAAAAALAhBHwAAAAAAC0LQBwAAAADAghD0AQAAAACwIAR9AAAAAAAsCEEfAAAAAAALQtAHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwIKYNehv2bJFjzzyiGJiYhQcHKwff/yxyv7nn39ewcHBVb4efPDBKmPy8/M1YcIEdezYUZ07d9aLL76ooqKiKmP279+vu+++W+Hh4erVq5c+/vjjC2pZs2aN+vfvr/DwcN1+++1au3at6U8YAAAAAIA6ZtagX1xcrODgYE2ePPmSY3r27KkNGzYYv95+++0q+5955hklJSVpzpw5+uijj7R161a9/PLLxv2nTp3Sgw8+KD8/Py1dulTPPfec3nvvPX355ZfGMdu3b9eECRM0bNgwLV++XDfeeKPGjx+vgwcPmv6kAQAAAACoQzbmfPJevXqpV69elx1jZ2cnLy+vi+47dOiQ1q9fr8WLFys8PFySNGnSJI0ZM0bPPfecfHx8tGLFCpWWlmr69Omys7NTmzZttG/fPs2ZM0cjRoyQJM2dO1c9e/bUQw89JEn6+9//ro0bN2r+/PmaNm2aCc8YAAAAAIC6ZdagXx2bN29WdHS0GjVqpO7du+vvf/+7mjRpIknasWOHGjVqZAz5ktSjRw9ZWVkpISFBffv2VXx8vDp37iw7OzvjmJiYGH388cc6efKk3NzcFB8fr/vvv7/K88bExFxwK8GfGQymO8+6cr7GhlAr6id6CKZAH6G26CGYAn2E2qKHYApXo4/qddDv2bOn+vbtK39/f6Wmpurtt9/Www8/rC+//FLW1tbKycmRu7t7lcfY2NjIzc1N2dnZkqScnBz5+/tXGePp6Wnc5+bmppycHOO28zw8PJSTk3PJ2tzdnWVt3XDWMvTwcDV3CWjg6CGYAn2E2qKHYAr0EWqLHoIp1GUf1eugP2DAAON/n1+M76abbjJe5TenvLyiBvFOnsFwroFycwtVWWnuatAQ0UMwBfoItUUPwRToI9QWPQRTqE0feXpW782Beh30/ywgIEBNmjTRkSNHFB0dLU9PT+Xl5VUZU1ZWppMnTxrv6/f09Lzgyvz5789fxb/YmNzc3Auu8v9ZQ/rlrqxsWPWi/qGHYAr0EWqLHoIp0EeoLXoIplCXfdRw5p5LOn78uPLz840hPioqSgUFBdq9e7dxzKZNm1RRUaEOHTpIkiIjI7V161aVlpYax2zcuFGtWrWSm5ubccymTZuqPNfGjRsVGRlZx2cEAAAAAIBpmTXoFxUVad++fdq3b58kKS0tTfv27VNGRoaKior0+uuvKz4+XmlpaYqNjdW4cePUokUL9ezZU5IUGBionj176qWXXlJCQoK2bdumV155RQMGDJCPj48k6fbbb5etra3+8Y9/KDExUatXr9bcuXM1evRoYx333Xef1q9fr08++USHDh3Su+++q927d+uee+65+i8KAAAAAAC1YKisNN+kk7i4ON13330XbB88eLCmTJmi8ePHa+/evSosLJS3t7euu+46Pfnkk1Wm1Ofn5+uVV17Rzz//LCsrK/Xr10+TJk2Ss7Ozccz+/fs1bdo07dq1S02aNNE999yjMWPGVHnONWvWaObMmUpPT1fLli317LPPXvaj/7KzC03wCtQ9g+HcfRw5OdxHhCtDD8EU6CPUFj0EU6CPUFv0EEyhNn3k5VW9e/TNGvQbMoI+rhX0EEyBPkJt0UMwBfoItUUPwRSuRtBvUPfoAwAAAACAyyPoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUxa9DfsmWLHnnkEcXExCg4OFg//vhjlf2VlZX697//rZiYGHXo0EH333+/Dh8+XGVMfn6+JkyYoI4dO6pz58568cUXVVRUVGXM/v37dffddys8PFy9evXSxx9/fEEta9asUf/+/RUeHq7bb79da9euNfn5AgAAAABQ18wa9IuLixUcHKzJkydfdP/HH3+sefPmacqUKVq0aJEcHR314IMP6syZM8YxzzzzjJKSkjRnzhx99NFH2rp1q15++WXj/lOnTunBBx+Un5+fli5dqueee07vvfeevvzyS+OY7du3a8KECRo2bJiWL1+uG2+8UePHj9fBgwfr7uQBAAAAAKgDZg36vXr10lNPPaW+fftesK+yslJz587Vo48+qptuukkhISF64403lJWVZbzyf+jQIa1fv16vvvqqIiIi1LlzZ02aNEnffPONMjMzJUkrVqxQaWmppk+frjZt2mjAgAG69957NWfOHONzzZ07Vz179tRDDz2kwMBA/f3vf1e7du00f/78q/NCAAAAAABgIjbmLuBS0tLSlJ2drR49ehi3ubq6KiIiQjt27NCAAQO0Y8cONWrUSOHh4cYxPXr0kJWVlRISEtS3b1/Fx8erc+fOsrOzM46JiYnRxx9/rJMnT8rNzU3x8fG6//77qzx/TEzMBbcS/JnBYJpzrUvna2wItaJ+oodgCvQRaoseginQR6gtegimcDX6qN4G/ezsbEmSh4dHle0eHh7KycmRJOXk5Mjd3b3KfhsbG7m5uRkfn5OTI39//ypjPD09jfvc3NyUk5Nj3Hax57kYd3dnWVs3nLUMPTxczV0CGjh6CKZAH6G26CGYAn2E2qKHYAp12Uf1NujXd3l5RQ3inTyD4VwD5eYWqrLS3NWgIaKHYAr0EWqLHoIp0EeoLXoIplCbPvL0rN6bA/U26Ht5eUmScnNz5e3tbdyem5urkJAQSeeuzOfl5VV5XFlZmU6ePGl8vKen5wVX5s9/f/4q/sXG5ObmXnCV/88a0i93ZWXDqhf1Dz0EU6CPUFv0EEyBPkJt0UMwhbrso3o799zf319eXl6KjY01bjt16pR27typqKgoSVJUVJQKCgq0e/du45hNmzapoqJCHTp0kCRFRkZq69atKi0tNY7ZuHGjWrVqJTc3N+OYTZs2VXn+jRs3KjIysq5ODwAAAACAOmHWoF9UVKR9+/Zp3759ks4twLdv3z5lZGTIYDDovvvu04cffqiffvpJBw4c0HPPPSdvb2/ddNNNkqTAwED17NlTL730khISErRt2za98sorGjBggHx8fCRJt99+u2xtbfWPf/xDiYmJWr16tebOnavRo0cb67jvvvu0fv16ffLJJzp06JDeffdd7d69W/fcc8/Vf1EAAAAAAKgFQ2Wl+SadxMXF6b777rtg++DBg/Xaa6+psrJS77zzjhYtWqSCggJ16tRJkydPVqtWrYxj8/Pz9corr+jnn3+WlZWV+vXrp0mTJsnZ2dk4Zv/+/Zo2bZp27dqlJk2a6J577tGYMWOqPOeaNWs0c+ZMpaenq2XLlnr22WfVq1evS9aenV1ogleg7hkM5+7jyMnhPiJcGXoIpkAfobboIZgCfYTaoodgCrXpIy+v6t2jb9ag35AR9HGtoIdgCvQRaoseginQR6gtegimcDWCfr29Rx8AAAAAANQcQR8AAAAAAAtC0AcAAAAAwIIQ9AEAAAAAsCAEfQAAAAAALAhBHwAAAAAAC0LQBwAAAADAghD0AQAAAACwIAR9AAAAAAAsCEEfAAAAAAALQtAHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwIIQ9AEAAAAAsCAEfQAAAAAALAhBHwAAAAAAC0LQBwAAAADAghD0AQAAAACwIAR9AAAAAAAsCEEfAAAAAAALQtAHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwIIQ9AEAAAAAsCAEfQAAAAAALAhBHwAAAAAAC0LQBwAAAADAghD0AQAAAACwIAR9AAAAAAAsCEEfAAAAAAALQtAHAAAAAMCCEPQBAAAAALAgBH0AAAAAACwIQR8AAAAAAAtC0AcAAAAAwIIQ9AEAAAAAsCAEfQAAAAAALAhBHwAAAAAAC0LQBwAAAADAghD0AQAAAACwIAR9AAAAAAAsSL0O+u+++66Cg4OrfPXv39+4/8yZM5o6daq6deumqKgoPf7448rJyalyjIyMDI0ZM0YRERGKjo7W66+/rrKysipj4uLiNHjwYIWFhalv375aunTpVTk/AAAAAABMzcbcBfyVNm3aaM6cOcbvra2tjf89ffp0rV27VjNnzpSrq6teeeUVPfbYY1q4cKEkqby8XGPHjpWnp6cWLlyorKwsTZw4Uba2tnr66aclSampqRo7dqxGjhypt956S7GxsZo0aZK8vLzUs2fPq3uyAAAAAADUUr0P+tbW1vLy8rpge2FhoZYsWaK33npL0dHRks4F/1tvvVXx8fGKjIzUhg0blJSUpDlz5sjT01OhoaF68skn9dZbb+mxxx6TnZ2dFi5cKH9/fz3//POSpMDAQG3btk2ffvopQR8AAAAA0ODU+6B/5MgRxcTEyN7eXpGRkZowYYL8/Py0e/dulZaWqkePHsaxgYGB8vPzMwb9+Ph4tW3bVp6ensYxMTExmjJlipKSktSuXTvFx8cb3yj445jp06f/ZW0Gg+nOs66cr7Eh1Ir6iR6CKdBHqC16CKZAH6G26CGYwtXoo3od9Dt06KAZM2aoVatWys7O1vvvv69Ro0Zp5cqVysnJka2trRo1alTlMR4eHsrOzpYk5eTkVAn5kozf/9WYU6dO6fTp03JwcLhobe7uzrK2rtdLHFTh4eFq7hLQwNFDMAX6CLVFD8EU6CPUFj0EU6jLPqrXQb9Xr17G/w4JCVFERIR69+6tNWvWXDKAXy15eUUN4p08g+FcA+XmFqqy0tzVoCGih2AK9BFqix6CKdBHqC16CKZQmz7y9KzemwP1Ouj/WaNGjdSyZUsdPXpUPXr0UGlpqQoKCqpc1c/NzTXe0+/p6amEhIQqxzi/Kv8fx/x5pf6cnBy5uLj85ZsJDemXu7KyYdWL+oceginQR6gtegimQB+htughmEJd9lHDmXsuqaioSKmpqfLy8lJYWJhsbW0VGxtr3J+cnKyMjAxFRkZKkiIjI3Xw4EHl5uYax2zcuFEuLi4KCgoyjtm0aVOV59m4caPxGAAAAAAANCT1Oui//vrr2rx5s9LS0rR9+3Y99thjsrKy0m233SZXV1cNHTpUr732mjZt2qTdu3frxRdfVFRUlDGkx8TEKCgoSM8995z279+v9evXa+bMmRo1apTs7OwkSSNHjlRqaqreeOMNHTp0SAsWLNCaNWt0//33m+/EAQAAAAC4QvV66v7x48f19NNPKz8/X+7u7urUqZMWLVokd3d3SdKLL74oKysrPfHEEzp79qxiYmI0efJk4+Otra310UcfacqUKRoxYoQcHR01ePBgPfHEE8YxAQEBmjVrlmbMmKG5c+fK19dXr776Kh+tBwAAAABokAyVldxdciWyswvNXUK1GAznFmzIyWHBEFwZegimQB+htughmAJ9hNqih2AKtekjL6/qLcZXr6fuAwAAAACAmiHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6AMAAAAAYEEI+gAAAAAAWBCCPgAAAAAAFoSgDwAAAACABSHoAwAAAABgQQj6AAAAAABYEII+AAAAAAAWhKAPAAAAAIAFIegDAAAAAGBBCPoAAAAAAFgQgj4AAAAAABaEoA8AAAAAgAUh6P/JggUL1KdPH4WHh2v48OFKSEgwd0kAAAAAAFQbQf8PVq9erRkzZmj8+PFatmyZQkJC9OCDDyo3N9fcpQEAAAAAUC0E/T+YM2eO7rzzTg0dOlRBQUGaOnWqHBwctGTJEnOXBgAAAABAtdiYu4D64uzZs9qzZ4/Gjh1r3GZlZaUePXpox44dF32MwXC1qrty52tsCLWifqKHYAr0EWqLHoIp0Ef/3979x0RdP3Acf9l9hQyNCI6MMJJah4HgmXDALBf6jzFaYlCusBgb+aPoxyxqNRGW4IpaUKaIZSQGUSs309Zy4foH70wNUHBzSzJnOUInAoJw3PcP69aFX0Th64e7no/tNnjf3efzuu09+Lzu8wujxRzCWLgW84ii/6czZ87I6XQqODjYYzw4OFg///zzkNebzVOuVbQxERzsXXkx/jCHMBaYRxgt5hDGAvMIo8Ucwlj4f84jDt0HAAAAAMCHUPT/FBQUJJPJNOTCex0dHQoJCTEoFQAAAAAAV4ai/yc/Pz9FR0eroaHBPTY4OKiGhgZZrVYDkwEAAAAAMHKco/832dnZys/PV0xMjGJjY1VVVaXz588rPT3d6GgAAAAAAIwIRf9vHnzwQZ0+fVrl5eVqb2/XjBkztHnzZg7dBwAAAAB4DQ7d/4cnnnhC9fX1OnTokD7//HPFxcUZHemqbdu2TSkpKZo5c6YyMjLU1NRkdCR4kYqKCi1evFhWq1VJSUlasWLFJe9AAYzUpk2bZLFYtHbtWqOjwMucOnVKq1atks1mU2xsrNLS0tTc3Gx0LHgJp9Opd999VykpKYqNjdWCBQu0fv16uVwuo6NhHNu3b5+WLVumuXPnymKxaPfu3R7Pu1wulZWVae7cuYqNjdVTTz2ltrY2Y8JiXBpuDvX39+utt95SWlqaZs2apblz5+rll1/WqVOnxmz9FH0ftWvXLpWUlGjlypX66quvFBUVpZycnCEXGwT+F4fDoccff1x1dXXasmWLBgYGlJOTo56eHqOjwQs1NTWptrZWFovF6CjwMmfPntWSJUs0ceJEVVZWaufOncrPz1dgYKDR0eAlKisrVVNTo9WrV2vXrl1atWqVNm/erK1btxodDeNYT0+PLBaLCgoKLvl8ZWWltm7dqjVr1qiurk6TJk1STk6O+vr6rnFSjFfDzaHe3l61tLRo+fLl+vLLL/X+++/r2LFjWr58+Zitf4KLrzN9UkZGhmbOnKnVq1dLunhhwXnz5ikrK0u5ubkGp4M3On36tJKSklRdXa34+Hij48CLdHd3Kz09XQUFBdqwYYOioqL02muvGR0LXqK0tFQHDhzQp59+anQUeKmnn35awcHBKi4udo89++yz8vf3V2lpqYHJ4C0sFovWr1+vBQsWSLq4N/++++5Tdna2cnJyJEnnzp1TcnKy1q1bp9TUVCPjYhz65xy6lKamJmVkZKi+vl5hYWGjXid79H3QhQsXdPjwYSUnJ7vHrrvuOiUnJ+vgwYMGJoM3O3funCSxFw1XrKioSPPmzfP4mwSM1Pfff6+YmBjl5eUpKSlJDz/8sOrq6oyOBS9itVq1d+9eHTt2TJJ05MgR7d+/X/fff7/ByeCtTpw4ofb2do//a1OmTFFcXBzb2rhqXV1dmjBhgm688cYxWR4X4/NBZ86ckdPpVHBwsMd4cHAw51jjqgwODqq4uFizZ8/W3XffbXQceJGdO3eqpaVFX3zxhdFR4KV+/fVX1dTUKDs7W8uWLVNzc7PeeOMNTZw4UYsWLTI6HrxAbm6uurq6tHDhQplMJjmdTr3wwgt66KGHjI4GL9Xe3i5Jl9zW/uOPP4yIBC/X19en0tJSpaamavLkyWOyTIo+gMsqLCzU0aNHOXQWV+S3337T2rVr9dFHH8nf39/oOPBSLpdLMTExevHFFyVJ99xzj44ePara2lqKPkbkm2++0Y4dO/T222/rrrvuUmtrq0pKShQaGsocAmC4/v5+Pffcc3K5XCosLByz5VL0fVBQUJBMJtOQC+91dHRwq0BcsaKiIu3Zs0fV1dWaOnWq0XHgRQ4fPqyOjg6lp6e7x5xOp/bt26dt27apublZJpPJwITwBmazWXfeeafHWGRkpL799luDEsHbvPnmm8rNzXWfN22xWHTy5ElVVFRQ9HFVzGazpIvb1qGhoe7xjo4ORUVFGRULXqi/v1/PP/+8Tp48qaqqqjHbmy9xjr5P8vPzU3R0tBoaGtxjg4ODamhokNVqNTAZvInL5VJRUZG+++47VVVVadq0aUZHgpdJTEzUjh07tH37dvcjJiZGaWlp2r59OyUfIzJ79mz3udV/aWtr02233WZQInib3t5eTZgwwWPMZDJxez1ctfDwcJnNZo9t7a6uLjU2NrKtjRH7q+T/8ssv+vjjjxUUFDSmy2ePvo/Kzs5Wfn6+YmJiFBsbq6qqKp0/f95jzxownMLCQn399df64IMPFBAQ4D4fbcqUKbr++usNTgdvMHny5CHXdLjhhht00003ca0HjNiTTz6pJUuWaOPGjVq4cKGamppUV1enoqIio6PBSzzwwAPauHGjwsLC3Ifub9myRYsXLzY6Gsax7u5uHT9+3P37iRMn1NraqsDAQIWFhWnp0qXasGGDIiIiFB4errKyMoWGhg57VXX8uww3h8xms/Ly8tTS0qKKigo5nU73tnZgYKD8/PxGvX5ur+fDqqur9eGHH6q9vV0zZszQ66+/rri4OKNjwUv8r/udl5SU8IURrlpWVha318MVq6+v1zvvvKO2tjaFh4crOztbmZmZRseCl+jq6lJZWZl2797tPtQ6NTVVK1euHJONafgmu92upUuXDhlftGiR1q1bJ5fLpfLyctXV1amzs1P33nuvCgoKNH36dAPSYjwabg4988wzmj9//iXf98knn8hms416/RR9AAAAAAB8COfoAwAAAADgQyj6AAAAAAD4EIo+AAAAAAA+hKIPAAAAAIAPoegDAAAAAOBDKPoAAAAAAPgQij4AAAAAAD6Eog8AAAAAgA+h6AMAAAAA4EMo+gAAYFg1NTWyWq0aGBhwj3V3dys6OlpZWVker7Xb7bJYLDp+/LhSUlJksViGPDZt2qT33nvvks/9/SFJr7zyilasWDEk01/r6ezs/P9+eAAAvNB/jA4AAADGN5vNpp6eHh06dEizZs2SJP34448KCQlRY2Oj+vr65O/vL+liAQ8LC9Ptt98uScrLy1NmZqbH8gICAuRyufTYY4+5xx555BFlZmYOeS0AALhyFH0AADCsyMhImc1mORwOd9F3OByaP3++9u7dq59++kk2m809/tfP0sVSbzabL7ncgIAA988mk2nY1wIAgJHj0H0AAHBZNptNdrvd/bvdbldCQoLi4+Pd4729vWpsbPQo+gAA4Npjjz4AALisxMREFRcXa2BgQL29vWptbVVCQoIGBgZUW1srSTp48KAuXLjgUfRLS0tVVlbmsazKykrNmTNnxOves2ePrFarx5jT6RzFpwEAwLdR9AEAwGUlJCSop6dHzc3N6uzs1B133KGbb75Z8fHxevXVV9XX1yeHw6Fp06YpLCzM/b6cnBylp6d7LOuWW265onXbbDatWbPGY6yxsVEvvfTSVX8eAAB8GUUfAABcVkREhKZOnSq73a6zZ88qPj5e0sXSfuutt+rAgQOy2+1KTEz0eF9QUJAiIiJGte5JkyYNWcbvv/8+qmUCAODLOEcfAACMiM1mk8PhkMPhUEJCgnt8zpw5+uGHH9TU1MT5+QAAjAMUfQAAMCI2m0379+/XkSNHPIp+QkKCPvvsM/X39w8p+t3d3Wpvb/d4dHV1XevoAAD8q3DoPgAAGBGbzabe3l5FRkYqJCTEPR4fH6/u7m5Nnz5doaGhHu8pLy9XeXm5x9ijjz6qoqKia5IZAIB/owkul8tldAgAAAAAADA2OHQfAAAAAAAfQtEHAAAAAMCHUPQBAAAAAPAhFH0AAAAAAHwIRR8AAAAAAB9C0QcAAAAAwIdQ9AEAAAAA8CEUfQAAAAAAfAhFHwAAAAAAH0LRBwAAAADAh1D0AQAAAADwIf8FFLUzzKArg84AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "CCa1 = O.adjust_curves(r.dxvalues)\n", "CCa1.plot()" @@ -3170,7 +2625,7 @@ }, { "cell_type": "markdown", - "id": "3f780da0-eb2c-4564-b84e-c7791fab5e66", + "id": "ef07cc0a", "metadata": {}, "source": [ "## Optimizer plus inverted curves [NOTEST]" @@ -3178,45 +2633,10 @@ }, { "cell_type": "code", - "execution_count": 190, - "id": "fa769696-b65c-4500-a94f-3921ab7f2f23", + "execution_count": null, + "id": "2ce7d40d", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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m9+Mxx9/HI1GA5VKBSdPnsRdd92FRqOBv/7rvwYAvPTSS6jVal2BwFNPPYU//MM/7Hqtv/iLv8Add9yx4a/97W9/G0ePHu16rNls3sB3Q0REtPMxECAiIqJNcdddd6FUKuHVV19FPp/Hrl274PP5cOedd+I3fuM3UK1Wcfz4cUxMTCASiRif99BDD+H+++/veq1wOHxNX/vuu+/GI4880vXYyy+/jE984hPX/f0QERHtdAwEiIiIaFNMTU1hZGQEL774InK5HO68804A2sX96OgofvjDH+LFF1/Em9/85q7PUxQFU1NTN/S1XS7XiteIRqM39JpEREQ7HXsIEBER0aa5++67cfz4cRw/fhx33XWX8fgdd9yB7373u3jllVfYP4CIiKhPMBAgIiKiTXP33XfjBz/4AU6dOtUVCNx111348pe/jHq9viIQKBaLSCQSXf8UCoXtPnQiIqKhwy0DREREtGnuvvtuVCoV7NmzB4FAwHj8zjvvRLFYxO7duxEKhbo+5zOf+Qw+85nPdD32/ve/H4899ti2HDMREdGwMrXb7XavD4KIiIiIiIiIthe3DBARERERERENIQYCREREREREREOIgQARERERERHREGIgQERERERERDSEGAgQERERERERDSEGAkRERERERERDiIEAERERERER0RBiIEBEREREREQ0hBgIEBEREREREQ0hBgJEREREREREQ4iBABEREREREdEQ+v8BaGH50tkPQksAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = USDC/WETH\n" - ] - }, - { - "data": { - "image/png": "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nr5vvo5yuWg2savVamYDvGKxYKy6W42S+iqKxTwqlTI0DajXG8ZKfsVI7OtoNPS9982Se+DUXvrV1tx2MHcV3mazGzPnPWg0LLBYYJTdu+F2u80EXtPqsNtPleLrDfVssNmsRuM9l7mCb7FYVv3cuwUTcCIiIiIiolWgJ7B22O0CfD5hVR9bL53Xu9g3V9eb++n1xL4CwGrss6+iWCwYib3WUnZfLp8q228e2+x2r2ma+QHAWmk2ybPZbGZSrifrVnM/vcvlMT8I2LnzfEQisTU7n/XGBJyIiIiIiKjD6eX3+j7x1aaX35fnJPZ6Ob7eEK8Ki8UGt9uGbFZFsajPptc0mA309Jn1eld8wGKW9DfL++v1ekuS36wKKJfLy55bJpPGTTfduuo/c7swASciIiIiItrA9FX7xVPDhTrbnym9HL9qNMUroVarmo3yarWqMa++ZCbqzX3127add3bfsEMxASciIiIiIqI1ZbVa4XS64HS64PP52306bcMWd0RERERERETrgAk4ERERERER0TpgAk5ERERERES0DpiAExEREREREa0DJuBERERERERE64AJOBEREREREdE6YAJOREREREREtA6YgBMRERERERGtAybgREREREREROuACTgRERERERHROmACTkRERERERLQOmIATERERERERrQMm4ERERERERETrgAk4ERERERER0TpgAk5ERERERES0DpiAExEREREREa0DJuBERERERERE64AJOBEREREREdE6YAJOREREREREtA6YgBMRERERERGtAybgREREREREROuACTgRERERERHROmACTkRERERERLQOmIATERERERERrQMm4ERERERERETrgAk4ERERERER0TroigT8a1/7Gq6//npceOGFeMMb3oDnnnuu3adEREREREREdEY6PgH/wQ9+gI997GN417vehX/6p3/Crl278Pa3vx2pVKrdp0ZERERERES0Yh2fgH/5y1/GG9/4Rtx2223Yvn077r77brjdbnz7299u96kRERERERERrZi93SewlEqlghdffBH/+T//Z/M2q9WKffv24emnn1706yyW9Ti7s9c8v04/T1o5xrS3MJ69hzHtLYxn72FMewvj2XsY09XT0Ql4JpNBvV5HOBxuuT0cDuPo0aMLfk00KqzHqa2KcLh7zpVWhjHtLYxn72FMewvj2XsY097CePYexvTcdXwJOhEREREREVEv6OgEPBgMwmazzWu4lkqlEIlE2nRWRERERERERGeuoxNwp9OJ3bt34/HHHzdvazQaePzxx3HJJZe08cyIiIiIiIiIzkxH7wEHgNtvvx3vfe97MTY2hosuughf+cpXUCwW8brXva7dp0ZERERERES0Yh2fgP/u7/4u0uk07rvvPiQSCZx//vn44he/yBJ0IiIiIiIi6iodXYLe9Ja3vAX/9m//hhdeeAHf+ta3sGfPnnaf0jn52te+huuvvx4XXngh3vCGN+C5555r9yltOL/85S/xzne+E1dffTV27tyJn/zkJy33a5qGz3zmM7j66qtx0UUX4W1vexuOHz/eckw2m8Vdd92FvXv34rLLLsMHPvAB5PP5lmMOHjyIP/zDP8SFF16Ia665Bl/4whfmncvDDz+M1772tbjwwgtx880349FHH131n7fXfe5zn8Ntt92GSy65BFdddRX+63/9r/MmJZTLZdx999244oorcMkll+BP//RPkUwmW46ZmprCO97xDuzZswdXXXUVPv7xj6NWq7Uc8+STT+LWW2/F2NgYXvWqV+E73/nOvPPhNX7uvv71r+Pmm2/G3r17sXfvXrzpTW9quTYYz+72+c9/Hjt37sTf/M3fmLcxpt3l/vvvx86dO1v+vPa1rzXvZzy7z+zsLP78z/8cV1xxBS666CLcfPPNeP755837+d6ou1x//fXzrtGdO3fi7rvvBsBrtK00WlcPPfSQtnv3bu0f//EftcOHD2t/+Zd/qV122WVaMpls96ltKI888oj2qU99SvvRj36k7dixQ/vxj3/ccv/nPvc57dJLL9V+/OMfawcOHNDe+c53atdff71WKpXMY97+9rdrv/d7v6c988wz2i9/+UvtVa96lXbnnXea9yuKou3bt0+76667tEOHDmn/8i//ol100UXaN77xDfOYX//619r555+vfeELX9COHDmi/d3f/Z22e/du7aWXXlr7f4Qecscdd2jf/va3tUOHDmkHDhzQ/tN/+k/atddeq+XzefOYv/qrv9KuueYa7bHHHtOef/557Y1vfKP2pje9yby/VqtpN910k/a2t71N279/v/bII49oV1xxhfY//sf/MI85efKktmfPHu1jH/uYduTIEe2rX/2qdv7552s/+9nPzGN4ja+O//f//p/2yCOP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q7/Srr32Wu3xxx/Xnn/+ee1Nb3rTguM27rjjDu3AgQPaz372M+3KK69ccNzGxz/+ce3IkSPaP/zDPyw4boPX+Ln75Cc/qT311FPa+Pi4dvDgQe2Tn/yktnPnTu3f//3fNU1jPHvB3C7omsaYdpt7771Xe/LJJ7Xx8XHt17/+tfa2t71Nu+KKK8xRZIxnd3n22We1Cy64QPvsZz+rHT9+XPvnf/5nbc+ePdr3vvc98xi+N+o+9Xpdu/baa7VPfOIT8+7jNdo+TMDb4Ktf/ap27bXXart379Ze//rXa88880y7T2nDeeKJJ7QdO3bM+/Pe975X0zR93ManP/1pbd++fdrY2Jj2x3/8x9rRo0dbHiOTyWh33nmndvHFF2t79+7V3ve+92mqqrYcc+DAAe3Nb36zNjY2pr3iFa9YcOTCD37wA+3Vr361tnv3bu3GG2/UHnnkkbX7wXvUQrHcsWOH9u1vf9s8plQqaX/913+tXX755dqePXu0d73rXVo8Hm95nImJCe1P/uRPtIsuuki74oortHvvvVerVqstxzzxxBPa7//+72u7d+/Wfvu3f7vlezTxGj9373//+7XrrrtO2717t3bllVdqf/zHf2wm35rGePaC0xNwxrS7vOc979F+67d+S9u9e7f2ile8QnvPe97TMjOa8ew+P/3pT7WbbrpJGxsb01772tdq//f//t+W+/neqPv8/Oc/13bs2DEvTprGa7SdLJqmae1ehSciIiIiIiLqddwDTkRERERERLQOmIATERERERERrQMm4ERERERERETrgAk4ERERERER0TpgAk5ERERERES0DpiAExEREREREa0DJuBERERERERE64AJOBEREREREdE6YAJOREREREREtA7s7T4BIiIiOjdvfetbsWvXLvzFX/xFy+3f+c538NGPfhS/+tWvUCwW8b/+1//Cww8/jNnZWfh8Pmzfvh1ve9vbcMMNN5iP89RTTwEAHA4HgsEgdu/ejde97nV49atfPe/7PvHEE3jwwQfx3HPPoVQqYWhoCK985Stx++23o6+vb+1/cCIioi7DBJyIiGgD+NCHPoRnn30WH/zgB7Ft2zZks1k8/fTTyGazLce98Y1vxLvf/W7U63XMzMzgxz/+Me68807ceuut+MhHPmIe941vfAN33303brnlFtx3330YGhrC9PQ0vvvd7+JLX/oS3v/+96/zT0hERNT5mIATERFtAD/96U/xF3/xF7jmmmsAAMPDwxgbG5t3nNvtRjQaBQD09/fj4osvxtatW/GBD3wAv/M7v4N9+/ZhZmYG99xzD9761rfiAx/4gPm1w8PDuPzyyyHL8vr8UERERF2Ge8CJiIg2gEgkgkcffRSqqp7x1956662QJAk/+tGPAAA//OEPUa1W8Sd/8icLHi+K4jmdKxERUa9iAk5ERLQBfOQjH8HTTz+NK6+8Erfddhs++tGP4te//vWKvtZqtWLLli2YnJwEABw/fhx+vx+xWGwtT5mIiKjnMAEnIiLaAC6//HL85Cc/wf/+3/8br3nNa3DkyBH80R/9ER544IEVfb2mabBYLPP+PxEREa0cE3AiIqIu5/P5Fiwtl2UZgiCYf3c4HLjsssvwjne8A1/60pfw7ne/G5/97GdRqVSWfPx6vY4TJ05geHgYADA6OgpFURCPx1f3ByEiIupxTMCJiIi63OjoKF588cV5t+/fvx9btmxZ9Ou2b9+OWq22bAL+T//0T8jlcuYoste85jVwOBz44he/uODxbMJGRES0MHZBJyIi6nJ/+Id/iK997Wu455578PrXvx5OpxOPPvooHnroIXz2s58FoM/4vvHGGzE2NoZAIICXX34Zn/rUp3DFFVfA7/ebj1UqlZBIJFrGkH3lK1/Bm9/8Zlx55ZUAgIGBAbz//e/HRz7yEaiqiltuuQVDQ0OYmZnB9773PXi9Xrzvfe9ry78FERFRJ7Nomqa1+ySIiIjo3Dz33HP49Kc/jQMHDqBarWLr1q14xzvegRtuuAEA8LnPfQ7/9m//hmPHjqFYLCIWi+Haa6/Fu971LgSDQQB6kv7UU08B0MvVA4EAxsbGcNttt+FVr3rVvO/52GOP4cEHH8Tzzz+PUqmEoaEhXHvttbj99tvZoI2IiGgBTMCJiIiIiIiI1gH3gBMRERERERGtAybgREREREREROuACTgRERERERHROmACTkRERERERLQOmIATERERERERrQMm4ERERERERETrgAk4ERERERER0TpgAk5ERERERES0DpiAExEREREREa0DJuBERERERERE64AJOBEREREREdE6+P8SvaVuEfmmNAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "CCr = CPCContainer(CPC.from_pk(p=2000+i*100, k=10*(20000+10000*i), pair=f\"{T.ETH}/{T.USDC}\") for i in range(11))\n", "CCi = CPCContainer(CPC.from_pk(p=1/(2050+i*100), k=10*(20000+10000*i), pair=f\"{T.USDC}/{T.ETH}\") for i in range(11))\n", @@ -3229,50 +2649,12 @@ }, { "cell_type": "code", - "execution_count": 191, - "id": "3efeade6-48d5-4d1c-9ac2-09db20658b03", + "execution_count": null, + "id": "93cb9736", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Arbitrage gains: 1.3195 WETH [time=0.0235s]\n", - "prices post arb: [2527.721669597842, 2527.7216695978414, 2527.721669597842, 2527.721669597842, 2527.7216695978423, 2527.7216695978423, 2527.721669597842, 2527.721669597842, 2527.7216695978423, 2527.7216695978423, 2527.7216695978414, 2527.721669597843, 2527.7216695978423, 2527.721669597842, 2527.721669597843, 2527.721669597842, 2527.7216695978423, 2527.721669597843, 2527.7216695978427, 2527.7216695978423, 2527.7216695978423, 2527.7216695978423]\n", - "stdev 5.130242014436283e-13\n", - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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+uccPLifsDABGzbcwD/90z8TF3dW12mmr2lpaSIlJZV7732Ahx/+9BW15ULMxXczw+U6A65qW0YoFPKZz3yGxx9/nB/84Ad85jOfCTkCQoRYIMLDwykvXwJAbe0Jb+5kMJGcnMKmTZ7yiTU1x9HpNAvboHlAKpVz8813EBYWRmdnOzt3bvPZFQl0wsLCWLlyPTfddDsREREYDFpeeeU5ent7Frppc0ZMTAw33fQxbr75Y8TExNLX18vf/vYcx48fCprvMi0tgzvvvJ8tW24lNjaW0dFRPvjgXd57702GhgYXunnXjEAgoLCwlIce+iwbN24hISGRsbEx9u/fzV//+jS1tSd8yqQFIlFR0SxZsoxPferzrF69nuTkFKamJjlx4gh//vMf2bHjHa8OxgxNlhH+4W+nabJcn02OmJgY0tMzZkVk3Hbbx7jhhguX0h0bG+XrX38MkUjM00//la997Vs0Njbicnns1uFw0NzcwCuvPMdLLz1LY+NpnM6rHy+joqJ55503fYQarxczSvx33HEfn/rU59iwYbM3HWJ4eJAdO97j2Wf/wKFDe+nvt330DeeQ2toali1bwc9//p88/fRfqKqq5tvf/po3MmyG7Owc3nzzfe+f3/3uae85m62XwcFBvv71f+H551/le9/7EQMDg9TU1OJ2u7FYzExMjHHvvffy5S9/lV/+8j/429/eZPnyVVRWVl3QEQBQVlbh855vvvk+d9xxF2KxlMLC4sv+jFNTk0gkMh599DHS09Mvep3T6eTQof2sXbv+su99JdTXn+aHP/wut99+J//7v8+xbt1GvvOdf6arq+OirzGZjHzrW19lyZJqnnnmeR544BP89Kc/4ejRw/PSxivhUr/vhoY61Oo8fvKTn/Hssy9y66138JOfPM7Bg/u911zO83juuWd55ZUX+ed//g5//OP/ERsbw9e//mVvtBTAD3/4Pbq7u/j1r/8fP/3pf3D6dA0/+9kT3vPn9jV/+tNf+NKXvsL//u8fefPN166oLeezUN/NVcW9HT58mB07dmA0GhEIBMhkMm666aaLVhkIESLE/FJcXMaJE0cYHx+nra2R4uKKhW7SnKNW51NcXEZTUz07d27jwQcfIT7+8ryegYJSmcOGDTeyZ88OOjvbiYv7kLVrNwWVsrJanU9ycirvvfcmw8NDvP76S2zatIW8vKKFbtqc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eti7dxc9PZ681aSkZNavvyFoq2c4nU7q6k5RU3OCyUmPfkJycgrLl69Grc4PqsXiDL29PZw6dcxHkC4tLZ2SkjKKisqDzvljt9vp6GiloeE0vb093uNpaRmUllaQn19EVFTwaKG4XC7MZj0tLY1oNBqfNILk5GTy8wspKir36kcsJHPVF05OTtDR0UpraxNWaw/nLjnChWKSpAqUyhy+MzhFv9NJWng4v1eJcQOp4WFIogIrIsjtdtPTY6azs42urnZGRnzXAenpGUilMtTqfEQiadA5+uYafx6TA4F5cQaUl5fz/vvvI5F48jTvu+8+br75Zj73uc8BYDQaue2226itrb3yFgchIWdACH/htdeex2KxoFSquO22ez76BdeZubZDh8POa6+9gM1mIykpifvvf4To6LnP0/QnRkdHePvtVxkY6CcyMpKtW28LSiX6c7FYTHzwwduMjY0hEAhYtmwVVVXLr3qh6O/9ocvlorOznUOHPvTmX8vlctat20xKSuoCt25+sNunaWys49SpY14Vc49TYCW5uUVBN5kWCCAqys3u3ftobKzzhh97UiaWUFJSHpRhx2aznrq6GjSabm8d+cjISJTKbEpKyhGLZUHlAHI6neh03bS2NqPRdPrsnstkCvLyCsnOzl0w4d/56AvHxkbRaLro7GzHaNTxu3XnlOZzuz1veh71peq5efMFwO1209dnQ6frpru7w+vInSEuLh6lMhulMgeZTD4vWhKBjr+Pyf7OvDgDtmzZwve//33WrVvH2NgYK1as4Nlnn2Xp0qUANDY28vd///ccOXLk6lodZIScASH8BYvFyGuvvQTA3Xc/iFgsXeAW+TIfdjgyMsyrr77A+PgYCkU2t956Z1BNJi/E5OQEb731CjZbL2FhYWzefAu5ucEtVOSpNvA+Wq0WALFYyo033kxS0pVr1wRKfzg9Pc3x44eoq6vB7XYTHh7BsmUrqahYekHhqmBgenr6TKTAca+CuVAoYsWKtUil8qBxCpxrg+PjE5w+fZzm5kZvdYmIiAjy84soLa0IyoinyclJWlubaGw87dXKAE+0QHFxGfn5hUHnDJmYGKO1tYnu7i7MZqP3+Iy+QElJBXL59U2dmO++cGJinGfaO/iDIA7XBX67YW43/5Icy8flkqD5bY+Pj9HR0YJW24XFYvGpxBAWFoZIJCY3txClMjuo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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = USDC/WETH\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+AAAAIeCAYAAAA7yGWgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3gU1deA3y3pvdLTSCMJECAQQkJLoYbeFAVFBRuIoqgoP7ErqFiwoSIqIlKVGoqU0GsgJISEkJCENEglve/3x5qFhSQEJLP4ed/nmQcyc++cMzN3d+fcc+45MpVKpUIgEAgEAoFAIBAIBAJBiyLXtQICgUAgEAgEAoFAIBD8FxAGuEAgEAgEAoFAIBAIBBIgDHCBQCAQCAQCgUAgEAgkQBjgAoFAIBAIBAKBQCAQSIAwwAUCgUAgEAgEAoFAIJAAYYALBAKBQCAQCAQCgUAgAcIAFwgEAoFAIBAIBAKBQAKEAS4QCAQCgUAgEAgEAoEECANcIBAIBAKBQCAQCAQCCRAGuEAgEAgEAoFAIBAIBBKg1LUCAoFAIBD821myZAlffvklR44cwdra+pbj4eHhWFlZsWLFCgDy8/P5+uuvOXjwIJmZmZiYmNCuXTv8/f155plnMDExAeDVV1/ljz/+0JzH2NgYa2trvL29GT58OGFhYcjlDc+l79q1i9WrVxMTE0NpaSmWlpb06NGDBx54gICAgFvajx07li5dugDw+++/c/ToUSwtLTXHCwsL6d27N0qlklOnTmFgYKA5dvnyZUJDQ3nyySeZM2cO6enphISENHq/XnzxRWxtbZk3b14Td1VNu3bt2LNnz23vcXBwMG5ubixduvS25xQIBAKBQFcIA1wgEAgEAgkpLCxk3LhxlJSUMG7cOFxcXCgsLCQhIYFVq1bx4IMPagxwAH19fd59910AKisrycjIYO/evTz33HP06tWLb775BlNTU017lUrFa6+9xoYNG/Dy8mLatGnY2tqSk5PDrl27ePTRR1m1ahXdu3fX9Ll69SpxcXE899xzFBcXs2rVKqKioggODta0OX36NHK5nJqaGmJiYvDz89McO3XqFAA9evTQutbw8HD69et3yz3w8vLC0NCQRYsWae2fP38+Xbp0YeLEiZp9N94LgUAgEAj+7QgDXCAQCAQCCVm3bh2ZmZm3GMEAJSUl6Onpae1TKpWMGjVKa98LL7zAd999xyeffML8+fP57LPPNMd+/PFHNmzYwCOPPMK8efOQyWSaY08//TR//vknSqX2z//+/fsxMDCgd+/e5OfnA2qj+kYDPCoqCg8PDyoqKoiKitIywKOiopDL5XTr1k3rvF5eXrfofiMdOnTQ+vvNN9+kQ4cOTfYRCAQCgeDfjDDABQKBQCCQkLS0NBQKBb6+vrccu9GTfTtmzJjBsWPH2L59O5cuXcLZ2ZmKigq+++47XFxceOWVV7SM73pGjx59y77IyEj8/f0xNDSkbdu2tGnThqioKK02UVFRdO/enfLy8gaPubq6Ym5u3mz9BQKBQCD4LyKSsAkEAoFAICHt2rWjtraWjRs3/uNzjRw5EpVKxeHDhwG117qwsJDw8HAUCkWzzlFdXc3hw4fp37+/Zl+PHj2IjY2lqqoKgKqqKmJiYujWrRvdunXj9OnTqFQqAK5du8bFixdvCT8HKC8vJz8//5atpqbmrq/52rVrDZ6zrq7urs8pEAgEAoFUCA+4QCAQCAQSMm7cOH766SdeffVVvvvuO3r16kXPnj3p378/ZmZmd3Qud3d3QO1VB0hKSgLAw8Oj2ec4efIkJSUlWgZ49+7d2bJlC2fPnsXPz4+4uDgqKys1HvDCwkKSkpJwdXXVGOMNGeBLlixhyZIlt+xfvXp1gxEAzWHIkCGNHruT6xYIBAKBQBcIA1wgEAgEAgmxtbVl48aNfPXVV/z111/8/vvv/P777+jp6fH000/zzDPPNBg63hDGxsYAlJaWAuo15HBnicv279+Pq6sr7du31+yrN6br13pHRUXRqlUr2rZti0qlwtLSUhN2Xh+O3pABPmnSpAYNZldX12brdzNLlixpMFR/7ty5d31OgUAgEAikQhjgAoFAIBBIjL29PW+99RZvvvkmKSkpHDx4kO+//54vvvgCe3t7JkyY0KzzlJWVAdcN7nrDtN4gbw779u1j4MCBWvvc3d0xNzfXGNf1678BZDIZvr6+REVFMXHiRKKiomjTpg1t27a95dyOjo706dOn2bo0Bz8/vwbLkN1YFk0gEAgEgvsVsQZcIBAIBIJ/SL3xV1lZ2eDx8vLyBg1EmUyGs7MzU6ZMYeXKlcjlcjZt2tRsuRcuXADAwcEBABcXFwASEhKa1f/y5cskJydrhZ8DyOVyfH19NeHlUVFRWhnOu3XrxqlTpzRrwxvyfgsEAoFAILgVYYALBAKBQPAPqff+Xrp06ZZj5eXlZGdnN+ghvpEOHTpgbm5OTk5Os+Vu2rQJmUxGYGAgoA4Dt7CwYOvWrdTW1t62f2RkJGZmZg0a0D169KCwsJDdu3eTl5enVTKtW7dupKWlsX//fioqKm4ppyYQCAQCgaBhhAEuEAgEAsE/JCAgAD09PVatWnVLNu7Vq1dTU1NDv379AIiOjtaEjt/I2bNnKSwsxNnZuVkyv/vuOw4ePMiwYcNwcnICwMjIiCeeeIKkpCQ+/vhjTabyG9m4cSNnz54F1AZ4YGDgLXXB4fqa7h9++AEjIyM6deqkOdalSxeUSiU//PCDVluBQCAQCARNI9aACwQCgUDwD7GxseHZZ5/ls88+46GHHiI4OBgjIyNOnz7Nli1bCAoKIjg4GFAbwJs3byY0NBQfHx/09PRISkpi/fr1GBgY8NRTT2mdu6amRlOyrKqqioyMDPbs2UNCQgL+/v68/fbbWu2feOIJLl68yI8//sixY8cYPHgwtra25Obm8tdff3H27Fl+//13KioqOHbsGG+99VaD19SlSxf09PQ4ffo0vXr10jLSjYyM8PDw4PTp05ibm2uysd9MXFxcg+XWHBwctELaBQKBQCD4ryAMcIFAIBAI7gFPP/007dq1Y+XKlXz99dfU1NTQvn17Zs2axYwZM5DL1UFnkyZNwtDQkKNHj7Jnzx5KSkqwsrIiMDCQJ598Ei8vL63zVlVV8fLLLwNqw9fa2hofHx+effZZwsLCNOetRy6Xs2jRIkJCQlizZg0//vijRkbPnj2ZO3cu3bp1Y9++fVRVVWk88zdjYGCAj48Pp0+fbjDEvHv37pw7dw5fX99bdKhny5YtbNmy5Zb9Y8aMEQa4QCAQCP6TyFQNxacJBAKBQCD4f82bb75JbGws69at07UqAoFAIBD8ZxAecIFAIBAI/oN06tTplvJjAoFAIBAIWhbhARcIBAKBQCAQCAQCgUACRBZ0gUAgEAgEAoFAIBAIJEAY4AKBQCAQCAQCgUAgEEiAMMAFAoFAIBAIBAKBQCCQAGGACwQCgUAgEAgEAoFAIAHCABcIBAKBQCAQCAQCgUAC/t+VIcvJKda1Cs3C2tqE/PxSXavR4vz881JKS0sZPnw0jo4uksg8eHAPZ8+ewcWlI0OGjJJEZmlpMT///D0Ajz46A2Nj0ybb36vnv3nzOi5fTsPXtwd9+vT/x+drDsnJiWzfvhkDA0MefXQGCkXLf43U1tby66/LKC0tITh4CJ6eXi0uE+Do0YNERR3H2tqWSZOmIJPJ7sl5m3r++fl5rF79CyqViuHDR+Ho2PGeyGwKlUrFH3/8TnZ2Fq1bt2H06EnI5S0/PxsdfZJDh/Yjk8kYN+5B7O1bt7jM4uIi1q1bSXl5OR4eXgQHD75nz7W5/Fe+/wUNI57/fxvx/P/biOf//xs7O7NmtRMecB0gk4FCIUfidz6dYGqqHohFRdckk1n/Ep+fny+ZTBMTMywtrQDIyspqsu29fP7u7mpDNCXl0j8/WTNxcuqIiYkplZUVXLqUJIlMhUJB586+AJw9ewqpqif6+vZAX1+f/PxcEhLO3ZNz3u75W1vb0KmTDwAHD0ZSW1t7T+Q2rZOMfv1CkMvlZGdn3bNrvR2dO3fH0dEZlUrFX39FUF1d3eIyzczMGTQoHJlMRkJCHOfPx7a4zBv5L33/C25FPP//NuL5/7cRz19QjzDABS2KtbUtAOXl5ZLJbNu2AwDXrhVK8kJfT/v2DgBkZqZLJtPJqSNyuZzCwnzy8/MkkSmXy/H09AaQ1Hjx8uqMUqkkNzeHlBRpDH9DQyO8vbsAcOLEEUmMYYBevQLQ09Pj2rVC4uLOSiLT1tae7t17AnD48H7Kylp+hl4ulxMSMgQTExMKCws4dCiyxWUCtGvXAX//QAD2799DdnaGJHIFAoFAIBAIhAEuaFHMzS0AddinVJiYmGJkZIxKpSIvL0cyue3aqQ3/jIzLksk0MDCgfXtHAC5ejJdMbn0I+OXLqRQWFkgi09DQiI4d3QA4ffqEJDIBunXrib6+PsXFxVy4cF4SmcbGpvTs2RuA48ePUFEhzQRWjx69sbW1p7KykgMH9koi09DQiJCQoQDExZ3lwoU4SeR269aT9u07UFdXy86dWykvL5NErkAgEAgEgv82wgAXtCj1BriUIegymQw7O3sArl7Nlkxu27btAcjPz6W0VLpcBI6OTgBcvJggmUwLCyvs7VsBcO7cGcnk9ujRC5lMRnZ2Frm5VyWRaWhoRLduvQA4deqYZF7wLl16YG1tS2VlBUePHpJEpkKhYODAQchkMpKSLkgWit6+vQM+PupIg/3790gyYSeTyQgNHYaxsTElJSXs2bNDsqUNAoFAIBAI/rsIA1zQopiYmABw7Zo0XtJ66tdjZ2ZK5402MjLG0tISgJSUZMnkduzohkwmo7CwkIIC6da9169TTk5OksxwsbS0wdXVHYDTp09KIhOgS5duGBkZU1R0jfh4aYxSuVxOv37BgNozLNVYtrOzp3PnrgAcOhRJebk0yWL69OmPpaUlVVVV7Nu3S5IxZWxswrBho1EoFKSmXuLEiSMtLlMgEAgEAsF/G2GAC1oUCwtLAMrKyqipkW49dr0HXKp10fXUh6FnZWVKJtPY2JS2bdsBSLY2GsDDwwt9fQOKi4skDbv39VWvU754MUGyyAo9PT169FB7wU+cOCJZboG2bdvj7KyuHnDgwB7q6uokkevvH4SZmRkVFRUcOXJQEplKpR6DB49EoVBw+XIqMTGnJZFrb9+a/v3DADh58qikkSQCgUAgEAj+ewgDXNCiGBmZoFSqy1QVF0sXlt26tdogLSoqoqamRjK5zs7qNcqZmemShrN27OgBQFJSomQylUo93NzUcs+fj5FMrp2dPe3bO6BSqTh16qhkcjt16oyRkRFlZaWcPn1cMrmBgQNQKpXk5eWRkCDN+mg9PX3Nuuz4+HOkp6dJItfGxpbAQHU5vSNHDki2hMTT0wsfH7XXf8+eHZItbxAIBAKBQPDfQxjgghZFLpfrJBGbubkFhoZG1NXVSZqIrU2bdsjlCkpKirl2rVAyuS4uroB6zbuU97k+G3pSUiKlpSWSya0Pkb5wIZ6yMmnk6unp0a2bHwAxMdFUVlZKItfc3JKePQMAdV3yysoKSeS2bdteY5Tu3buTqqoqSeR6e3fF0dGF2tpaduzYLNn19unTH1tbO2pqati5c6tk1ysQCAQCgeC/hTDABS2OmZluE7Hl5EjnzdLT06NNm7YApKZKtw7c2NiEVq3U9c8TEqQrDWZn1wpLSyvq6uokTcbm6NgRKysramtrOXdOOu97587dsbS0prKygjNnpFyDrpZbXl7G8ePSrVPu3bsvpqamFBcXsX//X5LIlMlkDBwYipGREcXFxURGSiNXqVQydOgojI3VJdH27hVJ2QQCgUAgENx7hAEuaHHMzc0B6ROx2dioa5BnZUlXlxugVSt1dnApDXAABwcnAC5dkk6uXC7H27szAImJFyQzWORyOX5+aq9wTMwZyfILKBQKevdW14+Ojj4lmddfoVDQt+9AAGJjz5CdLU2OAX19fQIDBwDqaIPU1EuSyDU2NiUkZAgymYyLFy9IlvjOzMycIUNGIJfLSUpKlLTcnUAgEAgEgv8GwgAXtDgGBgYAFBRImxDN2toakNYDDtChgxMAV65kS5Y0C8DNrROgvt6yMmkyVwN4eXVBT0+fa9cKJVsrDNCxoztmZuZUVJQTHy/N2mgAZ2dXWrVqQ01NDUeO7JdMbocOjnTooF77fuDAHskmOzp2dMfd3ROAyMi/qKqSJvTewcFZE3q/f/9uyTL8t27dlqAg9WTHsWOHSE6+IIlcgUAgEAgE/w2EAS5oceozoZeUSLdGGG5MxHaN2lrpErG1bt0OfX0Dqqurycm5IplcS0srTRj6xYvSGQ16evp4eKiN/3PnzkomVy6X4+vbA4CoqOOS1eeWyWT4+fUGIDExQdKEXX37hqBQKMjJuSpptu7+/UMxN7egpKSYQ4ciJZPbvXsv2rXrQE1NDRERG6mulmodehc6dnRDpVKxZ89OCguljd4RCAQCgUDw/xdhgAtaHBsbOwBJvbIAFhZWGBgY/p2ITTrvu0KhoH17dTmyy5el8wgDuLqqPZWJifGSyvX27gLApUsXKSoqlEyuh4c3+vr6lJQUEx8v3dp3R0dn2rZt93cm9mOSybW0tKJHD7Xxf+hQpGTeaD09fYKDBwNw/nysZMa/XC4nJGQIBgYGFBYWEBm5SxK5MpmM4OAh2NjYUlVVRUTERsnutUCgC2bOnEFQkB9BQX4kJopSfFFRJzX3Y968F3WtjuA/wPjxI1iz5jddqyGQCGGAC1occ3NLACoqKiTNLKydiE06TzRA+/aOAKSnp0oq19XVHYArV7IoLJQmZBfUkyy2tnaoVCpiY89IJldfXx8vLx8Azp49LWnSrL59gwF1BvgrV6QplwXg69sDCwtLyspKOXr0kGRyb8yKvn//bskm1ExNzRgwQF2n+8KFBJKSpInu0NPTIzx8LCYmJhQU5LNr1zZJl5QIBHHZxTy9Jpq4bGlKeI4YMYaNG7fj7NxRsy87O5u5c2cTEhJIeHgYX331eYuU9ty2bTNBQX7MmTNLa39xcTFBQX5ERUmX9BLUlTY2btxOcHCYpHIb4+LFRJ555gmCg/swduxwVq78+bZ97sWzO3MmipdffoFRo4YQFOTH/v37Gm07a9aTbN785x2dv7msWLGcJ56YSlhYP8LDw5g370XS0lK02tw4iVS/ffTR+5rjiYkXWLDgNcaOHU5wcCAPPTSeNWtWaZ3jvffevOUcQUF+PPzwxEZ1W7ZsaYN9QkOD7uk9uBOysjL54IO3mTBhJMHBgUycOIply5ZSXa2dL6c542rPnr+YPHkcwcF9mDp1EkeOHNQ6rlKp+OGHbxk1ajDBwYHMnv3MLc6noqJrvPXWfAYN6s+QIQP44IO3KSsru2Ndbkaq76eWQBjgghZHX18fQ0NDQNpM6IDGAL9yJUtSufUe8KysTEk9ZyYmptjbq5PASekRBjSGcGLiBUkNle7d/dHX16egIJ9Ll5Ikk2tjY4eHhxcAR48ekMz4VyqVGuM/NvYMmZnSRVkEBPTFzMyMiooKDh7cK5ncjh3d6datJ6AuiSbV94iJiSlDhoxCoVCQmnqJgwf3SCJXIADYFneFk5evsS1OmglkQ0NDbGxsUSqVANTW1vLyy7Oprq7m229/5PXX3yQiYjPLli1tEfkKhYJTp45Lbmw3hJ6eHjY2tpocNrqktLSEOXNm0rp1G374YQXPPPMcP/74HRs3bmi0z716duXl5bi6ujFnzitNtisqukZMTDSBgX3v6PzN5fTpKMaOncDSpcv59NOvqKmp4YUXZlJeXq7Vrn4SqX575pnnNMcSEs5jZWXN//73NitWrGbq1MdYuvRL1q9frWkze/ZLWv03bNiKubkFAweGNKrbgw9O0eqzceN2nJxcGDgw9N7fiGaSmpqCSqVi7tzXWLFiNc89N4c//1zP0qVfado0Z1zFxETz1luvEx4+ih9/XEnfvgOYN+8lkpMvatqsXPkz69b9zksvzeO7737CyMiQOXNmaZVqfeut/3HpUjKffvoVCxd+RnT0aRYteu+OdLkZqb+f7jXCABdIgomJKYCkNblBHbIL0hvg5uaWGBsbo1LVkZYmTeboetzcPAD1F7CUeHp2xtDQkNLSEkmv2dDQCB8fXwBOnTomqRe8V68+yOVyMjIuS5qsy8HBCScnZwD2798j2YSHnp4+ISFDNdnJpfJGg/pet2rVhqqqKnbs2CxZ5vtWrVrTv7/65Ss29qykER6C/x+oVCrKq2vVW1UtZVU1lFfVXt93w3Ypr5QzGdc4k3GNHfHq38ud8TmafZfyShvsd+N2r74Djx8/SkrKJd544x3c3DwICAjkiSeeYsOGNbd40uqprKzk4YcnsnDh9ZfrjIx0wsL6sWXLxiblGRkZMWzYSL75ZkmT7ZKSLvLcc08RHBzIsGEhLFz4npY37b333mTevBf57bcVjBo1mGHDQvjkk4VanrGqqiq+/PIzRo8eSmhoENOnP3LPDP/x40fw008/sGDBa4SGBjF69FDWr19z1+fbuXM71dXVzJv3Bi4uHQkNHcz48Q+wevXKRvvczbNriICAQGbMeIb+/Qc22e7w4YO4u3tibW2jCd8/fPggjzzyAMHBfZgx41Eto+1OWbx4CcOGjcDFpSNubu689tqbXLmSTULCea129ZNI9Vv9uydAePgonn/+Jbp160G7du0ZPHgYw4aNJDLy+mSyqampVv/4+PMUFxcxfPjIRnUzNjbW6pOfn09KSjLh4aPu+noBNm/+kyFDBnDy5PE77tu7dx9ee20BvXr1pl279gQF9efBBx/WutbmjKu1a3/H3z+AyZOn4uTkzPTpT+Pu7qkZzyqVirVrVzF16uP07TsAV1c35s9/m7y8HA4c2AdASsoljh07zKuvzsfb24euXX15/vm57N69k9zcnGbrcjP3aozrCqWuFRD8NzAxMSEvL5dr16QLiwZo3boNANeuFVJdXY2enp4kcuVyOe3bO3LhwnmysrI0a7OlwMPDmyNHDpKXl0t+fh7W1jaSyFUqlXh6enPmzCliY8/i5NTx9p3uEV27dufs2Shycq6QnHyBjh09JJFrZmaOh0cnzp8/x5EjB3FyckWhUEgiu3//UDIzfyE/P5+YmNN07dpDErlt27anW7eeREUdJzJyN23atMfY2LjF5SoUCgYNGs7q1SvIybnKvn07CQ0d3uJyATw9fbh6NZvY2LMcOhSJnV0rWrVqI4lswb8blUrFE79Hczaz6K7PUVBezfTfo5vdvmtbc75/oCsymeyuZQKcOxeDi4ur1m9Ir14BfPzxh1y6lKSpjnAjBgYGLFjwDjNmPEqfPoH06dOXt9/+Hz17+jfLIHn88RlMmjSavXv/atCDWF5ezpw5M/Hx6cwPP/xMQUEBH374Lp9+uojXX39T0y4q6iQ2NrZ88cVS0tMvs2DBPNzc3Bk5cgwAn366iJSUZN56631sbe2IjNzLSy89x88//06HDg6N6rds2VIiIrawbt3mJq/jt99WMGXKNB5//EmOHz/CF198goODA716qXN4vPjic0RHn260f6tWbfj1V7WRExt7Fl/fblrvL/7+Aaxc+TNFRUWaUq83cjfP7p9w8OB++vbtr7Xv668/Z/bsF7G2tmXp0q945ZU5rFq1AaVSSXZ2NlOmTGjynFOmTGPq1McaPFZfAvTma9+1K4KdO7dhbW1DYGA/Hn30CU0EZmPnaej+1bNly0b8/Hpp3iWbw5Ytf9KhgwNdu3Zrdp+bWbnyZ3777RcWL/5SE134yy8/smLF8ib7rVixltatWzd4rKRE+1qbM65iY8/ywAMPaZ3H3z9AsxQhMzODvLw8evbspTluamqKl5cPsbExhIYOJjb2LKamZnh6emna+Pn1Qi6Xc+5cLP37D/xXjPF7jTDABZJgbW1LWloqJSVSJ2KzxtDQiIqKcvLycmjduq1ksp2dXblw4TyXL6dIJhPUHuEOHZxITU3m4sUEevXqI5lsL68unDlzirS0SxQU5GFlJY3xb2RkjJubB+fPn+PUqWM4O7shl0sT4NO7dxBJSYkUFV0jPv6cJiFdS2NiYkafPv3Yt28Xx44dxsXFHTMzM0lk9+zZm5SUZPLzc/nrr62Eh4+T5H6bmZkzYEAIO3du48KFBDp0cNFk4G9pgoKCKS4uITU1mYiITYwfPxlTU2nut+DfzT8zg3VHXl6eppxnPfUvu00lNnVz82D69KdZuPBdQkIGkZ2dxaJFnzZLpq2tHRMmPMh3331N374Dbjm+a9d2qqqqmD//bYyMjACYM2cur7wyh6efnqXRz8zMnBdeeBmFQoGjoxMBAUGcOnWckSPHkJ2dzbZtm1m/fgu2tuoksZMnT+HYsSNs27aZJ598tlH9LC0tadeu/W2vo3PnrkyZ8igADg6OxMREs3r1bxoD/NVX51NR0fjytPplAAD5+Xm0aaP97mJlZa051pBxcrfP7m6oqqri2LEjPPbYDK3906ZNp2dP9fXOn/8mY8YMIzJyLyEhYdja2rJ8edMJxxozjOvq6vjii0/o3LkrLi6umv1hYUNo3boNtrZ2JCUl8s03S0hLS+X99z9q8DwxMdHs3r2Tjz76vMHjubk5HDt2mDfeeLdJPW+ksrKSnTu38/DDjzS7z818/fUX7NixjSVLvsPF5bojY/TocbfNSWBra9vg/vT0y6xfv5pnn31es6854yo/P0+z78Y2+fl5mnbqfTZNtrGystI6rlQqMTMz12pzP4/xlkAY4AJJsLZW/8gVF9+9F+BukMvltGrVmtTUS1y5ki2pAd6+vQMymYzCwgKKiq5hbm4hmWxXV3dSU5O5cCEOP7/ekhmjlpZWtG7dhuzsLGJiTtOvn3RroHr08Cch4Ty5ublkZqbTvn3jXox7iZGRCT179uHQoX0cP34YNzdP9PX1JZHdqZMPCQlxZGVlEBm5i+HDx/xjr1dzUCiUDBgQyh9/rCY9/TLnzp2hc+fuLS4X1Jn+r169wpkzp4iM3IWdnR3W1g2/dNxL5HI5YWHD2LBhFfn5eWzb9idjxkxCT0+aZy34dyKTyfj+ga5U1KiXicgAG1tT8nJLaCxQPOFqSYMe7+8f6IqHvWkDPbQxVMol+R642Yt5o8fygQce5sCBfaxfv4aPP/5CU44UICzs+jrhQYOGMnfua1rnfeihR9i4cQNbt266xeBITb2Eq6ubxvgG6NzZl7q6OtLSUjUv4M7OLlrRSDY2tpoQ6OTki9TW1vLgg2O1zl1VVYWFRdO/0+PGTWLcuElNtgHw8ems9be3dxfWrr2e8MvOzh4JV0u1KKdOncDKykrLWAS0JqPNzS1wcHAkNVW9PE2pVGpy5dwpixcvJDk5ia+//kFr/6hR159nx46u2NjYMnv202RkpN8yaZKcfJF5815k2rTpmkmRm4mI2IKpqSn9+g1otm779++lrKyUoUPDm39BN/D77yspLy/nhx9+uUVnc3OLu3qPzMm5yosvzmLgwFBNBIhA9wgDXCAJlpaWADqpp9uqVRtSUy9x9ap0mapBHYrXqlUbsrMzSU6+gK9vT8lkOzmpXz6KiorIzs6gbdu7+6G7G7y8OpOdncXFi4kEBg5AoZDma8bc3BIvr87ExkYTFXVcMgMcwMenK7GxZ7h2rZCoqGP07t0yiWhuRiaT0a9fCGvX/kpaWgoXLsTh4eEtiezWrdvSrZsfUVEnOHLkEA4OzlhYWN2+4z2gd+++5ObmkJ6exvbtmxk3brIkyZL09fUZOnQU69atJDc3h507tzB06GjJJrgE/05kMhlGeoq//w/G+krK9BWNGmCGSvV4kgGqG/41VMo155ECGxsbzp8/p7Wv3mNlY2NzixfzRi9VQUE+ly+noVAoSE9PA65HYt3Yx8TE5Ba5ZmZmTJnyKMuXf3/XSb1u9CCD+hnU58ooLy9DoVCwbNkK5HLt+3mjYd+S3EkIurW1DQUF2sv36v9ubInZ7Z7dveTQof0EBfW7oz53G4K+ePFCDh8+yJdffqdJONsY9aHb6emXtYzZS5eSmT37GUaMGMOjjz7RYF+VSsXWrZsYPHjYHS1d3LJlI3369L3rpX9duvhy5MhB9uz5SxNBUc/dhKDn5uYwa9ZT+Ph04eWXX9dq25xx1VibG4+r9+Vped8LCvI1VXnU59B+96+pqaG4uOi2cm6UcTNSjvGWQBjgAkmoL0VWWlpCVVWVZB5CQBNilpWVLpnMetq0URvgaWmXJDXADQwMadeuPWlpqSQlJUpqgLu6enLs2GFKS0u4ePGCJlO4FHTr1pO4uBjS09PIzs6ULOJBoVAQENCX7ds3c+bMKTw9fTQJAFsaGxtbvL19iIk5y5EjB3F2dpPs89WrVyDZ2ZlkZmbw118RjB49SZI18PXe6DVrfqWwsIBdu7YwbNgYSQxhCwtLQkKGEBGxidTUFE6cOIK/f2CLyxX8d7Ay1sfGWI9WZgaM6tyajTHZXCmuxMpY2mgLb+/O/PLLjxQU5GvCQU+cOIaJiQlOTi5NejE/+OBtXFxcCQ8fxcKF7+Ln569JHNkcz+e4cZNYt271LWWiHB2d2bZtC+Xl5RpjOSbmDHK5HAcHx2Zdl5ubB7W1tRQUFPyjdbpNce5czC1/Ozo6af6+kxB0H58ufPfd19TU1Gj2nzhxDAcHx0bDtG/37O4VKpWKQ4cO8L//vX3LsXPnYjTGYFFREZcvp+HoqB4DdxqCrlKp+PTTRezfv48lS5bStm272+pWX8/exua6YZicnMTs2U8zdOjwJpcanD59ivT0y3eUSC0zM4OoqJN8+OHiZve5GS8vb8aNm8iLLz6HQqFg8uQpmmN3GoKek3OVWbOewsPDk9deW3DL72NzxpWPTxdOnjzBxImTNf1OnDimifBo27YdNjY2nDx5QpMAuLS0hLi4WEaPHqc5R0lJMfHx5/H0VC8Zi4o6SV1dHd7ePs3W5WakGuMthZi2F0iCoaGhZhaxoCBXUtmtWql/AEpKSigrK5FUdn0isuzsK9TW1koq28tLHf6VnHxR0szgSqVSUy9a6trcZmbmuLurv+CPHZOuRjaon7WdnT11dXUcObJfUtm9e/fD3NyCsrJSjh+X7rrlcjkhIUPR1zfgypVsSWUbGRkTGjoYmUxGWloqZ86ckEy2k1NHTSm4U6eOkZAQJ5lswf9/WpkZsGm6Pz891I2xXdvy00Pd2DTdn1Zm0pbE6tWrN05OzrzzzhskJl7g2LEjfP/9N4wdO7HJSb7169cQGxvD66+/yaBBQ+nbdwBvvz3/jjITGxgY8NhjM1i3brXW/kGDhqKvr8977y0gOfkiUVEn+fTTjxg8eFizvY4ODo4MGjSUd99dQGTkHjIzM4iLi2XFiuUcPnywyb7r169m9uynbysjJiaalSt/Ji0tlfXr17Bv324mTHhQc9zOzp727Ts0ut2Y9CssbAh6enp88MHbJCcnsXv3TtauXcWkSdeTY0VG7mXy5HGav+/22d1MWVkZiYkJGmM2KyuDxMQEsrPVEYUJCeepqKigSxffW/r+9NP3nDx5nOTki7z//ptYWFhqwrnrJ2+a2m4Mt/7kk4Xs3BnBggXvYmxsTF5eLnl5uVRWVgDqTPs//fQD8fHnycrK5ODBSN59dwG+vt1xdXUD1O9Czz33FL16+TNp0kOac9zsnQXYunUjXl4+WmvM62lsDGzdugkbG1t69/5neXc6d+7KRx99zvLl37NmzY0RJha3vWf1xqva+H6SVq1aM3Pm8xQWFmiut57mjKsJEx7g2LHDrFr1K6mpKSxbtpT4+DjGjVPXRZfJZEyY8CA//7yMgwcjSUq6yLvvLsDGxk6Tw8HJyRl//z4sWvQucXGxnD17hsWLFxESMkjjINPlGNcVwgAXSIJcLtckiLp2rVBS2UZGJpov8qtXr0oqu3XrdhgZGVNTU012doaksh0cnNHX16e0tISsLGlle3l1RqFQkJNzhYwM6epUA3TpovZoZGRcljTqQS6XExg4AIBLl5K4ckW6JQ96evr0769ebx8Tc0bS5RZmZub066c2Rk+fPilpCbp27Rw1SX6OHz9CdnamZLJ9fLpq1SaXOtmi4P83+jes45bJZOgrpX9dUygULFr0GXK5nKeemsY77/yPIUOG8/jjTzbaJzU1ha+//pwXX3xFM/n94ouvUlhYyPfff3NH8ocODb/F02loaMjixV9SVFTEE088wvz5r9CjRy9eeOHlOzr3a68tYMiQ4Xz55WdMnjyOefNe4vz5OI3OjVFYWEhGxu1/Vx544GHi48/z2GMP8csvy5g58wX8/QPuSMd6TE1NWbz4S7KyMnniiSl8+eVnPProE1prntXlP1M1fzfn2WVlZRIU5Ndk+bX4+DimTXuIadPUhtCSJZ8ybdpDLFv2LQAHDkQSEBB4S8g/wFNPzeLzzz/m8cenkJeXx8KFn951JZo//1xHSUkJs2Y9yahRQzTb7t27ALVBf/LkcebMmclDD43nyy8/Y8CAYBYuvO6N3rt3N4WFBezYEaF1junTp2rJKikpYd++PY16vxsaA3V1dUREbGHo0PAGo8DqS7NlZTXvN6prV18++ugzvv/+G9at+71ZfW7kxIljpKdf5tSp44wZM0zreutpzrjq3LkrCxa8x6ZNG3j00QfZt283H3zwsdbExEMPPcL48ZNYtOh9pk+fSllZOZ988oXWsrAFC97BwcGJ2bOfYe7c2XTp0lUrJL6lxvj9jEwlpXtKAnJyinWtwm2RycDW1ozc3OL/N0k4msOuXdtITIynd+8gunfvdfsO95C//orgwoXz9OwZQM+ed/cjeLfs3r2dhIQ4unXzIyCgn6TPf8+eHcTHn6NTJx8GDhzUssJuYseOzSQlJeLo6MTw4WNv3+Eesm3bH6SkXMLR0YXhw0dLKrt+rLVp047RoyfekgypJZ9//WfMysqaCRMebvClqKWIiPiTS5eSMTU144EHpqKvL423TqVSsXPnVpKSLmBiYsqECQ9LUhatXvaOHVtITk5EX1+fMWMmYWNj12Sf/+r3v0DN/fr8Z86cgZubB7Nnv6hrVe4r3nvvTUpKivngg0+a3Wf8+BFMnPigVthuPffT84+KOslrr81lzZqNTZbiaopHHnmAqVMfJyTkemh0VNRJnnvuKSIi9kpWmeN+Z+vWTaxYsZyVK9fSurXVffH8BS2DnV3zxrzwgAskoz4LqtQecLgehn7lSpbksh0cnAA02T+lxNlZHQKflHSBmpoaSWV37arOip2WlkpxsbQTYwEB/ZHJZKSmJkuefM/fPwilUvl3qF68pLIDAvqip6dHQUE+J08ellT2wIGDMTMzp6SkmP3790gmVyaTMXDgICwtrSgtLWH79o2SLfeQyWSEhAzG2tqGqqoqIiI2UVFRLolsgeBe88cfawkL60tS0kVdq6JzoqNPExbWl507I3StSotx5Mghpk6ddtfGd3V1Nf37BxMQIF2p038rR44cYsaMZyWdFBfc3wgDXCAZ9Umprl2TPhO6vf11A7w+E6pU1CdAy8/Po6ioUFLZDg7OGBgYUFVVJXmIbOvW7WjTph0qlYq4uLOSyraystasBT9+/Iikss3MzDRh8IcPR1JdXSWZbFNTM3r3VicEi44+rckIKgWGhkaEhg5FJpNx4cJ5zZpBKdDX12fw4BEolUqys7PYv3+XZLL19PQZPnwMpqZmFBVdY/v2TdTWSjvZJRD8UxYseJdff13L8uW/NTuZ2f9nPD07sXz5b6xcuY6XXpqna3VahGefnc3kyVNv37AR9PT0eOyxGRgb35rJXqDNu+8uJDhYurKsgvsfYYALJMPMTD3Lmp+ff5uW9x4bGzvkcjmVlZUUFkor38TERJMcJi0tRVLZCoUCNzdPAEkNonrqDdFz585K7oH38/P/O0HXJdLTU2/f4R7SvXsvjIyMKCsrIypKuuRgAD4+3XBwcKa2tpa9e3dKOuHUpk07evRQLy/Zt2+XpGUHbWxsNWvRz5+PkzQxmpmZOeHhY9DX1yczM4O9e3dJPtEnEPwTbkwKdrfrdP8/YWBgqLkfN2bRbg7r1m1uMPz8v0L37n4cPHhShJ8LBE0gDHCBZNR7wCsqyjWZK6VCqVRqyhRIHZIM4OysTljRnOQt95pOndRlHi5duij5fXd2dsXU1IyKinLi42MllW1hYYWLizoE//hxacOx9fUNCAhQ16+Njj4laQi+TCZjwIBQ9PX1uXIli+joU5LJBujRozfW1jZUV1fx119bJTVEPT19NPkl9u3bRU7OFclkW1vbMmhQuCYC4MiRSMlkCwQCgUAg+PcgDHCBZBgZGWNgYAhAUdE1yeXXh4Ln5uZILru+JuHlyymSlyOztbXH2tqG2tpayb3gcrkcT091HfCzZ09L7hXs1asPMpmM7OwsyTPBe3h406ZNO2pqaiQvS2ZqaqaZADh+/DD5+dKV/lMoFISFDUOpVHL16lVOnjwqmWxQP/P6CICIiE2Ulko3+eHg4ERAQBCgXgIg9dILgUAgEAgE9z/CABdIyvV14NIb4NcTsUnvAbe3b42RkRFVVVWSG4IymQxXV3cAnRgEPj6+KBQKCgsLJL92KytbTQTAiRPSrgWXyWQEBQ0E4OLFBEnLcwF06tSZVq1aUVtby759uyStx25jY8eAAeqsuCdPHiU9XbpSdHK5nLCwoVhYWFBSUkxExCZJJ718fXvSuXNXACIjd0v+3AUCgUAgENzfCANcICm6TMRWb4Dn5l6VfD2yTCajfXu1B/7CBenWptZTn5AsNzeHggLpEnMBGBubaOTHxp6RVDZAjx7+yOVy0tPTyMi4LKlsOzt7PDzU137w4F5JDUG5XE5w8GBNYrJz56SdfHF376SZ/Ni1a5uknmgDA0MGDRr+txf+CocPSxsOHhQUjLt7J1QqFdu3b9HJsheBQCAQCAT3J8IAF0iKubkFgKQhsddlW6Kvb0BtbS1Xr2ZKLr9DB3Vm2cuXpTUCQX3t9RMAUpfGAujSRV2SLDn5IsXFRZLKNjMzx9NTbQgeORIpeRh8797q0mCFhYXExcVIKtvKypbevdUh0UeO7Jf83gcFDcTS0ory8jJ27Ngi6b23s2tN//4hAMTEnJE0KVt9abT27R2oqalmy5YNFBRI/50nEAgEAoHg/kMY4AJJMTExBpDcCwvql2JbW3U208xMaUOhAZycXJHL5ZSUFJOXJ/31d+rUGYCEhPOShiODOkN1+/YOqFQqTp8+LqlsgG7deiCXy7l69SqpqUmSyjYxMaVXL3Wd1BMnDlNRIW0ivM6du9G6dVuqq6vZvXu7pEawnp4eoaFDUCgUZGdnceaMtBnhPTy86dHDH1AnZbtyJUsy2QqFgsGDw7G0tKSiooKtW/8UNcIFAoFAIBDcPwb4d999h4eHB++9955mX2VlJW+99Rb+/v5069aNWbNmkZsrvAj/Zqys1OW4iotLdCK/XTu1F1gXBrChoZEmEdyFCxckl+/s3BF9fX2Ki4vIzJQ+G3vnzr4AnD9/jvLyUkllW1hY4eGhLsd26tRxyScgfHx8sbKyoaKigmPHDkkqW50VPQy5XE5mZjqxsacllW9v34bAwP4AHDt2mKwsaaNPevYMwNFRnZRt27Y/KSoqlEy2gYEh4eFjMTY2pqioiK1b/6Smploy+QJBc5k5cwZBQX4EBfnppGTl/UZWVqbmfjz66H+3pJhAOmbOnMHnn3+iazUEEnFfGOBnz57l999/x8PDQ2v/+++/z969e/nss89YsWIFV69eZebMmTrSUnAvsLGxB6CysoLKykrJ5dcbwNnZmZIbYQBOTs6AbgxwpVIPZ2d1Wa6YGGmNMABHRxcsLCyora0lNlb6ZHD+/v1QKvW4evUKyckXJZWtUCjo21edkC02NppLl6RNzGVtbUO3bj0AOHbsiOSh6N7eXXFz80ClUrFr11bKy6XzBMvlckJChmJubk55eTkRERslNYLNzS0ZOXI8BgYGXLmSxa5dEaJGuKBZKK9GY/HnRJRXoyWRN2LEGDZu3K75nQD47LOPeOyxhxk4MKBFDdGoqJMEBfnx8MMTb8mVMWTIALZt29xishvC3r4VGzdu54EHHpZUbmNkZ2czd+5sQkICCQ8P46uvPr9tLpuiomu89dZ8Bg3qz5AhA/jgg7cpKyu7I7nJyUm8/vpcxo8fQVCQH2vW/NZo2/fff4vvvvv6js7fXDZt+oNnnnmCIUMGMmTIQGbPfoa4OO3Spu+996Zm0qR+mzNnluZ4VlYmH3zwNhMmjCQ4OJCJE0exbNlSqquv/x4sW7b0lnMEBfkRGhrUqG7btm1usE9QkB8FBfn3/mY0k0WL3mPixFEEBwcSHh7Kq6/OITU1RatNc8ZVVNRJHnvsIQYODGDSpNENfhbXr1/D+PEjCA7uw/Tpj9zybCorK/nkk4UMGxZCWFhfXn99Lvn52o4wXY1xXaFzA7y0tJS5c+fy7rvvYmFhodlfXFzM+vXrefXVVwkICMDHx4f333+f06dPc+bMGd0pLPhH6OvrY2SkDkPXRSI2e/vWyOVySktLKCmRLilUPQ4OagM8NTWV8nLpvyTc3NSTXGlpKVRVVUkqWy6Xa2o0nzt3VvJybMbGxvj61huhhySX3769g2YCZuvWrZLL9/PrQ6tWbaiurmLPnh2STkDJZDL69w/FwsKSkpJidu2Sdj24oaEhw4aNRl/fgLy8PPbs2Snp9Vtb2zJkyEjkcgXJyRdZu3atMMIFt8Ugfh36GYcxSFgviTxDQ0NsbGxRKpVa+4cPH0lwcJgkOmRmZrB9+1ZJZDWFQqHAxsYWIyMjXatCbW0tL788m+rqar799kdef/1NIiI2s2zZ0ib7vfXW/7h0KZlPP/2KhQs/Izr6NIsWvddkn5uprKygbdv2PPXUTGxsbJrU8fDhAwQF9buj8zeX06dPERo6mCVLvmXp0uW0atWKOXNmkpNzVaudv38fNm7crtnefPP69aampqBSqZg79zVWrFjNc8/N4c8/17N06VeaNg8+OEWr/8aN23FycmHgwNBGdQsJCbulT69eAfj6dsfKyvre34xm4uHRiddeW8DKlWv55JMvUalUvPDCs5p3j+aMq8zMDF5++Xm6dfNj+fLfmDjxQRYufJdjx65Xldm9eydffvkp06ZNZ9myX3F1dWfOnFlakw9Llizm0KH9vPPOhyxZ8h25ubm8/vpczXFdjnFdoXMD/O2336Z///706dNHa39sbCzV1dVa+zt27Ejbtm1va4DLZPf/9m/RsyW265nQCyWXra+vh7W1+kfk8uVLksu3srLC3NwclUrFpUuJksvv0MEJMzMzampqSElJkly+h4cXJiYmlJWVkpgYL7n8bt16YGBgSGFhPrGxpyWX37dvMEqlkry8POLjz0kqW6lUEBo6BKVSSUbGZWJipL1+AwMDQkIG/Z2R/jLR0ScklW9jY8uwYSORy+VcvJjAqVPHJJXfvn0HQkIGARAfH8/hw5GSyhebDjdUyGrKNBtVpVp/37gpChJRZh1HmXUCw8RNABgmbkSZdQJl1nEUBYmN9tVsqO5Kz4beS154YS7jx0+kXbt2zXpvARXPP/8Mc+bMhL/1KC6+xpgxw/jhh29vK3/8+In8+ONSqqurtPbfKPvKlWxefXUOYWF9GTSoP2+88SoFBXma4z/+uJRHH53Mjh1bGT9+BIMH92fBgnmUlZVq2qhUdaxYsVzjDX300QfZt++vZt+XprZZs2awePFCFi9eyODB/Rk+PITvv/9Gcz/u9HwnThwlJeUSCxa8g7u7B336BPLEE0+xYcMaamqqG+yTmnqJY8cO8+qr8/Hx8cHX15cXXpjL7t07yc3NabZsLy9vZs6cTVjYYPT09BvVPTb2LAqFEi8vb7Kz1eH7u3fv4KmnHiM4uA9TpkzkzJlTd/0ZevPNdxk3bgLu7h44OTnx6qvzqatTcerUca3npK+vh62trWazsDDXHA8I6MPrry/A37837du3p2/f/jz44MPs379X08bExFirf0FBPikpyYSHj2pUN0NDQ60+CoWCqKgTjBjRcJ+mnv+Nx44cOcjgwf3ZuTPiru7Z6NFj6datO23btsXT05MZM57h6tUrZGdnNXtcbdy4njZt2vLccy/g7OzM+PGTGDAgmDVrftPIWb16JSNGjCY8fCQuLi68/PI8DA0N2bp1EzIZlJaWsGXLRp577gX8/HrSqVMnXn99ATExZzl3LkbnY/xeb81FefsmLcfWrVuJi4tj3bp1txzLzc1FT08Pc3Nzrf02Njbk5OQ0ek5raxMUCp3PKzQLGxszXaugEywtzcnKyqCwMAdb256Sy2/duhW5uTlcvZpF//6NhxW1FK6urkRFRXH1ajb9+kkvv3v37kRGRpKcnEBgYC/J5QcEBPDXX38RHX2SwMBeyOVSfl7N8PPrwaFDhzh9+iT9+wehp6cnmXRbWzNCQkLYsWMHR48exM/PFxMTE0nlDxo0iG3btnHkyAE6dXKjbdu2EsrvRG5uEPv37+fYsSN06uRBhw4dJJTvRW1tBZs3b+b48cPY2lrSs6d030G2tr2oqalg7969REefplUrOwICAiSTL9ABKhX8OBguH9Pa3bgv8Vbk5XlYbRjT/A4desNj2+/obVBPT4mRkR62tg2/lxgbG6BUyhs9fiOLF3/MiBEj2LbtDx555BHeeWc+bdq0Zu7cF27xrtdjYaGOjHvqqens2rWdiIg/efzxxwGQyWSYmRlia2tGXV0dTzwxF2NjY3799Vdqa2t56623eOed/7FixQqNrpmZ6Rw7dojvv/+OoqIinn/+eTZsWMULL7wAwDfffMOuXRG8887bODk5ceLECRYseANHx3b06nX9d/Hm696wYQPz5s0jIaHxdfJ6ekq2b9/K+PHjWbduHbGxsbzxxhu4ujoxceJEAD7//CM2b246rP70afVSseTkBNzd3XF3d9IcGzIklI8//pCCgmy8vLxu6btv3wXMzc3p29f/hj4hvPyynPT0JDp1cmlSdkMoFHJMTAwaHAOnTh0hNDQEOztzKivVS5y++WYJr732Gq6urixfvpxXXpnD7t27sbKyAqBbt25NyhsxYgRvv/12g8dKSkqora2hffvWGn0MDfU4eDCKESMGYW5uTu/evXn++ec18hqirq4KKyvLRsf1N99sw8nJidDQ5nv2N21ai5GREePHj8bQ0LDBNg29/9/4Gdy8eTNvvrmATz75hIEDB/593k0sWLCgSdnff/89fn5+t+wvKytjz57ttG/fHi8vdT6g5oyrhIQ4+vYN0ro/ISEDef/997G1NaOqqoqEhHieffYZrTZBQYFcuBCHra0ZiYmx1NTUMHhwCObm6ja2tp1p27YtKSkXGDCgz30zxqVEZwZ4VlYW7733Hj/++CMGBgb37Lz5+aV3NAOhC2Qy9YcvL68YHSxD1jlGRmqDIycnj9xc6cPAW7VqR2xsLFeuXNWJfCcntQF+8WISV69ek9gAhQ4dOgKRJCcnk5KSiamptBNBjo7uKJX7yMvL4/jxKFxdPW7f6R7i7d2dM2fOUFpaSmTkIU1YulR07NiJVq3OcOXKFbZsiSAkZLCk8h0d3Wnd+jTZ2VmsX7+BiRMfRqFQSCbfx6cHmZnZXLx4gdWr1zBp0sOaZSlS4ODghrd3Z86di2HHjh0YGprRpk07yeR7e6tfOvfu3cvOnTuprZXj6Xnry4Xg/wkqFRY1dUg3zQfVNbVcyy2+IwO8urqG8vLqRn8Ty8oqqampa9ZvpkJhzEsvzeOddxaQlpZJZGQky5evpLCw8dwP166V/S2nlkcffYJvv/2akJBhmJqaolKpKC6uIDe3mOPHj3LhwgXWrt1Iq1atAZg3bwEPPzyRAweO0qmTN2VlldTV1fHSS69jYmKCtXUbwsKGsH//QaZMeYKqqiq+/fZbPv/8azp16gJAv35hDBp0lF9++RUXl06NXrdKpcTBwbHJ+1BdXYO9fStmzJiFTCajT5+BjBs3kWXLfiQkZCg2NmZMmfI4Y8c+0OR9rJeRnp6FubmllkyZTG3YJSWlYW9/6yRmamoGFhaWt+hpZmZOSkr6Xb371NbWUVpa2WDfXbv+4rnn5pCbW0xBgTrJ6pgx4+nRQx3FOnPmi0RG7ueXX1by0EOPALB8+com5ZmYmDSq58cff4iNjS3u7p01bXx9/fD3D6Jt23ZkZKSzdOlXTJv2GEuXLm/wNy49/TIrVqxg5sznG5RTWVnJxo2bmDLlkTu6X6tXryE0dDAlJdWUlGjnG2nq/b/+M7h06TK+++5rFi5cTOfOPTSyu3btddt7Zmdnp6Xrhg1r+frrLygvL8fBwZFPPvmSoqJKoLJZ4+rKlav06OGv1UZPz5iSkhIyMnIoKiqmtrYWpdJIq42xsRkXLiSSm1vMpUvp6OnpUVUl02pjYWFJWloGubnF980Yvxc0Z5ISdGiAnzt3jry8PMaOHavZV1tby4kTJ1i5ciXLli2jurqaoqIiLS94Xl4ednZ2TZ7732LUqlT/Hl3vJdbW6udXWlqqk+tv315djzs/P4/Kyir09fUlld+qVVuMjIwoLy8nKyuTtm3bSyrf3NySNm3akpWVydmzUQQE9JdUvoGBIW5uHpw/f46zZ0/TsaO0BrhSqUevXoHs3buTU6eO4enpc08nAW+HTCZn+PDh/Pjjj8THn8PV1V2TG0Aq+aGhQ1mz5lfy8/M4deo4PXtK6YWVMWDAIHJzcykszCciYhMjR06QdBIgKCiY/Pw8srIy/w5TnYyJialk8vv27Ut+/jWio6PYs2cHcjm4uQkj/P8nMgrHbIAatfEpk4GtjSm5eSWN/v4pc8816PEuGPsHNbbetxepNAJkcAe/r/W6NKZTY8fDwvpq/j9o0FDmzn0NgIEDQ4mM3Muvv/7ESy+9+ncZSnW7hx+eqCkJ2KVLNz755Aut8w8fPopVq1by668/8+STz2rpkJKSgr19K+ztW2v6ODm5YGpqxqVLl/D09Ealgtat22JsbKJpY2NjS0FBASoVXL58mYqKCp5//vq5Aaqrq/9OFtn4dffrN5B+/QY2+e6iUoGXlw8g07Tz9u7MqlW/UlOjXn9rZWWNpWXT64Nvlt2YXrfTpaF9/+Td6+a+KSmXyM3NoXv3nlrn9vbuovm/QqHEw6MTKSkpmn31VWnuRBbAihU/8ddfO1myZCn6+gaaNjdOZru4uOLi4sqkSaOJijqFn592tF9OzlXmzJnFwIGhjBgxpkE5kZF7KSsrZciQ8Gbfr9jYs6SkXGL+/Ldv+1xuPq5Swb59uykoyOebb5bRqZO3VhtjYxOMjW8fMXdjn7Cwofj5+ZOXl8uqVSv43/9e5ZtvlmFgYNCscdXU98LN/Rq6nuaco7E2uhzjUqAzA7x37963hN/MmzcPFxcXpk+fTps2bdDT0+PIkSMMHqz+UCUnJ5OZmYmvr68ONBbcK2xt1ZnQCwsLUKlUyCQOWTAxMcXMzJzi4iKuXMmiQwdHSeXL5XLc3Nw4e/YsiYnxkhvgAK6u7mRlZXLhQjz+/n0l98J3796L+Pg4srIyycm5gp1dK0nle3h4cfr0SQoL8zlz5gT+/tIuBejQoQMdO7qRlJTIwYP7eOABR0mfgbm5Jf37h7Jr1zZOnjyKo6Mz9vatJZOvr6/P4MHhrF//G1lZmRw+vI++fUMkk69QKBg6dDR//PE7BQX5RERsZNSoiZItR5DJZAQG9qekpJikpER2796JkZGJZnJQ8P8MmQz0/o7ykAH6JqBX17iBrFR7flTIkKHS/IvS8Pp57hOWL7+eFfvG5TQVFRUkJJxHoVBw+fJlrT4ff3w9u3FDk59KpZIZM57h/fffZNy4iXel182h7jKZDJVKnfiwvgrDokWfYWdnr9VOqu+ARYveZ+fOiCbb7Np1AFAvvTx//pzWsfoM0o0lRrO2tqGgQDvRbU1NDcXFRZo8OPeKgwcj8fPzv+OJ7Bsnbxrixgmden77bQUrV/7EZ599jaurW5P927Vrj6WlJenpl7UM8NzcHGbNegofny68/PLrjfbfsmUjffr0vaP7tXnzn7i5uePp2en2jRvAzc2DCxfi2bp1E56eXlrvxzt3RvDRR+832f/jj7+ga9frof2mpqaYmprSoYMD3t6dGTp0IPv37yUsbEizxpWNjQ35+fk3tcnHxMQEAwND5HIFCoWiwTY3nqO6upri4mLMzMwabXM/j/GWQGcGuKmpKe7u7lr7jI2NsbS01OwfN24cH374IRYWFpiamvLuu+/SrVs3YYD/y7GwsEQmk1FdXUVpaYnkIdCgnh0vLi4iIyNNcgMcwNHRkbNnz5KSkkTfvsGSG8AeHt4cPXqI0tJS0tPTcHBwklS+hYUVrq4eJCbGc+bMKcLChkkqXy6X06tXH3bu3MKZM6fw8uqCmZn57TveQ/r2HUh6ehqFhQXExJyma1dpQ+FdXT1ITr5IUtIFdu3axsSJD2uS7EiBjY0tgYH9iYzcTUxMNB06OOPkJN2arfrM6OvW/cbVq1fYuXMLQ4eOkuyzKJPJCAkZSnl52d+ZnzczevREzQSl4L9LnZENtcZ21Jm2paLTgxieX4W8JJM6o/vvpbJ9+4a9mF9++SlyuZyPP/6cl16aTZ8+QfTooc630Lp1m9ueNzg4lFWrfuHHH7/T2u/k5MTVq1e4ciVbE4J+6VIyJSXFODs37/vD2dkZfX19rlzJ1pRnvNfExWkbE+fOxdKhg4Mm0mf69Kd48MEpzTqXt3dnfvnlRwoK8jVZtU+cOIaJiUmj35k+Pl0oKSkmPv68xhiMijpJXV0d3t4+d3tZDXLw4H5Gjrw1YuPcuRh8fbsDasMoIeG81oTKjZM3DXFzfpSVK3/ml19+5JNPvmzWsp2rV69w7do1bG1tNftycq4ya9ZTeHh48tprCxr9vs/MzCAq6iQffrj4tnLqUa+z/ounnnr29o0boV279syc+TyzZj2JXC5nzpxXNMeCgvr9HVnROE1FCKtUKlQqlabsWnPGlbd3Z44ePaR1nhMnjuHtrV66oaenh7u7J6dOHadfvwEA1NXVcerUCcaOVT9rD49OKJVKTp06zoAB6on2tLQUrlzJ1pznfh/jLcF9na3stddeY8CAATz33HM8/PDD2NrasmTJEl2rJfiHKBQKzM3VJedyc6/epnXLUD+jlpl5+TYtWwYvLy/kcgWlpaXk5jaeVLCl0Nc3wMND/QN2/nzsbVq3DL6+6kQhFy8mUFgofa1MFxdXrK2t/176clhy+SYmpgQEqD0Ax44dlrw2t7o0WAiGhkZcu1bIgQN7JJUP6vrgPj5dAdi9O4KiomuSyrewsGTIkBHI5XJSUy+xf/9fkspXKpUMHz6WNm3aUVVVxebNG7h2rVBSHQT3H3WmbcmfepTC8Vuo8HmYwvFbyJ96lDpT6RIm1pOefpnExIS/l2xVkJiYQGJiglbt5Js5fPggW7du4o033qVnz95MnjyV9957k6KiO/uOe+qpWWzduknjsQbw8/PHxaUjb7/9PxIS4omLi+Xddxfg69u92bkUjI1NeOCBh1myZDEREVvIyEgnISGedet+JyJiS5N9IyP3MnnyuNvKuHIlmyVLFpOWlsKuXdtZv34148dfX/NtZWVN+/Ydmtzq6dWrN05OzrzzzhskJl7g2LEjfP/9N4wdO1GzhC4uLpbJk8dpynI5OTnj79+HRYveJS4ulrNnz7B48SJCQgZha9v0Ms4bqa6u1nrmOTk5JCYmkJ6ufncqKMgnPj6OPn1u9WZv2LCWyMi9pKamsHjxQoqLixk+fJTm+O2u/8YSXr/++hM//PAt8+a9QZs2bcjLyyUvL1dT87msrIyvvvqc2NgYsrIyOXnyOK+++iLt2nWgVy/1Eiu18f0krVq1ZubM5yksLNCc52a2bt2EjY0tvXv3ueVYY2Ngz56d1NbWMmjQP3MoODg4smTJt0RG7uHzzz/R7Dc2NrntPTMwUEfPZGSks2LFcuLjz5OdnU1MTDT/+98rGBgYEhAQCDRvXI0ePY7MzAy+/vpzUlNT2LBhLXv3/sWkSZM1ej3wwENs3vwnERFbSEm5xMcff0B5eTnDh48A1A7X8PBRLFnyKVFRJ4mPP8/777+Nj08XfHw6N1uXlhrjukKnWdBvpj6DZT0GBgYsWLDgtln/BP8+zMzMuHatkNzcKzg5dZRcftu26h+33Nw86urqJPdAGxoa4ujoxKVLSaSmJmNvL20INoCXVxdiY6O5dOki5eVlkibCArCzs9esRT958iihodJ7wQMC+rF1658kJJynW7dektfs7NSpMwkJ58nKymDv3p2Eh4+VdCwaGhrRr99Adu7cRnx8HO7uXrRv7yCZfIDAwAHk5Kg9Wtu3b2LMmAckzUzfrl0HgoIGsH//HuLiYrG1baWZFJACPT09hg0bxZ9/riUvL4eNG9cwevQkzSSl4D+K4oZwXplM+28J+fDDdzhzJkrz97RpDwGwdu0m2rS5dUKgoKCADz98h8cem4GHhycAjz/+JMePH+Xjjz/g7bc/aLbsHj160qNHT44fP6rZJ5PJ+OCDxXz22SJmzpyOTCbH3z+AF16Y28SZbmX69KextLRixYrlZGZmYGpqhru7J1OnTmuyX2lpCWlpqbc9/5Ahw6msrGT69EeQyxWMH/8Ao0aNvW2/hlAoFCxa9Bkff/wBTz01DSMjI4YMCefxx5/UtKmoqCAtLVUT2g+wYME7LF68iNmzn0Eul9G/fzDPP699n4KC/HjttQUMGzaiQdm5uTmaZw6watUKVq1aga9vd7788jsOHdpPp07eWFpa3tL3qadm8uuvP3Hx4gXatevAwoWLG2zXHP78cz3V1dXMn/+K1v5p06bz+ONPolDISUpKJCJiCyUlxdja2tGzZ2+mT39KY8CdOHGM9PTLpKdfZswY7feNgwdPav5fV1dHRMQWhg4NbzA3SWNjYMuWTfTvP1ArzLqerKxMJkwYyZIl3zJo0MDbXq+DgxOff/6txhM+a9YLt+1zIwYGBkRHn2bNmlWakOyuXbvx7bfLNO85zRlXbdu2Y9Giz1iyZDFr1/6OnZ09r7wyH3//63ljQkIGUVhYwA8/fEt+fh6uru588skSrTDwWbPmIJPJef31l6murqJXrwBefPH6s2zJMX6/IlOp7vdl6ndGTo5ust7dCTKZOktebu5/Mws6wMGDuzl7NhpPTy+Cg4dILr+2tpYff/yG6uoqJk6cIulsWf3zP3DgKHv27MDW1o6JE5sXinavWbv2V3JyrtKzZ2969rx1prelSUlJYtu2jcjlcqZMeULSRFj1bNu2kZSUJJycOjJs2Kjbd/iH3Pz5z8/PY82aFdTV1TFgQAheXtIZf/Xs3buT8+djMTExZdKkKRgaGkkqv7i4mLVrV1BRUYGrqxuDBjX8MtiSnDhxhBMnjiCTyRg2bBSOji0TDt/Y939ZWSnr1v1GSUkx5uYWjB37IMbG99d6X8E/5379/Z85cwZubh7Mnv2irlW5r1i2bCkHDkTy009Nh0vfSFP38n56/pmZGTz44Fh+/XUtHTrc3cTrK6+8QJcuvprM5nDd2Fy+fCVubtImWb1fiYo6yWuvzWXt2o24uLS7L56/oGWws2vestr7OgRd8P8XOzv1GjCpQ07rUSgUtGql1iE7O0MnOjg5uSCTycjNzaGwsOD2HVoAV1d1voX4+HPU1dVJLt/BwZlWrVpTV1fH2bNRt+/QAgQE9EUmk5GSkkRa2iXJ5Vtb29C5s9roPnr0EBUVjZfqaSmCggZiaWlFaWkJe/fulHwsmJmZMWBAKAAXLyZy7txZSeUD+Pn1/juDsoodO7aSnZ0pqXxjYxPCw8dgZGREUdE1tmzZQGVlhaQ6CP7b/PHHWsLC+pKUdFHXquic7OxswsL6smLFcl2r0mIcOXKIkSPH3rXxDdCliy+hodKW0vw3cuTIIaZOnaZV1Unw30YY4AKdYGWlDk0pKJB+7W899eFzmZm6McCNjIywt1cnXEpMPK8THTp16oJSqaS4uJisLOnvg1wup0eP3gDExkbrxPi0srLG01Nd2ufQoX06mYjw9++LlZU1FRUVHD68X3L5enp6hIUNQy6Xc+lSEtHRJ2/f6R7j4uJO9+7qJE0HDuyV3ABWr4kPpV27DtTUVLNt20auXZN2Ysza2pZRoyZgZGREbu5Vtmz5g6qqKkl1EPw3WbDgXX79dS3Ll/+Gg4PIxm9ra8vy5b/x669rWbiw+Ym4/k2MGzdRKwz4bnjooUc0yfAEjfPss7OZPHmqrtUQ3EcIA1ygE+rXoJSXl1NeXqYTHep/NDIy0nRidAE4OqrrP6emSu95BfVadDc39To9XSVjc3R0xsbGlurqas6ckd7wA+jVKwClUklBQQEJCXGSy1cqlQwYEAaooxHS09Mk18HOrhXdu6sT4x0/fkQnyQH9/YNwcXGlrq6W7ds3U1Ii7ZIihULBoEHDMTc3p6KinIiITVRVVUqqg7W1LSNGjMfAwIArV7LYtGmt5DoI/nvY2dlrEjlJmYPhfkWpVGrux50amF9++d1/OpS/TZu2HDx4UoSfCwRNIAxwgU7Q09PTrG/MybmiEx1at26LTCajvLxcJ1m4AVxd1aUTcnKuamV6lRIvL3UWyqSkC1RUSB/yKpPJ8PVVl4KJjY3WSditiYkZ3bqpva8nThyhpqbxDL8tRZs27fD2Voei7927g+pq6T2ffn59aNOmLbW1tezeHaGV7EQKZDIZwcFDsLa2oayslK1b/5D8WRgZGRMePhZjY2Py8/PYsWMLtbW1kupga2tHePhY9PT0uHr1Clu3bqC2VtpnIRAIBAKBoGUQBrhAZ9Rn+c3Pv7UEhBTo6xtgZ6fOPp6dnaUTHSwtrbC1tUOlUpGSkqQTHeztW2NtbUttbS3nz8foRAdXV09MTU2pqqri3LlonejQrZsfpqZmlJQUc/bsaZ3o4O8fiJGREcXFxRw5In0oulwuZ/DgERgZGZGXl8vRowck10FfX5/Bg8PR09MjLy+XvXt3IHWuUEtLa4YNG41SqeTy5VT27NkheZRMq1ZtGDxYnYU3KyuLHTu2Sj4RIBAIBAKB4N4jDHCBzqg3fktKSnSmQ33JJV2sf67H2dkVgOTkRJ3Il8lkuLm5AXD+fIxOwvEVCgU9evgDcPbsGck9rwBKpR7+/ur6mKdOHaO0VPqKCoaGhgQE9APg3LlYnYSBGxubEBysTqpz9uxpkpISJNfBysqG4OBByGQyEhMv6CQpm719awYPDv9bh3gOHNgtuQ4ODs4MGzYahUJBSkoSf/0VobPlMgKBQCAQCO4NwgAX6AwbG1tAt4nY2rZtD0BmZrrOdHBxURu/aWmpOlsP7+XVBblcTmFhIVev6mZJgKenD6amZpSVlRIff04nOri7d8La2prq6moOH47UiQ6ent44O7uiUtWxb98unRhcjo4ueHt3AWDfvr8oLpa+WkHHjh707h0EwMGDe3XyGXV0dCEwsH5CJIbo6FOS69ChgyNDhoxELpeTlHSBnTs3CyNcIBAIBIJ/McIAF+iM+yETev068OLiIp2tA7exscXc3ByVqo6LF+N1ooORkYmmJFlcnPTeRlB7wX191UnAoqKO68QLLpPJNB7oixcTdeKBBujbdyD6+vpcvZqts/Jsffr0x8LCksrKSvbu3SV5GDiAr68frq4e1NXVsX37JsmzkgN06dJDk5390KFILl6UPiLA0dGZsLBhyGQykpOT2LNnu06eh0AgEAgEgn+OMMAFOsPS0gqAkpJindW71dfX12Rkv3w5RSc6wI1ecOmzX9fj4+MLQGJivE7KgQF4eflgYGBISUkxcXG6WQvu6OhCx45uqFQqDh7cqxNDx9TUjICAvgAcPXqQ3Nyrkuugp6enWYOcnp7G6dMnJNdBJpMxcOAgTYm2bds2Ul0tfYI8f/8gfHzUCfL++ms76empkuvQsaM7/foFA3DhQjwHDuwRRrhAIBAIBP9ChAEu0BlGRsYYGBgAkJenG08jXK8HfuWKbkKvATw81HWoL19O1VnJoVat2mBra09tbS0xMbpJQqZU6uHjo87KHh0dpbOkU3369EehUJCZmU5Skm7W5nfq1JlWrVpTV1fH3r07dRJ2bGtrT9++AwE4duyQTsLA9fT0GDp0JPr6+hQU5LN3707JDU+ZTEZQ0EBcXNyoq6tl27aNktcpB/D27srAgYMAdcUAYYQL7hUzZ84gKMiPoCA/EhOlj/K434iKOqm5H/Pm/XdLigmkY/z4EaxZ85uu1RBIhDDABTrFwsISgMLCQp3p4OjYEYArV3STCR3A2toGS0sr6upqSUlJ1okOMpmMTp28AIiLi9GZ8dutWy9NJvALF87rRAczM3NNWbKDB/fqpCSYXC4nJGQoenp65ORc1VkoeqdOnXFz80SlUrF9+2adJKeztLRm6FD1OuiLFxM4ceKI5Dqon8cQ7OzsqampISJiI0VF0q+N79TJR5MkLzY2mt27t4k14f9PSSg8z5yjM0kolOZ7cMSIMWzcuB1nZ/VvYmLiBRYseI2xY4cTHBzIQw+NZ82aVS0ie9u2zQQF+TFnziyt/cXFxQQF+REVdbJF5DZG585d2bhxO8HBYZLKbYyLFxN55pknCA7uw9ixw1m58ufb9snOzmbu3NmEhAQSHh7GV199fsdLu86cieLll19g1KghBAX5sX//vkbbzpr1JJs3/3lH528uK1Ys54knphIW1o/w8DDmzXuRtLQUrTY3TiLVbx999L7meHPG83vvvXnLOYKC/Hj44YmN6rZs2dIG+4SGBt3Te3C3VFVV8eijkxucXGvOuNqz5y8mTx5HcHAfpk6dxJEjB7WOq1QqfvjhW0aNGkxwcCCzZz/D5cva0ZxFRdd46635DBrUnyFDBvDBB29TVqad80hXY1xXCANcoFPqM6Hr4kW2nnoP+LVrhZSW6iYju0wm04ShJyToJgEZqD3xenp6lJaWkpamm4kAfX0DjfF76tQxnU0E+Pr6YWxsTFlZKcePH9KJDpaWVgQG9gfUHmhd5EuQyWT07x+MmZkZFRXl7Nq1TSde13btHOjXLwSAkyeP6qRknp6eHuHhY7G0tKK8vJzNm9ff8hIhBZ6e3gwYoDYMLlxI0EmpNkHLszMjgjP5UezK3C6JPENDQ2xsbFEqlQAkJJzHysqa//3vbVasWM3UqY+xdOmXrF+/ukXkKxQKTp06Lrmx3RB6enrY2NhqovR0SWlpCXPmzKR16zb88MMKnnnmOX788Ts2btzQaJ/a2lpefnk21dXVfPvtj7z++ptERGxm2bKldyS7vLwcV1c35sx5pcl2RUXXiImJJjCw7x2dv7mcPh3F2LETWLp0OZ9++hU1NTW88MJMysu1l8vVTyLVb88885zmWHPG8+zZL2n137BhK+bmFgwcGNKobg8+OEWrz8aN23FycmHgwNB7fyPugq+//gJbW9tb9jdnXMXERPPWW68THj6KH39cSd++A5g37yWSky9q2qxc+TPr1v3OSy/N47vvfsLIyJA5c2ZRWXk9mvOtt/7HpUvJfPrpVyxc+BnR0adZtOi9O9LlZu7VGNcVwgAX6JT69dcFBXk608HAwBBbW3sA0tN1twbbyckFgIyMdCoqdLUm3gAvL3UI+LlzuqkJDupQWyMjY4qKrumsLri+vj69egUAEBsbQ3Gx9J5fUHugO3RwpLa2lr/+itDJhIS+viGDBw//Oyw/g1OnjkuuA4CXV2e6du0OQGTkbjIypP+8GhkZM3LkeExNzbh2rZAtW9brJGeCl1dn+vYdAKhfLCMjdwsj/D5FpVJRXlOu2cqqy7T+vnFLLU7hbH40MfnR7Mn6C4DdmbuIyY/mbH40qcUpjfat3+7VOAgPH8Xzz79Et249aNeuPYMHD2PYsJFERu5ttE9lZSUPPzyRhQuvv1xnZKQTFtaPLVs2NinPyMiIYcNG8s03S5psl5R0keeee4rg4ECGDQth4cL3tCbC3nvvTebNe5HfflvBqFGDGTYshE8+WajlGauqquLLLz9j9OihhIYGMX36I/fM8B8/fgQ//fQDCxa8RmhoEKNHD2X9+jV3fb6dO7dTXV3NvHlv4OLSkdDQwYwf/wCrV69stM/x40dJSbnEG2+8g5ubBwEBgTzxxFNs2LDmjvJoBAQEMmPGM/TvP7DJdocPH8Td3RNraxtN+P7hwwd55JEHCA7uw4wZj2oZbXfK4sVLGDZsBC4uHXFzc+e1197kypVsEhK0o0PqJ5HqNxMTU82x5oxnU1NTrf7x8ecpLi5i+PCRjepmbGys1Sc/P5+UlGTCw0fd9fUCbN78J0OGDODkybv/vT1y5BAnThzl2Wefv+VYc8bV2rW/4+8fwOTJU3Fycmb69Kdxd/fUjGeVSsXatauYOvVx+vYdgKurG/Pnv01eXg4HDuwDICXlEseOHebVV+fj7e1D166+PP/8XHbv3qlJdKvLMa4rlLpWQPDf5n7IhA5gZ2dHbu5V0tKS8fDw0okO9vatMTMzo7i4mLS0S7i7d9KJHj4+vkRHR5GWlsK1awVYWFhJroOenh5duvhy7NhhoqKO4+XVReOVkRJPz84kJMSTlZXBkSP7GTRouOQ6yGQyBgwI4/fffyYn5wonTx7B31/60DZ7+7b06xfC3r07OXHiMG3atKVduw6S69G7d19ycq6QmZnBzp3bGD/+IczMzCTVwdTUjJEjx/PHH6vJzc1h06Z1jB49EX19ab1lnTt3R0/PgD17dvxdvUBFv34hyOVibv1+QaVS8dzRpzhXcPcTmteqCpl99Olmt/ex6sLnvb9BJpPdtczGKC0twdzcvNHjBgYGLFjwDjNmPEqfPoH06dOXt9/+Hz17+jfLIHn88RlMmjSavXv/atCDWF5ezpw5M/Hx6cwPP/xMQUEBH374Lp9+uojXX39T0y4q6iQ2NrZ88cVS0tMvs2DBPNzc3Bk5cgwAn366iJSUZN56631sbe2IjNzLSy89x88//06HDg6N6rds2VIiIrawbt3mJq/jt99WMGXKNB5//EmOHz/CF198goODA7169QbgxRefIzq68VwrrVq14ddf1UZObOxZfH27oaenpznu7x/AypU/U1RU1ODzOHcuBhcXV6ytbTT7evUK4OOPP+TSpSTc3T2b1P9OOXhwP3379tfa9/XXnzN79otYW9uydOlXvPLKHFat2oBSqSQ7O5spUyY0ec4pU6YxdepjDR6rj1a8+dp37Ypg585tWFvbEBjYj0cffQJDQ8NGZdxuPG/ZshE/v160bt2mSV21+/xJhw4OdO3ardl9bmblyp/57bdfWLz4S7y8fAD45ZcfWbFieZP9VqxYS+vWrQHIz89j0aL3+OCDjxu8B80ZV7GxZ3nggYe0+vn7B2iWImRmZpCXl0fPnr00x01NTfHy8iE2NobQ0MHExp7F1NQMT8/r79Z+fr2Qy+WcOxdL//4D/xVj/F4jDHCBTrGwsADU4d81NTU6MbJAXQ/8/PlzOk3EJpfLcXPrRFTUcZKTE3VmgFtYWOLg4Exa2iWio6M0Yb9S06VLd6KjoygrK+P8+Vg6d/aVXAe5XE5Q0EDWrv2VixcT8PbuohOj08zMnF69enPo0AHOnDmFu7uXJnpESjw9vcnMTCchIY6dO7cwYcJDmJo2/vLSEigUCoYMGcWff64mPz+PiIg/GTNmEnp6+pLqYWlpxbBho9i0aR25uTlERGwiPHwsCoVCUj08Pb2RyWTs3r2duLgYqqoqCQ0dJozw+wgZ994Q1gUxMdHs3r2Tjz76vMl2bm4eTJ/+NAsXvktIyCCys7NYtOjTZsmwtbVjwoQH+e67rzURHjeya9d2qqqqmD//bYyMjACYM2cur7wyh6efnqV5GTczM+eFF15GoVDg6OhEQEAQp04dZ+TIMWRnZ7Nt22bWr9+Cra0dAJMnT+HYsSNs27aZJ598tlH9LC0tadeu/W2vo3PnrkyZ8igADg6OxMREs3r1bxoD/NVX51NR0XjC1RvfhfLz8zRL5eqp//7Pz89r0DjJy8vD2lr7N6L+3uTl3duIw6qqKo4dO8Jjj83Q2j9t2nR69lRf7/z5bzJmzDAiI/cSEhKGra0ty5c3nXCsMcO4rq6OL774hM6du+Li4qrZHxY2hNat22Bra0dSUiLffLOEtLRU3n//owbPc7vxnJubw7Fjh3njjXeb1PNGKisr2blzOw8//Eiz+9zM119/wY4d21iy5DtcXDpq9o8ePe62OQnqQ81VKhXvvfcWo0aNxdPTi6ysW5OGNmdc5efn3fKuYWVlTX5+nqadep9Nk22srLQdOUqlEjMzc6029/MYbwmEAS7QKaam5iiVSmpqasjPz8XevrVO9HBwcAbU65jKykoxNjbRiR4dO7oTFXWc1NRLVFVVSu5Rq8fLy5u0tEskJMTRu3eQTvTQ09One/deHD68n9OnT+Dl1Vly4wbAzs4eL6/OxMXFEBm5i0mTHtGJHp079yAtLY3Ll1PZs2c7Y8Y8ILmRJZPJ6NcvhOzsDK5du8aOHVsYPXqS5PfD0NCQ4cPHsG7db+Tm5rBrVwRDhoyQ/H60atWGwYPDiYjYREbGZXbv3k5o6FDJ9fDw8KKurpa9e3dx8eIFFAoFwcFDWsQDKrgzZDIZn/f+horair//BhsbU/LySmgsUvxi0YUGPd6f9/4GV3P328o0VBje82efnHyRefNeZNq06Roj8mYv5o0eywceeJgDB/axfv0aPv74C03CVYCwsOvrhAcNGsrcua9pyXrooUfYuHEDW7duusXgSE29hKurm8b4Bujc2Ze6ujrS0lI1L+DOzi5a30s2NraaEOjk5IvU1tby4INjtc5dVVWlcQo0xrhxkxg3blKTbQBNNY96vL27sHbt9YRfdnb2jT7/fxunTp3AyspKy1gE9TXXY25ugYODI6mplwC1Ada+/d1NZi9evJDk5CS+/voHrf2jRl1/nh07umJjY8vs2U+TkZF+y6RJQ+P5ZiIitmBqakq/fgOardv+/XspKytl6NDw5l/QDfz++0rKy8v54YdfbtHZ3NwCc/Omx2c969atpqyslClTpt2VHoKWRxjgAp0il8uxsbHjypUsrl0r1JkBbmRkjK2tPbm5V0lPT9OZ99nW1g4LCyuuXSsgMTEeb++uOtHDyckVExMTSktLuXDhvKZGuNT4+HTlzJlTlJQUc/58rKYWs9T07BnAxYsJFBYWcubMCXr0aPgHuyWRy+UMHDiI33//hStXsjlz5iTdu/e6fcd7jJ6eHoMGDWfDhtVcuZJNVNRxevYMkFwPMzNzhg4dyZ9/riElJYkDB3bTv7/0GYsdHJwZMmQkEREbuXgxAX19A/r1C5bcCO/UqTO1tTUcOLCPhITzyGRyBgwIE57w+wCZTIaR0ujv/4OxnjFlytpGDTADhTpcVIYMFSrNvwYKQ815pOTSpWRmz36GESPG8OijT2j23+zFvNFLVVCQz+XLaSgUir9zq/TRHLuxj4nJrZPdZmZmTJnyKMuXf3/XSb1ujqaTyWSaagHl5WUoFAqWLVuBXK49eXijYd+S3EkIurW1zS3L9Or/vjH89kZsbGw4f147oWu9t9HGpuE+d8uhQ/sJCup3R33uNgR98eKFHD58kC+//A57+1ZN9q8P3U5Pv6xlzDY2nm9EpVKxdesmBg8ephUWfTu2bNlInz59G30ut6NLF1+OHDnInj1/aSIo6rmTEPSoqBOcOxdDcHAfrePqTPJDmD//rWaNq8ba3HhcvS9PK9FbQUE+rq7uN5yjQOscNTU1FBcX3VbOjTJuRsox3hIIA1ygc+oN8NzcHNzcdLdmo337Djo3wGUyGY6OTpw9W0Bi4nmdGeByuZzOnbtx9OhB4uJi8PbuqhNvmlKpR/fuvTh4cC8nTx7F09MLpbL5P4b3ChMTU/z8/Dl8+ABRUSfx9PTRSu4iFaamZgQG9mfv3p0cP36Y9u07YG/f/LVp9wo7u9b07x/Knj07OHHiCK1atcHBwUlyPVq3bktQ0AD279/DuXMx2NjY62SSxtHRmZCQoezatZW4uLPI5dCvn/QZcH18uqGvb8ju3duJjz9HTU0NwcGDdba0R3B3WOlbYWVgjb1hK4Z1GMG2y5u5WnEFK33p83EkJycxe/bTDB06/JbQ7Ka8mB988DYuLq6Eh49i4cJ38fPzx8lJHWnWHM/nuHGTWLdu9S1lohwdndm2bQvl5eUaYzkm5gxyuRwHB8dmXZObmwe1tbUUFBT8o3W6TXFzEtNz52JwdHTS/H0nIeg+Pl347ruvtZbpnThxDAcHx0bDtL29O/PLLz9SUJCvCeU9ceIYJiYmmoSv9wKVSsWhQwf43//evuXYuXMxmvXIRUVFXL6chqOjegzcaQi6SqXi008XsX//PpYsWUrbtu1uq1t9yS0bm+uGYVPj+UZOnz5FevrlO0qklpmZQVTUST78cHGz+9yMl5c348ZN5MUXn0OhUDB58hTNsTsJQZ89ey7Tp1+PosnNzWXOnJm89db7momJ5owrH58unDx5gokTJ2vOdeLEMU2ER9u27bCxseHkyRO4uXkA6nX1cXGxjB49TnOOkpJi4uPP4+mpfreOijpJXV0d3t7N1+VmpBrjLYWYGhfonPovjPz8XJ3q0aaN+gs9Le2STuvqenp6A5CVlUV5ufQljuqpD/nOzc0hO/vW9UNS0amTD0ZGRpSVlRIdrbvyNF27+mFv35rq6ioOH96vMz08Pb1p27YddXV1f2dF103NS09Pb03G/F27tuqskoGPjy++vurM6AcO7NGEOEqNm5sHgYFqL1Bs7FlOnpS+VjmAu3snBg0arqmZvm3bBmpq7v+MsILr2BnZs2rABr7u8wMjHEbzdZ8fWDVgA3ZG9pLqkZyszjbeq5c/kyY9RF5eLnl5ubd4s25m/fo1xMbG8PrrbzJo0FD69h3A22/Pv6PMxAYGBjz22AzWrdMueTZo0FD09fV5770FJCdfJCrqJJ9++hGDBw9rttfRwcGRQYOG8u67C4iM3ENmZgZxcbGsWLGcw4cPNtl3/frVzJ59+4R4MTHRrFz5M2lpqaxfv4Z9+3YzYcKDmuN2dva0b9+h0e3GpF9hYUPQ09Pjgw/eJjk5id27d7J27SomTbqeHCsyci+TJ4/T/N2rV2+cnJx55503SEy8wLFjR/j++28YO3Yi+vrNz5dRVlZGYmKCxpjNysogMTGB7OxsQF2BoaKigi5dfG/p+9NP33Py5HGSky/y/vtvYmFhqQnnrp+8aWq7Mdz6k08WsnNnBAsWvIuxsbFmLFZWqpd2ZGSk89NPPxAff56srEwOHozk3XcX4OvbHVdXdYnXOxnPW7duxMvLR2uNeT2NjYGtWzdhY2NL7959bjl2J3Tu3JWPPvqc5cu/Z82aGyNMLG57z+qN19atW+Pi4qrZ6hMLtmvXXhM50JxxNWHCAxw7dphVq34lNTWFZcuWEh8fx7hx6rroMpmMCRMe5Oefl3HwYCRJSRd5990F2NjYaXI4ODk54+/fh0WL3iUuLpazZ8+wePEiQkIGaXIw6HKM6wphgAt0Tv3MVU6O7hKgAbRr1wGZTEZZWZlOy6LZ2tpja2uPSqX6R2U7/imGhkaaiIQzZ3Rn+Orp6WlKT0VHn6G6ukonetSvfwZITIwnLU03hp5MJiMkZCgGBoYUFhZy7JhuapQD9O07EDs7eyorK4mI2EhVVeMenZYkIKA/Hh5eqFQqdu7cwtWruvku6drVj+7d1TXsjx8/QnR0lE706NjRnbAwdSK29PR0tm79819RlkVwHX2FvibqSCaToa+Q/oVy797dFBYWsGNHBKNGDdFs06dPbbRPamoKX3/9OS+++AqtWqm9ny+++CqFhYV8//03dyR/6NDwWzydhoaGLF78JUVFRTzxxCPMn/8KPXr04oUXXr6jc7/22gKGDBnOl19+xuTJ45g37yXOn4/T6NwYhYWFZGSk3/b8DzzwMPHx53nssYf45ZdlzJz5Av7+d7dUx9TUlMWLvyQrK5MnnpjCl19+xqOPPqG15rm0tIS0tFTN3wqFgkWLPkMul/PUU9N4553/MWTIcB5//ElNm6ysTIKC/JosvxYfH8e0aQ8xbZraEFqy5FOmTXuIZcu+BeDAgUgCAgIbjLJ56qlZfP75xzz++BTy8vJYuPDTOwrnvpE//1xHSUkJs2Y9qTUWd+/eBagN+pMnjzNnzkweemg8X375GQMGBLNw4XVvdHPHc0lJCfv27WnU+93QGKirqyMiYgtDh4Y3mBOlvjRbQ8nQGqJrV18++ugzvv/+G9at+71Zfe6U5oyrzp27smDBe2zatIFHH32Qfft288EHH2tNTDz00COMHz+JRYveZ/r0qZSVlfPJJ19gYHA9d9CCBe/g4ODE7NnPMHfubLp06crLL79+R7rczRi/n5Gp/p8VDs3J0U2t3jtBJgNbWzNyc4v/3yTh+CeUl5exfLn6y3zatKcwMjLWmS7r1//GlSvZ9OsX0mKhrM15/qdPn+DIkQO0bdue0aMntogezSEn5ypr1/4KwOTJj2JpKX3mbVCvF/r9958pKrpGr16B+Pn560QPgH37dhEXF4O5uTkPPPDoHYf33qvP/6VLSUREqOvqjhw5nvbtGy+d05Jcu1bAunW/UVlZiZubJ6GhQ3WyXKG2tpatW/8gPT0NQ0NDxo59EEtL6UN2AY4fP8zJk0cB6Ns3WCuDv5Tf/5cuJbJrVwQ1NTW0bduOYcPG/Cs8A/+fuV9//2fOnIGbmwezZ7+oa1XuK957701KSor54INPmt1n/PgRTJz4oFbYbj330/OPijrJa6/NZc2ajU2W4mqKRx55gKlTHyck5HpodFTUSZ577ikiIvZKXiLyfmXr1k2sWLGclSvX0rq11X3x/AUtg51d88a88IALdI6RkbEm63h9AgVdUZ8NPSPjsk71cHVVr6XJzEynqOiazvSws7PXeATOntWNNw/Us9v+/oEAnDlzgoqKcp3p4u/fBwMDA4qKinQaGeDs3FETAr5793bKy0t1ooeFhRWhoeqM24mJ8Zw7F60TPRQKBYMGhWNhYUFFRQXbtv1BZaVuPPI9ewbQrZsfoA6L19XSCWdnN0aMGIe+vj6ZmRls2rRWZ+NEcP/zxx9rCQvrS1KS7iKv7heio08TFtaXnTsjdK1Ki3HkyCGmTp1218Z3dXU1/fsHExDwz0Ku/wscOXKIGTOeFfk4BBqEAS64L7CzU69t07UBXu9FzMhIQ5fBIWZm5pp7Eh8fqzM9AE2m7YSEeJ2FGIN6UsLGxo6qqiqOH296nV5LYmRkopkMiIo6TnGx7qJuAgMHYG5uTmlpCXv27NCZHo6OHendW52t+ODBfWRlZehED0NDQ8LDx2JkZERhYSE7dmymtrZWcj1kMhm9e/elUyd1PodDh/aTkBAnuR6gzm0xcuQEDAwMuXr1Cn/8sZrS0vs/UkwgLQsWvMuvv65l+fLfmp3M7P8znp6dWL78N1auXMdLL83TtTotwrPPzmby5MaXE9wOPT09Hntshs7Ktv6bePfdhQQHS5+YU3D/IgxwwX2BtbU6EVtenm4Tsdnbt0ZPT4+KigquXMnSqS71a2wuXUrSqR5OTh2xsrKmurqK8+d1Nxkgk8nw81NPBsTFnaOoqFBnunh7d6VNm3bU1NRw8OBenemhp6fHwIGDkMlkpKamkJBwXme6+Pr2oGNH97/Xwm2kuLhIJ3pYWFgRHj4OPT090tPT2Ldvl04m02QyGf37h+Huro5m2bNnB0lJFyTXA8DevhUjRozBwMCAwsJCNm5cR0mJMMIF17kxKdjdrtP9/4SBgaHmftyYRbs5rFu3ucHw8/8K3bv7cfDgSRF+LhA0gTDABfcF9T9wublXdaqHQqHAzk6dlTE1NVmnunh6+iCTycjLy+XataazzrYkMpnshiRoUTrxKNbj7OyGnZ0ddXV1nDp1XGd6qBOyqWs9X7p0UWfeTYB27Rw0ib8OHNijM8NXJpMxcGAY5ubmVFRUsGPHJp2NFTs7ewYNCkcmk5GQEMehQ7qZJJHL5YSEDMPT0xuVSsWuXdt0lljR3r4No0ZNwMTElMLCAv78cw3XrhXqRBeBQCAQCP7LCANccF9gaWkJqEuR6bIEGKgNGkDnHnATE1NNSPyFC/E61cXdvRMGBgaUlBRz4cI5nekhl8sJDBwIQHz8OQoLdTcxYWNjR+fO6kR9hw9H6nRdes+efWjVqg1VVZXs3r1dZ58hfX0DhgwZiZ6eHlevXuXw4Uid6AHqesGBgf0BOHv2jM7W68tkMgYMCMPNzZO6ujp27NjC2bNndaKLra09Y8ZMwtzcgqKia2zY8LtOSwwKBAKBQPBfRBjggvsCa2s7ZDIZNTU1Og0tBrWXFSA7O0un3l4ADw8vABIS4nQ6MaFU6uHh0QmA2FjdJNmqp23b9jg6OqNSqTh+/LBOdenVKxBTU1PKy8t1qotcLic0dChKpR6Zmek6XSNva2tPaOgwAGJizhAXF6MzXbp06U7Xrt0AOHx4v85CwNWe8CE4ODhSV1fHpk2buHw59fYdWwBzcwvGjJmEtbUN5eVlbN68Xmcl9QQCgUAg+C8iDHDBfYFSqcTa2gaAggLdeTVBHQ5vZGRETU2Nzr3gzs6uKJVKioqukZGhmxf2enx9/ZDL5eTk5Ojca+bvHwTAxYsJZGXdviZrS6Gnp8+AAYMA9cSELseLhYUlvXurs9GePn1Kp/fF2bkjvXqpddm/f7dODbw+fQbg7d0FgF27InRW4UAulzNkyCjat+9AbW0t27ZtJD09TSe6mJiYMmrUBGxt7aiuriYiYhMpKbrNNSEQCAQCwX8FYYAL7htsbNRrr/PycnSqh0wm04Shp6bq1jOkp6dHhw5qXXS5zhjA1NQcd3e1Fzw6WnclyQBsbe1wclKXjDt8OFKnGesdHJw092Xv3l06jZrw8emGg4MjKpWK3bt36KwMF0CPHv44OblQV1fHrl3bdLZcQCaT0bdvMC4urtTV1bJt259kZ+smS7tSqSQ8fAyurq7U1NSwdesfOpucMDIyZvToiTg4OFFbW0tExCbi43W3vEQgEAgEgv8KwgAX3DfUJ2LTdSZ0gDZt2gLcF16h+lrPqakp1NbW6FSX+mRsycmJOl1/DdCnT3/kcjlXrlzReQhtYGB/DA0Nyc/P5cSJQzrTQy6XExY2HDMzc4qKruksAzioDd/Q0KFYWlpRWVnJjh1bqK6u1oku6hD9YbRq1Zrq6mq2bt2os8SGCoWSSZMm4ejorPGEJyUl6EQXfX0Dhg4dhYeHFyqVij17dnD8uO7Gr0AgEAgE/wWEAS64b7C0tAIgJydbx5qAo6MLAAUF+ZSVlepUlw4dnDExMaWyspKUFN0amjY2drRt2w6VSkVU1FGd6mJpaU2XLuoJgcOHD+h0jbyRkTE9ewYAcOZMFAUFuqtnb2BgyKBBw5HL5SQlXeDs2VM600Vf3+DvutzG5OXlsHv3dp1NCCiVSoYNG4OlpSWVlRVs3rxBZ59tpVLJ0KEjaNeu/d8RAhE6i7ZRKBQEBw+mc2dfAE6ePMbBg3t0GlUikJ6ZM2cQFORHUJAfiYm6mRC6n4iKOqm5H/PmvahrdQT/AcaPH8GaNb/pWg2BRAgDXHDfUO8BLyoq0pmnrB5zcwtNbXJdrdOsRy6X4+7uCcCFC7oNQwfo3Fmd1Cox8QJlZWU61aVHj14YGhpSUJDH+fO6S/YF6trgrVu3oa6ujv37dWvAtGrVRrMG+8iRg1y5ors1++bmFgwZMgK5XE5yciLHjh3QmS5GRkaMHDlBEyGwdesfVFXpJkxfoVAyfPhYTWI29Tps3ZQ+lMlkBAYOoHt3P0CdNX7fvl06r0jxX6c6Po5rzz1Ndbw03/sjRoxh48btODt3BODatULmzJnFqFFDGDgwgLFjh7N48UJKS0vuuext2zYTFOTHnDmztPYXFxcTFORHVJS0VQw6d+7Kxo3bCQ4Ok1RuY1y8mMgzzzxBcHAfxo4dzsqVP9+2T3Z2NnPnziYkJJDw8DC++upzamruLIruzJkoXn75BUaNGkJQkB/79+9rtO2sWU+yefOfd3T+5rJixXKeeGIqYWH9CA8PY968F0lLS9Fqc+MkUv320Ufva44nJl5gwYLXGDt2OMHBgTz00HjWrFmldY733nvzlnMEBfnx8MMTG9Vt2bKlDfYJDQ26p/fgThk/fsQtOq1Y8ZNWm+aMqz17/mLy5HEEB/dh6tRJHDmineRVpVLxww/fMmrUYIKDA5k9+xkuX9Z+by4qusZbb81n0KD+DBkygA8+ePuW90ddjXFdIQxwwX2Dqak5BgYGADr1INbj6OgEoLNsxTfi5qZeY5yaeomysnv/8nMnODu7YmNjS21tLbGxZ3Sqi4GBIX5+vQE4evQgFRUVOtOlPtO1UqkkI+OyzicEfH39aNOmLXV1dezevUOnk1pt2rSjX78QQO1Zio/X3b0xNTVjxIhxGBkZkZNzlc2b11FdXaUTXdSe8NG4uLhRV1fL9u2buHhRN95HuVxO79796N8/FJlMxvnzsWzfvpmqKt3cGwFUbt9G9elTVO6IkESeoaEhNja2KJVKAGQyOX379mfhwsWsWrWB115bwMmTx/noow9aRL5CoeDUqeOSG9sNoaenh42NreadRJeUlpYwZ85MWrduww8/rOCZZ57jxx+/Y+PGDY32qa2t5eWXZ1NdXc233/7I66+/SUTEZpYtW3pHssvLy3F1dWPOnFeabFdUdI2YmGgCA/ve0fmby+nTUYwdO4GlS5fz6adfUVNTwwsvzKS8XLv8Z/0kUv32zDPPaY4lJJzHysqa//3vbVasWM3UqY+xdOmXrF+/WtNm9uyXtPpv2LAVc3MLBg4MaVS3Bx+cotVn48btODm5MHBg6L2/EXfIE088paXX+PGTNMeaM65iYqJ5663XCQ8fxY8/rqRv3wHMm/cSyckXNW1WrvyZdet+56WX5vHddz9hZGTInDmztHLQvPXW/7h0KZlPP/2KhQs/Izr6NIsWvXdHutzMvRrjukIY4IL7BrlcrknElp+vewPcwcEJgLS0FJ17gmxt7bC0tKKurk7niZLkcjk9eqiN3piY0zozXurx8uqCqak6RP/kSd2WJbOwsKJXr0AADh3az7VrhTrTRS6XM2jQcIyNTSgsLODAgT060wXUuQw8PdVl9fbv30tOzlWd6WJpacXw4WNQKpVcuXKFrVv/0FnyPIVCQVjYMDp2dNckrNPlZ9zbuwuDBoWjUChISUnijz9WUVparDN9/j+gUqlQlZdrtrqyMq2/b9xqUi5RHX2G6rPRVO7eCUDlXzuoPhtNdfQZalIuNdpXs92j6Btzc3PGjBmPp6cXrVu3wc+vF2PGTODs2TON9qmsrOThhyeycOH1l+uMjHTCwvqxZcvGJuUZGRkxbNhIvvlmSZPtkpIu8txzTxEcHMiwYSEsXPieljftvffeZN68F/nttxWMGjWYYcNC+OSThVqesaqqKr788jNGjx5KaGgQ06c/cs8M//HjR/DTTz+wYMFrhIYGMXr0UNavX3PX59u5czvV1dXMm/cGLi4dCQ0dzPjxD7B69cpG+xw/fpSUlEu88cY7uLl5EBAQyBNPPMWGDWvuaDI2ICCQGTOeoX//gU22O3z4IO7unlhb22jC9w8fPsgjjzxAcHAfZsx4VMtou1MWL17CsGEjcHHpiJubO6+99iZXrmSTkHBeq139JFL9ZmJiqjkWHj6K559/iW7detCuXXsGDx7GsGEjiYzcq2ljamqq1T8+/jzFxUUMHz6yUd2MjY21+uTn55OSkkx4+Ki7vl6AzZv/ZMiQAZw8efyuz3GzbkZGRppjzRlXa9f+jr9/AJMnT8XJyZnp05/G3d1TM55VKhVr165i6tTH6dt3AK6ubsyf/zZ5eTkcOLAPgJSUSxw7dphXX52Pt7cPXbv68vzzc9m9eye5uTnN1uVm7tUY1xVKXSsgENyIjY0tmZnpmg+lLmnduh1KpZLy8jKuXMmiTZt2OtXH3d2T48ePkJR0ke7d/XWqi4uLKxYWlly7VkhMzBm6d++lM12USiX+/oHs3r2DuLhYfH17YmpqpjN9unTpxsWL8Vy9eoU9e7YzatRE5HLdzHWamJgRFjaMTZvWER9/jnbtHDT13HVB//5hlJQUk55+mW3b/mTcuAd19qzs7VszeHA4ERGbyczMYPfu7YSGDtXJs1IoFISGDqWmporU1BT27t2Jnp4eHTu6S64LQMeObhgajmHbto3k5eWxYcNqRo4cj4WFpU70+TejUqm49sx0amLPavbdaZpRVWEh156d3uz2ys5dsfjqO2Qy2R1Kaprc3BwiI/fg69u90TYGBgYsWPAOM2Y8Sp8+gfTp05e33/4fPXv6N8sgefzxGUyaNJq9e/9q0INYXl7OnDkz8fHpzA8//ExBQQEffvgun366iNdff1PTLirqJDY2tnzxxVLS0y+zYME83NzcGTlyDACffrqIlJRk3nrrfWxt7YiM3MtLLz3Hzz//rqk80hDLli0lImIL69ZtbvI6fvttBVOmTOPxx5/k+PEjfPHFJzg4ONCrl3ry+sUXnyM6+nSj/Vu1asOvv6qNnNjYs/j6dkNPT09z3N8/gJUrf6aoqAhzc/Nb+p87F4OLi6umvCtAr14BfPzxh1y6lKRZ1navOHhwP3379tfa9/XXnzN79otYW9uydOlXvPLKHFat2oBSqSQ7O5spUyY0ec4pU6YxdepjDR6rXwZx87Xv2hXBzp3bsLa2ITCwH48++gSGhoaNyigtLWnw/tWzZctG/Px60bp1myZ11e7zJx06ONC1a7dm97mZlSt/5rfffmHx4i/x8vIB4JdffmTFiuVN9luxYi2tW7fW/P3rrz/z00/LaNWqFWFhQ5g4cbImwqU54yo29iwPPPCQlgx//wDNUoTMzAzy8vLo2fP6O6CpqSleXj7ExsYQGjqY2NizmJqaaSbgAfz8eiGXyzl3Lpb+/Qf+K8b4vUYY4IL7CltbewCuXtVt/W1QvxS3atWKjIwMUlOTdG6Ae3l15eTJY+TkXCEvL0cTLaAL5HI5Xbt2Z//+PZw5c4ouXbqhVOrdvmML4e7uRVxcLFlZGRw/fpjg4ME600Uul9O/fyjr168iKyuThIQ4OnXy0Zk+7dp1oEcPf06ePEpk5C5sbW11NnYUCgWDB49gw4bfKSjIZ9u2Pxk1agIGBo2/ILUkjo4uDB06koiIjVy8mICenh4DBoTdc8OlOSgUCoYMGcVff20jKSmRnTu3Ehpah5ubbl4i2rVzYPToiWzbtpHi4iI2bFjFsGGjadWq+S+igr/RwXi6lyxY8BoHD0ZSWVlJYGBfXnllfpPt3dw8mD79aRYufJeQkEFkZ2exaNGnzZJla2vHhAkP8t13X9O374Bbju/atZ2qqirmz39b482bM2cur7wyh6efnqV5GTczM+eFF15GoVDg6OhEQEAQp04dZ+TIMWRnZ7Nt22bWr9+Cra36u3Dy5CkcO3aEbds28+STzzaqn6WlJe3atb/tdXTu3JUpUx4FwMHBkZiYaFav/k1jgL/66nwqKhrPP1FvJIE6IrC+Mks9VlbWmmMNGSd5eXlYW1tr7au/N3l59zbCsKqqimPHjvDYYzO09k+bNp2ePdXXO3/+m4wZM4zIyL2EhIRha2vL8uVNJxxrzDCuq6vjiy8+oXPnrri4uGr2h4UNoXXrNtja2pGUlMg33ywhLS2V99//qMHzxMREs3v3Tj766PMGj+fm5nDs2GHeeOPdJvW8kcrKSnbu3M7DDz/S7D438/XXX7BjxzaWLPkOF5eOmv2jR4+7bU4CW1tbzf/Hj5+Eu7sn5uYWxMZG8+23X5GXl8usWXOA5o2r/Pw8zb4b29RHqdb/a2Vl02QbKysrreNKpRIzM3OtNvfzGG8JhAEuuK+o/8Dl5uZQV1enM89hPY6OHcnIyCArS/cTAsbGxjg5uZCcfJHz52MJCmo6JKyl8fT05vjxI1RUlHP+fKwmOZsukMlk9OnTj/XrVxEffw4fn67Y27e+fccWws6uFd279+TkyWMcPhyJg4OTViic1PTo4U9qajI5OVfZuXMLEyY8rLMJEwMDQ4YPH8O6db+Rm5tDRMRGRowYj0Kh0Ik+jo7OhIUNY+fOrZw/H4tMBv36herMEx4WNhylcicJCXHs2rWNsrJSunbtIbkuoB7HEyY8xNatf5CTc5WNG9cycOAgnU0K/BuRyWRYfPUd/J2fQiYDGxtT8vJKaCxSvCbxQoMeb4uvvkfp1oyoCEPDezqJ9Nxzc3jssRlcvpzKt99+xZIln/LSS6/e4sW80WP5wAMPc+DAPtavX8PHH3+hFT0RFnZ9nfCgQUOZO/c1LXkPPfQIGzduYOvWTbcYHKmpl3B1ddMKpe3c2Ze6ujrS0lI1L+DOzi5a3yk2NraaEOjk5IvU1tby4INjtc5dVVWFhYVFk/di3LhJjBs3qck2AD4+nbX+9vbuwtq11xN+2dnZN/r8/22cOnUCKysrLWMR1Ndcj7m5BQ4OjppqD0qlkvbtO9yVvMWLF5KcnMTXX/+gtX/UqOvPs2NHda6a2bOfJiMj/ZZJk+Tki8yb9yLTpk3XTIrcTETEFkxNTenXb0Czddu/fy9lZaUMHRre/Au6gd9/X0l5eTk//PDLLTqbm1tgbt70+LyRBx54WPN/V1c3lEo9PvrofZ58cib6+vp3pZ/g3iEMcMF9ha2tPXK5nJqaGq5dK7xl5k1qnJ1dOXx4P1euZFFVVYm+vm4Tsnh6+pCcfJH4+HP07h2kU6+zUqlH167dOXbsEGfPnsbbu6tOJ0xatWpDx45uJCUlEhn5F+PGTdapPn5+AaSmppCTc4X9+3czZMhInXhWod7zHM66db9RUFDA/v17GDhwkM70MTe3YNCgYWzZ8geZmRkcOrRPk6RNF3Ts6E7//pXs27eLuLhY9PX16dNngE50kcvlBAf/H3vnHRbFtf7xz+6y9N5tgAiKAmIFC1gQFBArdqPRxJRfovHGVNNMMUUTTTHlmsSYxF5QURDFrihSRBFRFEFAmkpRQOnw+2PDygoIetUZ793P88yjzJwz892Zs7PnPec97zsCDQ05SUkJHD9+hIqKMtzdhYmoq6urx5gxk9i7N5SrV9PZt283paXF9Owp3LKTpw2JRAL/GIwSCUh1dZHcqYFmDDBJfeAviQTq6pT/SrS0kDQwPJ8U9etHbW3tMDAw4tVX5zBr1pxGs5gNZ6mKigq5ejUTmUz2TyaRAcpjDevo6ek1up6BgQEzZsxi9erfHjqoV8MZZFA8g/pYLmVld5DJZKxatQapVHXgT+cJ3d8HcUE3NTWjqKhQ5Xj93w3dbxtiZmbGhQuqsSTqZxvNzJqu87AcP34UT89BD1TnYV3Qly9fwokTkfz4469YWlrdt36963ZW1lUVY/bKlTTmz3+FUaPGMWvWnCbr1tXVERa2kxEjAlTcolsiNDSEAQO8mn0uLdG9ew+ioiI5eHC/0oOinodxQW9It24u1NTUkJeXg42NXavaVXNlGh5X7CtQmX0vKirEwaFzg3MUqZyjurqakpLiFq/T8Br38iTb+ONAbYCrERUaGhqYm1tw/brCzVpoA9zIyFi51jk7+yodOzq0XOkx0qGDLTo6OpSVlXHp0gW6devecqXHiKtrT86ciePWrZtcuXJZsDWr9Xh4eJKerpjpvXw5mc6du7Vc6TEhlUoZOnQ4W7eu48qVVC5cSBT0eRkaGjN8eCC7dgWTnJyEtXVbunVzbbniY6J9e1uGDBnGwYP7OHcu4Z+87sJ5UXTr5srt2yXExp7kzJl49PQMcXNrfq3r40QikeDlNRSoJSkp8Z8gPFL69u0vyKCJpqYm/v6jOXBgN6mpl4mKiqSiohIPj4GCDeL8NyMxMUFiaobU0hLtwDGUh4ZQe/06knvcOIWgrk5hxFZVVd53FvPLLz/F3t6BwMAxLFmymD59PLCz6wjQqpnPoKDJbN26qVGaKFvbjuzeHUpZWZnSWE5MPINUKsXGxrZVn8HRsQs1NTUUFRX9R+t070dSUmKjv+szq8CDuaC7uHTn119/prq6Wrk/NjYaGxvbZt20nZ1d+fvvPygqKlT2o2Jjo9HT08POzv5hP1Yj6urqOH78GB9++GmjY0lJiUpjsLi4mKtXM7G1VbSBB3VBr6ur49tvl3L06GFWrFhJ27YtLwmsz2dfn+IWIC0tlfnz/w9//5H3XWpw+vQpsrKuPlAgtZycbOLj4/jqq+WtrnMv3bo5ExQ0iTfeeA2ZTMa0aTOUxx7UBf1eLl++hFQqxdhY0R5a065cXLoTFxfLpEnTlOeJjY1Weni0bdsOMzMz4uJicXTsAijW1Z8/f46xY4OU5ygtLSE5+QJOTooYNPHxcdTW1uLs7NJqLffypNr440IdBV2N6DA3V4xqChkluSHt2yt+1NPSUgRWopjJdHBQvOQuX74ksBpFx7ze9fzUqWjBo8UbG5sojbiTJ48LHgnT3NxC2cE7ceIoxcXFgupp394GDw9FlPZjxw6Sk3NVUD1OTq7066eY2T1+/DDp6amC6unbdwB9+/ZX6klKOttCjceHIpaAr3INZVzcSY4fPyJYfnkNDQ18fQOVARfj42M4cGAPNTVPR87VpwmZpRWmW0Iw/vVPdMaMx/jXPzHdEoKshRm/R01UVCRhYTtJS7tMbm4OJ05E8s03X+Lq6tZovWZDgoM3c+5cIu+//zHDh/vj5TWETz/94IHex1paWjz33Its3bpJZf/w4f5oamry+eeLSEu7THx8HN9++zUjRgS0etbRxsaW4cP9Wbx4EUeOHCQnJ5vz58+xZs1qTpyIvG/d4OBNzJ//fy1eIzExgXXr/iIzM4Pg4M0cPnyAiROnKo9bWFjSvn2HZreGQb98ff2Qy+V8+eWnpKWlcuBABFu2bGDy5LvBsY4cOcS0aUHKv93d+2Fn15HPPvuIlJRLREdH8dtvvzB+/KQHcj++c+cOKSkXlcZsbm42KSkXycvLAxSpvcrLy+nevUejun/++RtxcTGkpV3miy8+xsjIWOnOXT94c7+tobv1smVLiIgIZ9Gixejq6lJQkE9BQT4VFYqlHdnZWfz55+8kJ18gNzeHyMgjLF68iB49euHg4Ago3M5fe+1l3N09mDx5uvIc987OAoSFhdCtm4vKGvN6mmsDYWE7MTMzp1+/AY2OPQiurm58/fX3rF79G5s3N/QwMWrxnjUMsLZ583pSUi6RnZ1FREQ4P/ywnOHD/ZUGbWva1cSJU4iOPsGGDWvJyEhn1aqVJCefJyhIkRddIpEwceJU/vprFZGRR0hNvczixYswM7NQxnCws+uIh8cAli5dzPnz5zh79gzLly9l2LDhyhgMQrZxoVDPgKsRHRYWikBsN25cE1iJgrZt25KUlMDVqxmiWJfevXsvEhPPkJWVSUlJMQYGzUfwfBK4uPTg9Ok48vNviGIWvE+f/qSkXKS0tIQzZ+KUBpVQ9O07kCtX0v5JBXaAkSPHCqqnZ8++ZGdf5erVDCIidjNp0gx0dXUF1XPr1k0uXDhHREQYo0cHYW0tXMDDPn36UVVVxZkzcRw5sp+amiq6dxdmDTYoBgW0tXU4duwQZ8/Gc+dOKcOG+QuyZl6RK9wTIyNjDh/ex6VLFygqKiAgYKygMQ7+G5E06EBKJBIQoEOppaXNrl07WLFiOZWVVVhaWjF48FCeeWZWs3UyMtL5+efveffdD7GyUsx+vvHGuzz77BR+++0XlbzMLeHvH8jGjetIT09T7tPW1mb58h/5/vtvmDPnWbS1tRk82Jt5815/oM/23nuL+OuvVfz443fcuHEdIyNjnJ1dGTDg/i7vN2/eJDs7q8XzT5nyDMnJF1i9+jf09PSYO/d1PDwe7rdIX1+f5ct/ZPnyJcyZMwMjI2NmzZqjsub59u1SMjMzlH/LZDKWLv2Ob775kpdfno2Ojg5+foE8//xLyjK5uTlMnDiaH374N7169Wny2snJ53nttZeVf69YoQim5+8fyPvvf8yxY0fo339gI5d/gJdfnsf3339DVtZVHBw6s2TJtw/kzt2QHTu2AjBv3ksq+997bxEBAaPQ0NAgLi6GzZs3UF5ehqWlFUOGePPss88ryx46dICbN4vYuzecvXvDlfutrduoRLUvLS3l8OGDzJ//ZpNammoDtbW1hIeH4u8f2OS7OT4+jtdee5mtW3dibt6lxc/r5taDr7/+jrfemo9UKmXChCkt1mmIXK7J/v0R/PHHr1RWVtG2bVsmT56mYtC2pl25urqxaNHn/Pbbz/z660+0b9+BL7/8RmVgYvr0ZykvL2fp0i8oLS3B1bUHy5b9gJbW3SWbixZ9xvLlS5k//xWkUgmDB3vzr3+99UBaHqaNixlJnVDD6cD69evZsGED2dnZADg6OvLKK68weLAilcGMGTOIiVHNfzd58mQ+/bSxq0s9N26IP1+pRALm5gbk55f81wTheJTk5WWzbdsmNDU1ee65VwQ3eCsrK1i9+t/U1NQwadIM5Yjdw/Ionn9IyBays6/St29/wQ1MgIMHw0lOvoClpRVBQdMEd0u9fPkSERGhyGQyJk+eoXS5EoqCghts3bqempoahgzxYfDggYJ+/8vK7rB58xpu376NjU1HRo4cK+gzq6mpISRkE3l5eejo6DBx4jOCppKrq6vj2LEDnPsnddTgwcNwdnZ7JOd+2O//hQvnOHx4H3V1ddja2uHnN0awwHUAmZnp7N27i6qqKvT19Rk1aoLgS4aeBsT6+z937os4OnZh/vw3hJYiKj7//GNKS0v48stlra4zYcIoJk2aquK2W4+Ynn98fBzvvfcWmzeH3DcV1/149tkpzJz5PMOG3XWNrjc2w8MPYWAg3HtcTISF7WTNmtWsW7cFa2sTUTx/NY8HC4vWtXlBLRtra2vefPNNtm3bRnBwMP369ePVV18lJeWuq++kSZOIjIxUbm+//baAitU8CczNLZFIJFRWVlJcfEtoOWhqaind0OsjeApNfVqr8+cTBXf7BsWss1Qq5fr1a4K7NYMij7GVVRtqamqIjDwktBzMzCyUrt+RkUfIz3/QTMCPFh0dXQICFAZcZuYVTp2KFlSPTCbD338sRkZGlJWVERq6TelaKAQSiQRPT286d1bMVBw9epCUlGTB9IDiOz90qA8SiZSMjHT27NlJdbVwSyxsbOwYO3Yienp6lJaWsm3bhn+Cbal5Wtm+fQu+vl6kpl4WWorgJCScxtfXi4iI8JYLP6VERR1n5szZD218V1VVMXiwN/37/2cu1/8LREUd58UXX23SU0DN/yaCGuDe3t4MHjwYOzs7OnbsyOuvv46uri5nzpxRltHW1sbCwkK56eur3dz+29HQkCtzChYWCmuo1FMf0CEjI62Fkk+Gjh0dkMvl3L5dSnq68J0lQ0NjZUCv2NiTAqtRGFADByo8aTIzM0RhGLi59aZNm3ZUV1exefNmampqBNVjYWHN4ME+AMTEnBB8/bWOji6jRysMusLCAsLDQ6iuFm59sSIauT9du7pQV1fH/v3hpKYKG3fBycmVgIDRaGhokJFxhdDQ7VRUNB/I6XFjYWHNhAnPYGXVhoqKCkJDt5GUlCCYHjUPz6JFi1m7dgurV69vdTCz/2acnLqyevV61q3byptvLhRazmPh1VfnM23azIeuL5fLee65F9HVbRzJXo0qixcvwdvbR2gZakSEaIKw1dTUEBYWxp07d+jZ825Uyl27duHh4UFgYCDLli2jrKysxXNJJOLfnhadQm1WVopgM/n51wXXIpGgjN6al5fDnTslgj9/TU05HTsqcm5eunRR8PsjkUDv3u5IpTJycrK4evWK4HratLkb5fv48cPU1dUKqkcqlTB0qC8aGhrcuHGD+PgYwe9R167OSm+K/fvDuXWrSFA9hoaGBAaOR1NTk5ycbPbsCaG2tkYwPTKZlKFDfXFy6kZdXR0REWFcupT0H5/3P/n+29nZM2rUeORyTXJysggOXk9JyS3B7pG+vh5jx07E0bELtbW1HDlygMOHIwT/vol5E+Pvv6WlJR06dKBDhw5oasoF1yP0pq2trbwf5ubmD1Q3OHgXkydPe6qe/6Pcevfuw/HjcRgaGgiuRYzbf/vz/1/fWouga8ABLl68yJQpU6ioqEBXV5dly5Yp14Bv2rSJtm3bYmlpycWLF/nmm2/o3r07P/74Y7Pnq6mpRSYTzbiCmockJiaG8PBwHB0dmTat8ToqIfjhhx8oKirC19eXAQOEd7nKycnht99+QyaTsWDBAkEDadWzY8cOEhISsLKy4uWXX265wmPmzp07rFixgvLycgICAujbt6/QkoiKiiIiIgKZTMYLL7ygHGwSisrKSlauXElhYSGWlpbMmTPnoQPlPCpSUlLYsGEDdXV1dO/enbFjxyLkGvXa2lq2bNlCcnIyEomEoKAgnJ2dBdMDiu//mjVrKC8vR19fn1mzZgma+7Suro49e/Yo47Z06dKF8ePHPxXRaNWoUaNGjZonieAGeGVlJbm5uZSUlLB37162bNnC2rVrcXBoHPo/KiqKWbNmsW/fPmxsbJo8340bJQ80AiEEEgmYmRlQUKAOwtAcublZbNu2GR0dHZ57ruWUH0+Co0cPkJiYgJ1dR0aOHPfQ53mUz3/TpjXk59/A03OIYDmLG3LrVhHr1/9FbW0tY8YEKdfOC0li4hmOHj2IpqYmU6c+K2hwLwV17N+/m4sXL2JmZs7EidOQyYRdF1ZUVMi2bRspLy/H0dEJX19/QQ1egKSkBA4fPgBA//6eyvRXQlFTU8Pu3TvIzMxAKpXh7z/qoXKNPsrvf2FhPrt2baO0tBQdHR0CA8dhaWn9n530PyQp6QxHjx6htrYGCwtLAgLGiOA7Jx7Uv///26if//826uf/34+5+VMQhA0UeYRtbW1xcXHhjTfewMnJib///rvJsm5uiii0GRkZ9z1nXZ34t6dFp1Cbqaki0nhZWRm3bt0SXE9dHTg4dAUgJyeb6uoaUTz/evfhc+cSqKmpFfweGRqa0KVLNwDi4mIE11NXB926dcfExITKykqOHTsouB6QMGrUKHR0dCgoyOf48aOCazI2NmXEiFFIJBJSUpI5fTpOcE3durkp1/FHRUWSnHxeUD1SqQw/vzHY2ztQW1tDePhOUlMvP2QbeDSaTEzMmTBhOhYWlpSVlbF9+xbS09MEfm49GDNmIjo6Oty4cZ3Nm9dx9WqG4O1JTJv69/9/e1M////tTf38/7u31iK4AX4vtbW1VFZWNnnswoULAFhY/GdpoNSIH01NLYyMjABFCicxYG3dBh0d3X+8NrKFlgOAo6MTMpmMmzeLyMpKF1oOcDcienb2VXJyWs6X+riRSqUMGuQNQFpaqig06enpKTUlJp4hM/OKwIqgXbsOeHoOAeDkyUhSUy8KKwhF4Do3N0UO7oMH9woeBE1DQwNf35F06tSZ2tpa9u7dxYULiYJq0tXVY8yYSbRvb0N1dRW7d4cIHgitTZu2BAVNw8TElLKyO4SGbuf8eWE1qVGjRo0aNWJBUAN82bJlxMbGkpWVxcWLF1m2bBkxMTGMGjWKzMxMfvrpJ86dO0dWVhYHDhzgnXfeoW/fvjg5OQkpW80TwsqqLQAFBeKIhC6RSLC17QggeMToerS1dejYUeEGe/78OYHVKDAwMFDOzMfEHBdYjYJ27WyVAdmOHDkgeARyAAeHLtjbKwLpHT68X9C0W/W4uPTAwcGRuro6Dh6M4ObNIqElMWDAIOztO1EfiTw3V9gBFJlMhq9vgFLT4cP7uXjxvKCaNDU1GTlyLLa2dtTV1XHkyAESEk4JqsnQ0Ihx46bQvn0HamtrOXz4AMePHxZF2kQ1atSoUaNGSAQ1wAsKCnjnnXfw8/Nj1qxZJCYmsmrVKgYOHIhcLicqKornn38ef39/lixZwvDhw/n3v/8tpGQ1TxALC0sAbty4JrCSu3TooIg9kJaWIpqOZM+eisBi6elp3LlzW2A1Cnr27ItUKiUnJ5vMTHGkbuvXzxMdHR2KigpISIgXWg4AQ4cOx9DQiNLSEg4f3o/AITmQSCR4e/thbm5BVVUV4eEhVFYKl+aqXpOPTwBWVtb/rMPeKXh6QqlUiq9vIB072v8zWLGXS5cuCKpJJtPA338sXbsqgsMdP36EqKhjgrYpbW1tAgOD6N3bA4CEhHhCQ7dRVnZHME1q1KhRo0aN0AhqgH/xxRccPHiQc+fOERUVxZ9//snAgQMBaNOmDWvXriU6OprExEQiIiJ4++231XnA/4ewsFBEh75+XUwGeEekUimlpaUUForDNd7CwhorqzbU1taKZhbc0NCITp0UgRTj4qIFNyxB4S3Qv/8gAGJjT3DrlvCzu1paOvj6BiCVSklNvSS4OzOAhoackSPHoaenR1FRIfv37xH8+WloyAkMDMLS0pqKinJ27QqmuPiWoJpkMhkjRoxWyRN+4YKw3z+pVMqQIcPp188TgNOnY4mICKW6ukpQTR4eAxkxIhANDQ2ysjLZsmWtqAZW1cDcuS/i6dkHT88+pKQIv/xEaOLj45T3Y+HCN4SWo+Z/gAkTRrF583qhZah5QohuDbgaNfWYmSnW+t++XUpJSbHAahRoa2vTtm07oOVggE8SFxc3QBE5Wgzu1QAeHp5IpTLy8nLJysoUWg4AnTt3xcLCgpqaGo4ePSC0HACsrNrg7q5Ia3fs2CFRGCZ6evr4+Y1GJpORnp7KiROHhZaElpYWgYHjMDU14/bt24SEbKa4WNj3gsLg9cXZuTsAhw5FcOZMrKCaJBIJvXq5M3TocCQSCampKezYsYny8jJBdXXq1JmxYyejq6tLaWkpO3ZsJj1dHN4xYqUw+zaH/kimMPvJeDaNGjWOkJA9dOzYqdGxW7duMm5cAJ6efSgpKXnk1969exeenn1YsGCeyv6SkhI8PfsQHx/3yK95P1xd3QgJ2YO3t+8TvW5zXL6cwiuvzMHbewDjx49k3bq/WqyTl5fHW2/NZ9iwgQQG+vLTT99TXV39QNc9cyaet99+nTFj/PD07MPRo4ebLTtv3kvs2rXjgc7fWtasWc2cOTPx9R1EYKAvCxe+QWZmukqZhoNI9dvXX3+hPJ6ScolFi95j/PiReHsPZPr0CWzevEHlHJ9//nGjc3h69uGZZyY1q23VqpVN1vHx8Xyk9+BhOHEikhdeeBZv74H4+Q1tNJjUmjYSHx/Hc89NZ+jQ/kyePJbdu3c1uk5w8GYmTBiFt/cAXnjh2UaTQRUVFSxbtoSAgGH4+nrx/vtvUVhY8MBa7qW4+BaffPIBw4cPxs9vCF9++Sl37jwdHlZqA1yNaNHSuhuILS9PHEHPADp16gLAlSspAiu5i729I1paWty+Xcrly8lCywHA0NBYOTBw8mSk4LOoUB+QzQeJRMLVq5lkZIjDAOjRo4/SxXr//t0P3El6HFhZtcHLaygACQmnuXDhrMCKFF4Mo0YFoa+vT0lJCbt2bRHcsJRIJAwaNAwnJ0X0/xMnjpGYeFpQTaDIkDB8+Eg0NDS4fv0627dvEtxrwNLSiokTp2Nt3Yaqqip2797BqVMxong3iJH0M/ncuFJCxpkns+RCW1sbMzNzNDQap0X86qvPlF5NjwuZTMapUzFP3NhuCrlcjpmZOVpaWkJL4fbtUhYsmIu1dRt+/30Nr7zyGn/88SshIduarVNTU8Pbb8+nqqqKf//7D95//2PCw3exatXKB7p2WVkZDg6OLFjwzn3LFRffIjExgYEDvR7o/K3l9Ol4xo+fyMqVq/n225+orq7m9dfnUlam+v6vH0Sq31555TXlsYsXL2BiYsqHH37KmjWbmDnzOVau/JHg4E3KMvPnv6lSf9u2MAwNjRg6dFiz2qZOnaFSJyRkD3Z29gwd6vPob8QDcPjwAT777CNGjhzFn3+u55dfVuHj46c83po2kpOTzdtv/4uePfuwevV6Jk2aypIli4mOjlKWOXAggh9//JbZs19g1aq1ODh0ZsGCeRQVFSrLrFixnOPHj/LZZ1+xYsWv5Ofn8/77bz2Qlqb45JMPuXIljW+//YklS74jIeE0S5d+/ihu32NHbYCrETVt2ihmmwsKCloo+eSonx24fv0apaWPfibgYZDL5Tg4dAYQ3A22Ib17uyOXy7lx4xqXLgkbqKoeK6s2ypzpR48epKpKOPfcehRrikeira1NUVERUVHHhJYEKFK4de2qMCyPHj3EtWu5AitSzM4HBo5HW1ubW7duERa2Q/BnKJFIGDJkuHL99bFjh0QRZ0Ax6zwJPT19iooKCQ7ewLVreYJq0tMzYMyYSTg7KwbnoqMjCQvbJvhAyuOkrq6O6soa5VZVUaPyd8Ot+PodbmSUcCOjhKtnFR3YzLOFyn3F1+80W7d+e9QDGtu3b6WkpISpU2e0WLaiooJnnpnEkiV3O8HZ2Vn4+g4iNDTkvnV1dHQICBjNL7+suG+51NTLvPbay3h7DyQgYBhLlnyuMuv1+ecfs3DhG6xfv4YxY0YQEDCMZcuWqAxsVlZW8uOP3zF2rD8+Pp688MKzj8zwnzBhFH/++TuLFr2Hj48nY8f6Exy8+aHPFxGxh6qqKhYu/Ah7+074+IxgwoQpbNq0rtk6MTEnSU+/wkcffYajYxf69x/InDkvs23b5gd6X/bvP5AXX3yFwYOH3rfciRORdO7shKmpmdJ9/8SJSJ59dgre3gN48cVZpKVdbvV172X58hUEBIzC3r4Tjo6dee+9j7l2LY+LF1Vjb9QPItVvenp3l60GBo7hX/96k549e9OuXXtGjAggIGA0R44cUpbR19dXqZ+cfIGSkmJGjhzdrDZdXV2VOoWFhaSnpxEYOOahPy/Arl078PMbQlxczAPXra6u5vvvl/Hqq68xduwEbGxs6djRnmHD7np0tKaN7NgRTJs2bZk373Xs7DoSFDSZIUO82bTprqv8xo3rGDVqLCNHjqZjR3veemsh2trahIbuBKC0tJTQ0BDmzXud3r374uTUlffeW0Ri4lnOnUtstZZ7SU+/QnT0Cd599wOcnV1wc+vBv/71FgcORJCfL44lovej8TCnGjUiwsqqLcnJ57l+XdhOY0N0dfWwsrL+5+WfRO/e/YSWBICbWx+SkhLJycnm5s0ijI1NhJaEjo4uzs6unDkTT2xsFA4OirRpQtO3b39SU1MoKSnm5MljeHl5Cy0JQ0Mjhg3zIyxsB4mJp+nQwQY7u8auoE+aQYN8uXOnjIyMK+zeHcKECdMwMDAUVJOpqTmjR08kJGQz167lEh6+k5EjxyCTCfeTVr/+Wltbh9On4zh+/DAVFWXKtHxCYWlpTVDQVMLCdlBQcIMdOzYxdKgvnTt3E0yTTCZj8OBhmJtbcOzYQTIzM9i6dR0BAYolBv9N1NXVcfD3ZAoySx/6HBV3qjn0e+s9m8xt9Bk6xwmJRPLQ16znypU0/vzzN1au/KtVKRy1tLRYtOgzXnxxFgMGDGTAAC8+/fRD+vb1aJVB8vzzLzJ58lgOHdrf5AxiWVkZCxbMxcXFld9//4uioiK++mox3367lPff/1hZLj4+DjMzc374YSVZWVdZtGghjo6dGT16HADffruU9PQ0PvnkC8zNLThy5BBvvvkaf/21URlstSlWrVpJeHgoW7c2dsNtyPr1a5gxYzbPP/8SMTFR/PDDMmxsbHB3V/QX3njjNRISmveUsbJqw9q1CqP93Lmz9OjRE7lcrjzu4dGfdev+ori4GEPDxu/jpKRE7O0dVL5P7u79+eabr7hyJZXOnR9tNqHIyKN4eQ1W2ffzz98zf/4bmJqas3LlT7zzzgI2bNiGhoYGeXl5zJgx8b7nnDFjNjNnPtfksdu3Fd+nez/7vn3hRETsxtTUjIEDBzFr1hy0tbWbvcbt26VN3r96QkND6NPHHWvrNvfVqlpnBx062ODm1rPVde5l3bq/WL/+b5Yv/5Fu3RRZZf7++w/WrFl933pr1mzB2tqaS5eSuXHjOhKJlNmzp1FYWICDQxdeffU17O0VniytaSNJSYn06eOhcg139/788MMyAKqqqrh0KZkZM2Yrj0ulUvr0cScpSeE1d/HiBaqrq1XOY2trh5WVNUlJZ3FxcX2o9nru3Fn09Q2U3mcAffq4I5VKSUo61+KgkdCoDXA1osbKSvHSu349j7q6ukfSoXgUdOhgw7VreVy5kioaA9zY2ARb245kZFwhKeksAwcObrnSE6BnTw/Onz9HcXExFy+eV6YDExK5XBMvL292795BYuIZOnVypG3bDkLLwtbWHje3XiQkxHPgwB4mTpyOoaGxoJoUabdGsn37RgoK8gkN3ca4cZPR1tYRVJe5uQUjR45j586tZGVlEB4egr//WEEHeCQSCf36eSGXaxETc5y4uGhKS4sZMmSEoEa4vr4B48ZNYvfuEHJysti/fw/l5eV0795LME0Azs7dMTY2IiJiN8XFxQQHr8fbewSdOnUWVNejRhy/Wg9OZWUlH3/8Pq+8Mh9ra+tWGeAAjo5deOGF/2PJksUMGzacvLxcli79tlV1zc0tmDhxKr/++jNeXkMaHd+3bw+VlZV88MGn6Ogo3kELFrzFO+8s4P/+b56yA29gYMjrr7+NTCbD1taO/v09OXUqhtGjx5GXl8fu3bsIDg7F3FwRa2batBlER0exe/cuXnrp1Wb1GRsb065d+xY/h6urGzNmzALAxsaWxMQENm1arzTA3333A8rLm88w0XAZQGFhAW3atFU5bmJiqjzWlAFZUFCAqampyr76e/OoPQorKyuJjo7iuedeVNk/e/YL9O2r+LwffPAx48YFcOTIIYYN88Xc3JzVq+8fcKw5w7i2tpYffliGq6ub0pgE8PX1w9q6DebmFqSmpvDLLyvIzMzgiy++bvI8iYkJHDgQwddff9/k8fz8G0RHn+CjjxbfV2dDKioqiIjYwzPPPNvqOvfy888/sHfvblas+FWZqhRg7NigFmMSmJubAwrXcYA//viVefNex9q6LRs3rmXevJfYsGEbhoZGrWojTZcx5fbt21RUlFNSUkJNTU2TZTIy0pXnkMvlGBgYNCpz/+vcv70WFhZgYqI60aShoYGBgWGj9eViRG2AqxE1pqZmaGhoUFlZSX7+dWVkdKFxdHQiLi6GGzeuU15eJrgxUo+LixsZGVdITj5H37790NQUfv2ajo4OvXq5c/JkJKdORdOlS1dBZyrrsbOzx87OjvT0dI4cOcCkSTNEMTvfr58nmZnpFBUVEhERxrhxUwTXpampSUDAOLZuXUtRUSF79oQwatREwXVZW7fFz280u3fvIDMzg717d+HnN1pQY1cikdCnjwcSSR3R0SdITr5AXZ2EoUOHC6pLU1OLwMDxHDwYzuXLKURGHqakpJgBAwYLOrDZrp0tkybNZN++MHJysti7NxQ3t1706+clePt6FEgkEobOcaKmqvafv8HMzICCghKa8xQvyr3T5Iz30DlOmLTRbfGaMrn0kTzTlSt/xM7OjhEjApo8fu8sZsMZyylTnuHYscMEB2/mm29+wMjIWFnO1/fuOuHhw/156633VM47ffqzhIRsIyxsZyODIyPjCg4OjkrjG8DVtQe1tbVkZmYoO+0dO9qrtB8zM3OlC3Ra2mVqamqYOnW8yrkrKyuVcWeaIyhoMkFBk+9bBsDFRXWg2dm5O1u23A34ZWFh2ezzf9o4dSoWExMTFWMRUAanBIWHl42NLRkZVwCFodS+/cMNei9fvoS0tFR+/vl3lf1jxtx9np06OWBmZs78+f9HdnZWo0GTtLTLLFz4BrNnv6AcFLmX8PBQ9PX1GTRoSKu1HT16iDt3buPvH9j6D9SAjRvXUVZWxu+//91Is6GhEYaG92+f9dTWKhrXzJnPMWSIYv36e+8tYvz4AA4e3M/YsUEPpU/No0P4XrAaNfdBKpViYmLKjRvXyc3NEo0BbmKiWOtTUJBPenoaTk7OQksCoEMHO/T19SktLSU5+Rzdu/cWWhIA3bv3JDHxNCUlxSQlJdK9+8O7Zj1KBg/2JTf3b4qKCklIOEWvXu5CS0Im08DXN4Dg4A1cv36NU6eilVHShcTAwIARI0aya9d2cnJyOHHiiChc921s7Bg61JeDByNIT0/j8OF9ygjgQtK7t2IALDLyMBcvnqeqqhJf34AmA1w9KTQ0NPD1DcTMLJbo6EgSEuK5desWPj5+gg7W6enpMXr0BKKijpGQcIqEhHjy8nLw8xuFnp5ByycQORKJBA1N2T//B7mWDA1NWbMGmIb8n4EaCVB3918NuVR5nifBqVNxpKVd5vBhheto/drywEAfZs58jmeffV5lFrPhjGVRUSFXr2Yik8n+yYJx9x3WsI6enl6j6xoYGDBjxixWr/7toYN63fs9k0gk1NYqBkHKyu4gk8lYtWoNUqnq/Wxo2D9OHsQF3dTUTCWgFaD8u7klG2ZmZly4kKSyr35W0Mzs0S7zOH78KJ6egx6ozsO6oC9fvoQTJyL58cdfsbS8f3+w3nU7K+uqijF75Uoa8+e/wqhR45g1a06Tdevq6ggL28mIEQEqrv8tERoawoABXg+9lKZ79x5ERUVy8OB+pQdFPQ/igl4/E25nZ688pqmpSZs27ZRxQFrTRszMzCgsLLynTCF6enpoaWkjlcqQyWRNlml4jqqqKkpKSlRmwe8t86DtVfG9UE0nW11dTUlJ8VOxlEltgKsRPdbWbbhx47qoArEBdOzoQEFBPmlpl0VjgEulUrp06cqpU7GcP38OV9deghsioMjj3KdPf44c2U9cXBRdunRFS6v5dVlPCj09AwYOHMrBg3uIjY2iUydHjIyEXztvbm7J4MHDOHgwgri4k7Rp044OHWyFlkXbtjZ4ew9n375wEhPPYGJiiotLD6Fl0aWLMzKZBvv27SY5OQmZTINBg7wFb/uurj3R09MnImI3aWmXCQ3djr//aEA4o1IikdC7tzuGhoYcOLCX9PRUtm5dx8iR4wRt+1KplIEDB2NqasrRowe5di2P4OCN+PmNwtLSWjBdQqClJ0dbX46OkRz73haknbpB2a0qtPRabwg8Cj7/fCkVFeXKvy9cOM+XX37KTz/9Rrt27e87i/nll59ib+9AYOAYlixZTJ8+HtjZdQRo1cxnUNBktm7d1ChNlK1tR3bvDqWsrExpLCcmnkEqlWJj07p3pKNjF2pqaigqKvqP1unej6SkxEZ/29raKf9+EBd0F5fu/Prrz1RXVyv3x8ZGY2Nj26ybtrOzK3///QdFRYVKd/XY2Gj09PRUjLL/lLq6Oo4fP8aHH37a6FhSUiLW1orvbnFxMVevZmJrq2gDD+qCXldXx7ffLuXo0cOsWLFSmQ72ftTnszczM1fuS0tLZf78/8Pff+R9lxqcPn2KrKyrDxRILScnm/j4OL76anmr69xLt27OBAVN4o03XkMmkzFt2t3Ahw/igt6lixOamppcvZqOm1sPQGGc5uXlKtezt6aNODu7cvLkcZVrxMZGK70b5HI5nTs7cepUjNJToLa2llOnYhk/ftI/WrqioaHBqVMxytn4zMx0rl3LU57nYdqri0t3SktLSE6+gJNTV0AR+6G2thZnZ5f73icxoI6Crkb01K/NFUN+5IbY2zsCcPVqOpWVzf+QPmlcXHr+MyJZQG6ueNK3OTk5o6+vT3l5OadORQstR0mXLl1p396WmpoaDhzYo5wlERonJxe6dlX8iOzbt5vi4pvCCvoHR8eueHgo8pseO3aIK1cePrLto8TBoQve3iMASEpK4PDhCFE8S3t7R0aOHIuGhgbZ2VfZsWMTt28/mbzO98PR0YnAwLFoaWlx8+ZNtm/fJIoo9127ujJu3CSMjIwpLS1h27ZNJCWdFcWzfFLoGmky8o3u+LzUjU59LfF5qRsj3+iOrpHmE9XRrl177O0dlFv9OmRb247KTnJTBAdv5ty5RN5//2OGD/fHy2sIn376wQNF39bS0uK5515k69ZNKvuHD/dHU1OTzz9fRFraZeLj4/j2268ZMSKg1bNeNja2DB/uz+LFizhy5CA5OdmcP3+ONWtWc+JE5H3rBgdvYv78/2vxGomJCaxb9xeZmRkEB2/m8OEDTJw4VXncwsKS9u07NLs1DPrl6+uHXC7nyy8/JS0tlQMHItiyZQOTJ09Xljly5BDTpt11K3Z374edXUc+++wjUlIuER0dxW+//cL48ZPQ1Gx9O7pz5w4pKReVxmxubjYpKRfJy1PMol68eOGfeBI9GtX988/fiIuLIS3tMl988TFGRsZKI61+8OZ+W0N362XLlhAREc6iRYvR1dWloCCfgoJ85QBRdnYWf/75O8nJF8jNzSEy8giLFy+iR49eODgo+mppaYro+e7uHkyePF15jntnUQHCwkLo1s1FZY15Pc21gbCwnZiZmdOv33/msebq6sbXX3/P6tW/sXlzQw8ToxbvWf0AjZ6ePmPGBLFq1a/ExJwkMzOdb775EkAZ3LA1bWTs2CBycrL5+efvychIZ9u2LRw6tJ/Jk6cpdU2ZMp1du3YQHh5KevoVvvnmS8rKyhg5chSgiCwfGDiGFSu+JT4+juTkC3zxxae4uHRXLtVojZbz588xbVoQN25cB8DOriMeHgNYunQx58+f4+zZMyxfvpRhw4YrYzuIGbUBrkb0WFoqfogKCvIFTzfUEFNTM/T09KipqSEt7ZLQcpTo6enTpYtiRj4h4ZTAau4ik8no3VvhypiUlEhZ2Z0WajwZJBIJgwd7I5PJyMvLJTFR+PRR9Xh5DcXMzJzy8jL27NkpivzgAL169aVLl27U1dWxb99u8vJyhJYEQJcu3Rg8WDHCfuFCEsePHxJFjukOHWzx9x+DXC4nPz+fNWvWcOeO8EZ4+/a2BAVNxdTUjDt37rBjx2ZSUlofbftxYWnZhgkTptOxYydqa2s4cmQ/e/aEqMzG/rcj07i7jlsikSDTeDq6axkZ6fz88/e88cY7WFkpZj/feONdbt68yW+//fJA5/L3D2w006mtrc3y5T9SXFzMnDnP8sEH79C7tzuvv/72A537vfcW4ec3kh9//I5p04JYuPBNLlw4r9TcHDdv3iQ7u+VgdFOmPENy8gWee246f/+9irlzX8fDo/8DaaxHX1+f5ct/JDc3hzlzZvDjj98xa9YclTXPt2+XkpmZofxbJpOxdOl3SKVSXn55Np999iF+fiN5/vmXlGVyc3Pw9Oxz3/RrycnnmT17OrNnK4z9FSu+Zfbs6axa9W8Ajh07Qv/+A5tcWvPyy/P4/vtveP75GRQUFLBkybcP5M7dkB07tlJaWsq8eS8xZoyfcjtwYB+gMOjj4mJYsGAu06dP4Mcfv2PIEG+WLLk7G33o0AFu3ixi795wlXO88MJMlWuVlpZy+PDBZme/m2oDtbW1hIeH4u8f2GTsivrUbLm5rfutdHPrwddff8dvv/3C1q0bW1XnXl59dT7Dhg3ns88+Ys6cZ8nLy+X7739Reha0po20bduOpUu/IzY2mlmzprJx41reeecDlbY8bNhwXn11Pr///m9mz55GSsolli1boTIgNm/eAgYM8OL9999m7twXMDU14/PPlyqPt0ZLeXk5mZkZKv2gRYs+w8bGjvnzX+Gtt+bTvbsbb7/9/kPdryeNpE4MvZNHyI0b4sjLfD8kEjA3NyA/v/kgLGruUldXx19//cqdO7cZPXoC7ds3nyLkSXP48F7On0+iUycHRoxoPk9kQ57E8y8qKmTDhj8BmDr1WUxMxLEepra2lq1b15Offx1X1x6iWENcT3R0JKdOxaCpqcmUKc+ir/943IQf9PkXFuYTHLyBqqoqUd2z6upqduzYyPXr19HV1SUoSPj0ZPXEx0cr3eb69u1P374P1/F91Fy7lsPu3TspK7uDkZExgYHjVYJTCUVlZSX79+8mPT0NUKxDHDBgiKBB40Dx7o+PjyUm5jh1dXUYGRnj7z8aU1PzliuLFLH+/s+d+yKOjl2YP/8NoaWIis8//5jS0hK+/HJZq+tMmDCKSZOmMmnStEbHxPT84+PjeO+9t9i8OeS+qbjux7PPTmHmzOdV8kvHx8fx2msvEx5+qFHk6/9VwsJ2smbNatat24K1tYkonr+ax4OFReva/NMxpKrmfxqJRKJMT5CTkymwGlWcnBTuM4pROfHMzpuYmNKuncJ1Pz4+RmA1d1Gs81QEa0lKOtsosIyQ9OnTH0tLKyorKzlyZL8oZk5BkfO6flY3MfEMqakpAitSoKGhwciR4zExMeXOnTuEhm6jvFwcM5S9enkwYIAiDV9sbBSnTonjO2Bl1Zbx4ydjZGTErVs3CQ7eQG5u61I7PU40NTXx8xtNjx6KoI1nz54hPHyH4B5H9evVR44ci46ODrdu3WTr1vUkJ58XVNd/K9u3b8HX14vUVHEsKxGShITT+Pp6ERERLrSUx0ZU1HFmzpz90MZ3VVUVgwd707+/8EFCxU5U1HFefPFVQYNwqhEXagNczVNBfbTL/PwbAitRxcqqDfr6BlRVVZGZmS60HBVcXXsAkJqaQnl5mbBiGtCunQ22tvbU1tYSGXlQaDlKZDIZ3t5+SKWyf1K5JbVc6QnRuXM33NwUxtGhQ3u5davxmjUh0NHRJTAwCD09fYqKCgkPDxHcaKunR4/eyrXq0dGRREUdEViRAmNjE55//nlMTc0oLy9j165tZGSkCS0LqVTKgAGD8fQcjFQqJSMjnR07NlFaKrxXmY1NRyZPfpb27W2prq7m4ME97NsXSlVVpdDS/mtYtGgxa9duYfXq9a0OZvbfjJNTV1avXs+6dVt5882FQst5LLz66nymTZvZcsFmkMvlPPfci+jqNo5kr0aVxYuX4O3tI7QMNSJCbYCreSpo107RIcjPzxdYiSoSiQQHh84Aolg72RA7u06YmJhSXV3NhQvnhJajgrt7fyQSCVevZorC+KjH1NSMvn0VOUEjIw+JJvAZKPKDW1u3pbKykrCwHaIxPgwMDAgMHIempia5udns3btTNAGzevd2p08fxfM8ffoUJ08eE1iRAgMDA8aOnYSlpSXV1dWEh+/k0qULQssCoHv33owePQFtbR1u3LjO1q3rycm5KrQsdHV1CQwcp1xOkJJyiS1b1orKi+ZppmFQsIddp/vfhJaWtvJ+NIyi3Rq2bt3VpPv5/wq9evUhMjJO7X6uRs19UBvgap4K6gOjlJaWiCJ4UUM6duwEQHp6mqiioUulUnr06AMoXJdramoEVnQXCwsrHB0VAxcxMVGicfcG6NGjD6amplRVVXHoUIRotMlkMnx9R/4TtbqIQ4f2Ci1JiZmZBT4+/kgkEjIzMzh+/LDQkpS4uw+gVy/F9yA+Ppa4uJMCK1Kgo6PD2LGT6dSpM7W1tezfH87p080HQ3qStG3bngkTpv0TnO02O3cGk5AQK7QspFIpffv2x99/lDJ6+9at65QRmtWoUaNGjZqnAbUBruapQFNTSxlRUSwRl+uxsmqLrq4iGnp6eqrQclRwdHRCR0eX0tISLl8WVyd1wIChyOWa3LhxTVTeAzKZjGHD/JBKpWRnZ3HxonjWmxoYGDB06HAALl9O4fz5swIruoudXScGDVIEiEtMPCOqCPz9+g2iXz+FO3pMzAliY6MEVqRAQ0PO8OEjcXVV5CKOijrKoUN7ReFBYGhoxPjxU+nQwYba2lqOHz/G0aMHRDGQ17GjI5MmPUObNu2oqqpi374wDh7cK6oBUDVq1KhRo6Y51Aa4mqeG+rx+mZlXBFaiilQqxdHRCYArV8TjTg2KQFlduypSkp0+HSOKjn09urq69OrVF4CTJyNFs3YYwMLCGnd3RWCZyMjDolgHW4+9vSMeHgMBOHr0YKvTmjwJnJ3d6N/fC4Djx4+IamClVy93pbbY2CgiIw+K4vsgkUjw9ByidK2+cCGJffvCRGHoampqMnLkeHr2VHgQnDuXwM6dW0XhhWRgYMSYMRPp1csdgOTkJDZt+ptr18TzfVCjRo0aNWqaQm2Aq3lqqHdDv3YtV2Aljak3wDMy0kRlSIIiGJtUKqWwsFAUEZcb0r17L/T09CktLSE+XhyuwfX06NHnn6joFRw8uEcUxlo9vXq5Y2/vSG1tLXv27BTVWvUePfooAwAeOLCHtLRLwgpqQM+effHwUAysnD17hujoSFEsMZBIJPTt2x8vryFIJBJSU1MIC9suihldqVRK//6DCAgYq1znv3nzGlFkpJBKpfTr58nIkWPR1tampKSEHTu2kJh4WhTPVY0aNWrUqGkKtQGu5qmhQwc7AIqKikRn5FpYWGJoaER1dTUZGeJyQ9fTM1AGiktMPCOsmHuQy+XK9bkJCae5fVs8M81SqZShQ0cglUrJyrpKQoI41ueCwmAbNmwExsYmlJXdITw8RDRp8CQSCQMHDsHW1u6ftc17RLVspHfvfvTp4wHA6dNxnDx5TDTGmqtrL0aOHIeGhpysrEy2bdsomoj3dnb2BAVNw8jImDt37rBz5zbOn08UWhYAtrb2TJ48kw4dbKmpqeHYsUOEhyvyratRo0aNGjViQ22Aq3lqMDIyQVdXj9raWq5fzxNajgoSiQQ7O3sA0UUcB5Rummlpl7l5Uxwd+nqcnXtgampGdXU10dEnhJajgpmZudJNPjb2pKjunVyuiZ/fKORyOQUFBRw9ekg0hqRUKmXEiNG0adOW6upqwsK2U1gongwG7u4DGThwCKAwwo8eFYc7OoCNjR1jx05CV1eXwsICgoM3iCIKOYCJiSlBQVNp1649tbW1HD68j2PHDorCXV5PT5/AwPF4eg5BKpWRnp7Kxo1/iW5AVI0aNWrUqFEb4GqeGiQSCW3atAPEF4gNoFMnxSxzdnYWFRXCu442xNTUHFtbxQBBfHyMwGpUkUqlDBniCyjWcV67Jq7BlT59+tO2bXuqq6s5cCBcNIYaKJ6rr+9IJBIJycnnSEoST1A2DQ0NAgODsLJqQ0VFBbt2BXPr1k2hZSlxc+vF4MGKvKxJSQlEROwShSEJYGlpxdixkzEyMqK8vJzQ0O1cuSIOQ1JbW4dRoyYo07slJp4hJGQLxcW3BFam+I3o3r0XQUFTMTAwoKysjLCwEGJijovqeytG5s59EU/PPnh69lFHlQfi4+OU92PhwjeElqPmf4AJE0axefN6oWWoeUKoDXA1TxVWVm0AyMrKEFhJY6ys2mBoaERtba1oOssNqXf1vnjxvKjWDANYW7elc+euAKIJjlWPVCpl2DA/NDW1uHYtj1OnooWWpIKdnb0ywndk5CFRfTfkcjkjR47F1NSM27dvExKymZKSYqFlKXF27s6QIT5IJBLS0lKJiAgVjRFubGzC+PHTaNeuwz+5wkNISIgXhZeDVCrF3X0A/v6jkcs1ycvLYcuWtWRkiCNApoWFJZMmzaBTJ0cA4uKi2bFDXG2vNeRnpBLx/WfkP6FZ/FGjxhESskeZWhNQGqENt/37H30KxN27d+Hp2YcFC+ap7C8pKcHTsw/x8U92CZCrqxshIXvw9vZ9otdtjsuXU3jllTl4ew9g/PiRrFv3V4t18vLyeOut+QwbNpDAQF9++ul7qqurH+i6Z87E8/bbrzNmjB+enn04evRws2XnzXuJXbt2PND5W8uaNauZM2cmvr6DCAz0ZeHCN8jMTFcp03AQqX77+usvlMdTUi6xaNF7jB8/Em/vgUyfPoHNmzeonOPzzz9uss0/88ykZrWtWrWyyTo+Pp6P9B48CA0HkO7dLlxIUpZrTbs6eHA/06YF4e09gJkzJxMVFalyvK6ujt9//zdjxozA23sg8+e/wtWrqjFCiotv8cknHzB8+GD8/Ibw5ZefcueO6hIhodq4UKgNcDVPFVZWVgBcv35NNB3leqRSKV26dAMgJeWCwGoa06ZNeywsLKirq+P0aeFz+t5L//5eaGjIuXYtj6SkM0LLUcHAwFCZYisu7qQoAlA1pEePPjg4KPJJ790bKpp1w6CYMQ0MHI+enh6lpaWEhgZTUVEutCwl3bp1x9t7OFKplCtXUkW1nl5HR3HvunVzBeD48cMcPLhHNO++jh0dGD9eMVNfUVHB7t07OH06ThSDBFpa2owYMQpf3wDlIMGmTX9z/nyC0NJaTVrMMfJSzpMWG9ly4UeAtrY2ZmbmaGhoqOx/771FhITsUW5eXkMey/VlMhmnTsU8cWO7KeRyOWZm5mhpaQkthdu3S1mwYC7W1m34/fc1vPLKa/zxx6+EhGxrtk5NTQ1vvz2fqqoq/v3vP3j//Y8JD9/FqlUrH+jaZWVlODg4smDBO/ctV1x8i8TEBAYO9Hqg87eW06fjGT9+IitXrubbb3+iurqa11+fS1lZmUq5+kGk+u2VV15THrt48QImJqZ8+OGnrFmziZkzn2Plyh8JDt6kLDN//psq9bdtC8PQ0IihQ4c1q23q1BkqdUJC9mBnZ8/QoT6P/ka0kvoBpIbbqFFjadOmHU5Oin5qa9pVYmICn3zyPoGBY/jjj3V4eQ1h4cI3SUu7rCyzbt1fbN26kTffXMivv/6Jjo42CxbMU/EE/eSTD7lyJY1vv/2JJUu+IyHhNEuXfq48LmQbFwq1Aa7mqcLSsg0aGhpUVVVRVCSeNaX1dO6siIaelZUpilQ999K7t8Jt9OLFZMrLy1oo/WTR09PHza0HoFhvXVlZKayge3B0dMLGxpa6ujoOHNgrKn0SiYQhQ3wxMjKmoqKCPXt2iSpQob6+AYGB49HW1qaoqIjdu0NEpa9LF2cCAsaioaFBZmY6oaHbKS8XxyCBTCZj8GAfZQq1ixcvEBoaLJr2Z2ZmwcSJz+Dg0Jm6ujqioo6yZ88u0dw/R0cnJk165p+MBpUcPnyAvXufrL66ujqqKsrvbuXlqn832G7mZnHtcjLXUpO5ckoRE+NK3HGupSZz7XIyN3Ozmq1bvz3qARB9fQPMzMyV2/2M0oqKCp55ZhJLltztXGdnZ+HrO4jQ0JD7XkdHR4eAgNH88suK+5ZLTb3Ma6+9jLf3QAIChrFkyecqs2mff/4xCxe+wfr1axgzZgQBAcNYtmyJysxYZWUlP/74HWPH+uPj48kLLzz7yAz/CRNG8eefv7No0Xv4+Hgydqw/wcGbH/p8ERF7qKqqYuHCj7C374SPzwgmTJjCpk3rmq0TE3OS9PQrfPTRZzg6dqF//4HMmfMy27ZtfqB3b//+A3nxxVcYPHjofcudOBFJ585OmJqaKWdfT5yI5Nlnp+DtPYAXX5ylYrQ9KMuXryAgYBT29p1wdOzMe+99zLVreVy8qDrZUT+IVL/p6ekrjwUGjuFf/3qTnj17065de0aMCCAgYDRHjhxSltHX11epn5x8gZKSYkaOHN2sNl1dXZU6hYWFpKenERg45qE/L8CuXTvw8xtCXNyDLxusH0Cq34yMjDl27AgjR45CIpEArWtXW7ZsxMOjP9OmzcTOriMvvPB/dO7spGzPdXV1bNmygZkzn8fLawgODo588MGnFBTc4NixwwCkp18hOvoE7777Ac7OLri59eBf/3qLAwciyM+/0Wot9/Ko2rhQaLRcRI0a8SCTybC2bktWViZ5eXmYm1sJLUkFIyMTLCysuHHjGufPn6VPn/5CS1KhY0cHzM0tyM+/QWLiGWXuYbHQu3c/Ll26SElJMadOnaR//0FCS1IikUjw9vZj06a/KSkp4eTJYwwa1Pyo+JNGU1OLgIDRbNu2mYKCfA4e3MPw4YHKH1uhMTOzYPToiezYsZnc3Gz27t2Fn98oNDTkQksDFMHPAgPHExa2g5ycLEJCNjF69AR0dPSEloZEIqFnz77o6Ghz5MhBsrOz2L59EyNHjkVf30BoeWhqauHrO5K2bTsQGXmYK1cuc+NGHsOHB2Jt3VZoeRgZGTN27GROnjxKYmICqakp5OXlMmyYH+3b2zzWa9fV1bHn24+58R+k46soLWHvt5+0uryFfRf8Xl/0yL77y5cvYcmSz2jbth1jxgQxcuToZs+tpaXFokWf8eKLsxgwYCADBnjx6acf0revR6sMkueff5HJk8dy6ND+JmcQy8rKWLBgLi4urvz++18UFRXx1VeL+fbbpbz//sfKcvHxcZiZmfPDDyvJyrrKokULcXTszOjR4wD49tulpKen8cknX2BubsGRI4d4883X+OuvjXTo0HybWLVqJeHhoWzduuu+n2P9+jXMmDGb559/iZiYKH74YRk2Nja4uysGwd944zUSEk43W9/Kqg1r1yqMnHPnztKjR0/k8rvvSg+P/qxb9xfFxcUYGho2qp+UlIi9vQOmpmbKfe7u/fnmm6+4ciVVOVnwqIiMPIqX12CVfT///D3z57+Bqak5K1f+xDvvLGDDhm1oaGiQl5fHjBkT73vOGTNmM3Pmc00eu327FKDRZ9+3L5yIiN2YmpoxcOAgZs2ag7a2drPXuH27tMn7V09oaAh9+rhjbd3mvlpV6+ygQwcb3Nx6trrOvaxb9xfr1//N8uU/0q2bCwB///0Ha9asvm+9NWu2YG1t3Wh/ZOQRiotvERAwSrmvNe3q3LmzTJkyXeVcHh79lUsRcnKyKSgooG9fd+VxfX19unVz4dy5RHx8RnDu3Fn09Q2UM+8Affq4I5VKSUo6x+DBQ5+KNv6oURvgap462rRpR1ZWJrm52bi4uAktpxH29vbcuHGNy5cvis4AV3Tk3dm3L4yzZ0/j5tYTTc3mf5yeNBoacry8vNm9ewcJCfF07eqKsbGJ0LKU6Orq4eMTwK5dwZw7l4CNjR12dp1arviEMDExx99/NDt3biU1NYWYmBN4eAwUWpYSc3MLRo4cy65dwWRmprN793YCAsY3cnkVirZt2zNy5Bh27w6hoKCAnTuDGTVqArq6ukJLA8DJyRVjYzPCw3dSUHCDrVvXM2JEoDI4pZBIJBJcXNywsLAiPHwHpaWlhIRsYcgQX+XSHCHR0NDA09MbBwcnDhzYw61bN9m5cytduzrj6emt0vF79IhjEOxhmDPnZXr16oO2tjYxMSdZvnwJZWVlTJw4pdk6jo5deOGF/2PJksUMGzacvLxcli79tlXXMze3YOLEqfz6689Nurrv27eHyspKPvjgU3R0dABYsOAt3nlnAf/3f/OUnXEDA0Nef/1tZDIZtrZ29O/vyalTMYwePY68vDx2795FcHAo5uYWAEybNoPo6Ch2797FSy+92qw+Y2Nj2rVr3+LncHV1Y8aMWQDY2NiSmJjApk3rlQb4u+9+QHl588FaG74TCwsLaNNGdSDLxMRUeawp46SgoABTU1OVffX3pqCgoEX9D0JlZSXR0VE899yLKvtnz36Bvn0Vn/eDDz5m3LgAjhw5xLBhvpibm7N69f0DjjVnGNfW1vLDD8twdXXD3t5Bud/X1w9r6zaYm1uQmprCL7+sIDMzgy+++LrJ8yQmJnDgQARff/19k8fz828QHX2Cjz5afF+dDamoqCAiYg/PPPNsq+vcy88//8DevbtZseJX7O3v9i/Gjg1qMSaBubl5k/tDQ0Nwd++HpeXdSavWtKvCwgLlvoZlCgsLlOUU+8zuW8bERLUfp6GhgYGBoUoZMbfxx4E4ej1q1DwA9Z3N3NwsgZU0jZOTCzExJyksLOTmzSJRGZAAnTo5cvKkISUlxZw5cwp3d/EYaKAIKmZj05HMzCscPXqAwMDxSKXiWS3ToYMtbm69SEiI58CBvUycOA1DQ2OhZSlp27Y9Q4b4cvDgXk6dikZPTxcXl4cfiX/UtGnTjhEjRhEeHkJWVhb79oUxYsQo0Tzjtm07MHp0EGFhIRQU5LNjxyYCA8djaGgktDRAEbAwKGgqu3fvoLCwgJCQLXh6DsHFpYfQ0gCwsrJm0qRn2Ls3lNzcHA4c2ENubg6enkNEMdBibd2WSZNmcPz4Ec6fP8uFC0nk5GQxYsRopTH2KJFIJPi9vojqyop//gZzMwPyC0pozlO8MCu9yRnvEa8vwrS9XYvX1NDUemSz37NmzVH+v3NnJ8rLy9mwYQ0TJ05pNIvZcMZyypRnOHbsMMHBm/nmmx8wMjJWlvP1vbtOePhwf9566z2Va06f/iwhIdsIC9vZyODIyLiCg4Oj0vgGcHXtQW1tLZmZGcoOeMeO9shkMmUZMzNzpQt0WtplampqmDp1vMq5KysrMTK6//c8KGgyQUGT71sGwMXFVeVvZ+fubNlyN+CXhYVls8//aePUqVhMTExUjEVQfOZ6DA2NsLGxVQZq1NDQoH37Dg91veXLl5CWlsrPP/+usn/MmLvPs1MnB8zMzJk////Izs5qNGiSlnaZhQvfYPbsF5SDIvcSHh6Kvr4+gwYNabW2o0cPcefObfz9A1v/gRqwceM6ysrK+P33vxtpNjQ0eqjfoevXrxETc5JPP/3yoTSpeTwI/2uoRs0DYmlphUQiobS0VJQGrp6eAR062JKZmc6lSxdwdx8gtCQVpFIprq5unDhxjKSks/Tu7YFMJq5XwcCBg8nKyiArK5OUlAt06eIstCQV+vXzJCsrk4KCfCIiwhg3bopKZ09onJycuX49l3PnzhIZeQRTUwvatm151uZJYWvbER8fP/bv38OVK6kcOhSBt/cI0bjLW1q2Ydy4yezcuZWbN4vYtm0j/v6jsLIS3p0aFB2x8eOnEB4eQnZ2FkePHqSkpIR+/TxFcQ91dfUZO3YycXEniY2N4vz5s+TlZePj44+5uaXQ8pDL5QwZ4kO7du04evQgt27dYuvW9Xh4DMDNrfcjHwySSCTItbT/+T/ItbWRa1U1a4BpaGqhLFxXp/xXQ1NLeR6h6NbNhT///J3KyspGs5gNZ6mKigq5ejUTmUxGVlYmcPd3sGEdPb3GSzwMDAyYMWMWq1f/9tBBve4d7JFIJMrsGmVld5DJZKxatQapVPW93dCwf5w8iAu6qakZRUWFKsfr/27oftsQMzMzlWjXcHe20sys6ToPy/HjR/H0fLDlYg/rgr58+RJOnIjkxx9/VZnNbYp61+2srKsqxuyVK2nMn/8Ko0aNUxlgakhdXR1hYTsZMSLggbxjQkNDGDDAq9nn0hLdu/cgKiqSgwf3Kz0o6nlYF/Tdu3dhaGiEp6fqEoHWtKvmyjQ8rthXoDL7XlRUiIND5wbnUA0MW11dTUlJcYvXaXiNe3mSbfxxIK5etxo1rUBTUwtjYxOKigrJzc0SnQEOisA/9QZ43779RdEpboiLSw/OnInnzp3bXLx4QRllWSyYmJji7OxCYuJZTp6MxN7eEblcU2hZSmQyDYYN8yM4eAPXr1/j9OlYZV5kseDp6c2tWze5ejWTvXt3ERQ0TTSzuAAODk5IpTL27g3l4sXzyGQyBg0aJpqZcEUasCns2hVMUVEhO3cGM2JEIDY2HYWWBijeg4GBQZw4cZjExAROn46lqKgAHx9/NDWFj9wskUjo27c/VlZt2L8/nMLCAoKDNzB48DCcnFyElgeAo2NX2rbtwJEjB0hPTyUq6hhXrqTi7T0cY2PTlk/wmNDWN0Tb0Ag9YzMcBwwl5cQhbt8sQFu/+bWqT4qUlIsYGBiiqal4Hzc3i/nll59ib+9AYOAYlixZTJ8+HtjZdbxvnYYEBU1m69ZNjdJE2dp2ZPfuUMrKypTGcmLiGaRSKTY2tq36DI6OXaipqaGoqOg/Wqd7P5KSEhv9bWtrp/z7QVzQXVy68+uvP1NdXa3cHxsbjY2NbbNu2s7Orvz99x8UFRUqXXljY6PR09PDzs7+YT9WI+rq6jh+/Bgffvhpo2NJSYlKY7C4uJirVzOxtVW0gQd1Qa+rq+Pbb5dy9OhhVqxYSdu2LS+7qc9nb2Z21zBMS0tl/vz/w99/5H2XGpw+fYqsrKsPFEgtJyeb+Pg4vvpqeavr3Eu3bs4EBU3ijTdeQyaTMW3aDOWxh3FBVwwk7MLPb2SjQanWtCsXl+7ExcUyadI0Zb3Y2Gilh0fbtu0wMzMjLi4WR8cugGJd/fnz5xg7Nkh5jtLSEpKTL+DkpEg3Gx8fR21tLc7OLq3Wci9Pqo0/LsTR01Gj5gGpD5xz48Z1gZU0jb29AxoaGhQX3xJdyipQrLXu0aM3AKdPx4oq73Y9Hh5eGBgYcvv2bWJjo4SW0whzc0u8vBSRYWNjo8jLyxFYkSpSqRQ/vzFYWFhSVlZGWNgOlbQgYsDe3hEfH38Azp9P5PDhvaJqi/r6BowdOxFzcwuqqqoID9/5H0XyfdTIZDK8vIbh4+OPTCYjPT2NrVvXUVgongwRNjZ2TJgwFUtLS2pqajh4MIKDB/eKJkqtnp4+/v6jGTLEFw0NOXl5OWzevJbExNOCpVPTMzEj6JMVBLy1mM6ePgS8tZigT1agZ/JkZ3UiI4+ya9cO0tIuk5V1le3bt7JmzWomTLi/C3Zw8GbOnUvk/fc/Zvhwf7y8hvDppx880DPX0tLiuedeZOvWTSr7hw/3R1NTk88/X0Ra2mXi4+P49tuvGTEioNWzjjY2tgwf7s/ixYs4cuQgOTnZnD9/jjVrVnPixP1TvgUHb2L+/P9r8RqJiQmsW/cXmZkZBAdv5vDhA0ycOFV53MLCkvbtOzS7NQz65evrh1wu58svPyUtLZUDByLYsmUDkyffDY515Mghpk0LUv7t7t4PO7uOfPbZR6SkXCI6OorffvuF8eMnKQdPWsOdO3dISbmoNGZzc7NJSblIXl4eoMjKUF5eTvfuPRrV/fPP34iLiyEt7TJffPExRkbGSnfuehf0+20NB4yXLVtCREQ4ixYtRldXl4KCfAoK8pUpLbOzs/jzz99JTr5Abm4OkZFHWLx4ET169MLBwRFQuJ2/9trLuLt7MHnydOU57p2dBQgLC6FbNxeVNeb1NNcGwsJ2YmZmTr9+/5nXo6urG19//T2rV//G5s0NPUyMWrxn9xrZp07FkpubzahRYxtdpzXtauLEKURHn2DDhrVkZKSzatVKkpPPExSkyIsukUiYOHEqf/21isjII6SmXmbx4kWYmVkoYzjY2XXEw2MAS5cu5vz5c5w9e4bly5cybNhw5bIfIdu4UKgNcDVPJW3bKkbQc3LEuQ5cLtdUjvJfuHBOYDVN4+zcHS0tbW7dusnFi+eFltMITU0tZe7thIR4CgpuCKyoMV27uuLo6ERdXR379u0WXWo3uVyOv/8Y9PT0KCoqIDx8h2hySNfj6OikfM7JyReIijoqijzS9ejo6DFu3GTs7Oypqalh795dnD+f2HLFJ0jnzl0ZO3YSOjq63Lx5k23bNnL1aobQspQYGhozbtxUpZdIcnISW7eu4/r1PIGVKZBIJHTr5sqECVMxNzenurqaY8cOERa2ndLSEkE0yeRypeeURCJB9liDxDWNhoYG27Zt5qWXnmP27GmEhGxj7tzXmT37hWbrZGSk8/PP3/PGG+9gZaWY/XzjjXe5efMmv/32ywNd398/sNFMp7a2NsuX/0hxcTFz5jzLBx+8Q+/e7rz++tsPdO733luEn99IfvzxO6ZNC2Lhwje5cOG8UnNz3Lx5k+zslvsdU6Y8Q3LyBZ57bjp//72KuXNfx8Pj4YKy6uvrs3z5j+Tm5jBnzgx+/PE7Zs2ao7Lm+fbtUjIz737nZTIZS5d+h1Qq5eWXZ/PZZx/i5zeS559/SVlGEZuhz33TryUnn2f27OnMnq0whFas+JbZs6ezatW/ATh27Aj9+w9sMr7Dyy/P4/vvv+H552dQUFDAkiXfPnSwwx07tlJaWsq8eS8xZoyfcjtwYB+gaKtxcTEsWDCX6dMn8OOP3zFkiDdLltydjT506AA3bxaxd2+4yjleeGGmyrVKS0s5fPhgs7PfTbWB2tpawsND8fcPbHI5Wn1qttzc1g3Uu7n14Ouvv+O3335h69aNrarTFKGhIbi6dlfxvqinNe3K1dWNRYs+Z+fObcyaNZXDhw/w5ZffqAxMTJ/+LBMmTGbp0i944YWZ3LlTxrJlP6ikK1y06DNsbOyYP/8V3nprPt27u/H22+8/kJaHaeNiRlInpp7OI+DGDWF+LB8EiQTMzQ3Iz28+CIua+1NWVsbq1Yof81mzXhZNlOKGXLmSQnj4LjQ1NZk162XlD5SYnn9s7AliY09iYGDAtGnPiWodcz179ihmHS0sLAkKmiYaF+V6Kisr2LRpDSUlxdjY2BIQMO6+GoV4/tev57F9+yZqamro0qUr3t5+olsWER8fzcmTxwHo3dsDd/cBotJYW1vL4cP7SE5WrDnr2bM3Hh5eD9weH+fzLy6+SVjYDoqKCpFKpXh6DhVdpojs7Ez27Qvnzp3byGQy+vUbSPfuvUXzrGtqajhzJo64uJPU1NSgqalFv34D6dat+yN594jp/d+QuXNfxNGxC/PnvyG0FFHx+ecfU1pawpdfLmt1nQkTRjFp0lQVt916xPT84+PjeO+9t9i8OeS+qbjux7PPTmHmzOcZNuyua3R8fByvvfYy4eGHMDAQPk2iGAgL28maNatZt24L1tYmonj+ah4PFhata/Pi6smqUdNKdHR0lGs+0tPF4xLaEFvbTujrG1BZWUl6eqrQcprE1bUXmpqalJSUcPFiUssVBGDgwMHIZDJu3LhOYuIpoeU0QlNTC2/v4UgkEjIzMzh7Nl5oSY2wtLRm8GBFTt2LFy9w5kzzMx5C0auXBwMHDgHg1KlooqOPi8odXSqVMnTocHr27AMo1ggeObJPVLP1hobGTJgwHUdHJ2prazl69ACHDkVQXS0Od2+Adu1smDjxGayt21BTU8Px40fZvz+cyspKoaUBilmV3r09mDjxGSwtramsrODo0YPs3LlFsNnwJ8X27Vvw9fUiNVWcv6lPkoSE0/j6ehERES60lMdGVNRxZs6c/dDGd1VVFYMHe9O/v7gCzYqRqKjjvPjiq6LIBKFGHKgNcDVPLVZWigiY2dniW2MNig57ff7b+lkzsaGtrY2bWy8ATp+OE5XBU4+BgRE9eyrWq8fFxVJWJi43b1AYFb179wXg5MnjonGtbYiTkzMDByqioEZFHePSpQsCK2qMm1svpREeHx9DZORBUbVJiURC//6DlK6kFy4kERERRk1NtcDK7iKXy/Hx8adfP09AsQRm69b13LrVeJ2jUOjp6TF27GT69u2HRCIhJSWZzZvXkJeXK7Q0JaamZowfP4XevfsilUrJyclm06a/SU4+L6pBl0fFokWLWbt2C6tXr291MLP/ZpycurJ69XrWrdvKm28uFFrOY+HVV+czbdrMlgs2g1wu57nnXkRXt3EkezWqLF68BG9vH6FlqBERagNczVNLhw52ANy4Ib61wfXUG+BXr2ZQXHxTWDHN0KNHH7S1dbh166YojTKAXr36YWZmTkVFOVFRR4WW0yR9+w6kY8dO1NbWsHdvKOXl5UJLaoSbW2/c3BSDGQcP7hWl94ibWy88PBQzKufOneXkyWOiM3h69+6Pj08AUqmU1NRL7NwZzJ07d4SWpUQikdCrlzv+/qORy+X/RCDfSHb2VaGlKZFKpfTtO4CxYyehr29AcfEttm/fyIkTR0QTp0AqleLh4cX48VOwsLCioqKCgwf3sHv3DoqLbwkt75HSMCjYw67T/W9CS0tbeT8aRtFuDVu37mrS/fx/hV69+hAZGad2P1ej5j6oDXA1Ty0dOijSWdy8WcTt26UCq2kaY2MTzM0tqKur4/z5s0LLaRK5XFPpVlu/7lFsaGhoMGiQYvQ4OTnpn7yy4kIikeDtPQJDQyNKSorZty9UVLO39QwYMOifgYJaIiJ2c/26eGYd6+ndu59ylvnMmVOcPBkpOiO8c2cnRo4ch6amJrm52QQHiyv6OEDHjg5MmDAVU1MzysvL2LlzKwkJp0R1L9u0acfkyTOws7Onrq6OM2dOsXPnVkpKioWWpsTS0pqgoKl4eHgilUrJyLjCpk1/k5SUIKp7qUaNGjVqng7UBriapxZtbW0sLOrd0MUzs3MvXbo4AZCaelm0nTUXlx5oaWlRXHyLpKQzQstpkjZt2tKtW3cADh7cQ1WVONaMNkRLS5vhw0cilUq5ejWT2NjjQktqhEQiwccnAAsLS6qrqwkP3yXKta29e/dXpnk7fTqWEyeOim5Ao0MHW8aMUUQfLykpYceOzVy7Jq4BDRMTc4KCpimj9R8/foTw8B1UVoonJZ2WljZ+fqPx8hqCXC4nNzebTZvWKFMfiQGpVErv3u5MmDANExNTqqqqOHLkALt3h1BSIr7vjxo1atSoES9qA1zNU019ipLMzCsCK2keJydXNDQ0uHXrpijXBoNiLZeLi8K4PXMmXpSz4AD9+g1ER0eH0tJSoqKOCS2nSSwtrZUu1PHxcaJMlSeXyxk1ajwmJqbcvl1KaOg20eUIB3B17YmXV30qulMcPbpPdEa4Ijr/lH9mmcvZsWMzqakpQstSoX5duKfnECQSCenpV/5ZF35TaGlKpFIprq69mDRpBlZWbaisrGDfvjDCw3eIKr2fubklEyc+Q+/e7v/MhqexceNfJCScEl3bVKNGjRo14kRtgKt5qqnP2SlGI6ceLS1t7O0dAUXQJrHSs6f7P8ZtiWjXgmtr6+DpOQSApKSzXL9+TVhBzeDm1gdHxy7U1dURERHGnTu3hZbUCG1tXQIDx6Orq0dhYQG7d28XVbTselxde9C/vyKg2PnzSRw7dkh0niSGhsYEBU3F1rajMld4XFyUqAwyiURC9+69CAgYg5aWFjdvFrF16zoyMtKElqaCkZExY8dOondvD0DClStpbN68lry81uXPfRJoaGjg4eGpHCyoqqrk+PEjbN26joIC8cYkUaNGjRo14kBtgKt5qmnf3g6JREJpaamo1gzei5OTMwApKRdEOdMIinRaPXsqInmfOhUt2llwR8euODgojNtDhyJEqVMqlTJkiC8mJqbcuXObffvCRKnTwMCQwMBxaGhokJubw549O0Wps2dPdwYM8AIgKSmBQ4ciRGXcgiKWgr//GJydFZ4kMTFRHDq0R3Q6bW3tmTRpJlZWbaioqCAsbAfHjx8W1XOXyWR4eAwkMHAsenp6lJaWsH37JmJjxTWoUR8pvX9/TzQ0NMjPv8GWLetFG0tDjRo1atSIA7UBruapRltbG0vL+nXg4p0Fb9euA/r6+lRVVXHhQqLQcprF2dkNHR1diotvkZh4Wmg5zeLpORQtLW0KCm5w6tRJoeU0iVyuyYgRo9DQ0CA7O4sTJw4LLalJzM0t8fHxU+YxF+MMM0CPHn0ZNkyhMzk5iYiIUKqrxZP+CxQDL15e3vTp4w7AxYvJhIfvFF28AgMDA8aOnYiLixsACQnxbNu2QXRrmW1sOjJlyizl+vXY2CiCg9eLapZZIpHQs6c7kybNoEMHW2pra4iJOcGWLetEHZvkXubOfRFPzz54evYR1dp7ocjNzVHej1mz/ncjmqt5csyd+yLff79MaBlqnhBqA1zNU0/bth0AyMkRb2dHIpHQubMiGNulS8kCq2keuVyujIh+6lQ0lZXiS6UFoKurq8xpHR8fS37+dYEVNY2pqRkDBgwCIDExgbS0SwIrahp7+84MG+YHwPnzZ4mOFl/wOFCk9Rs+PBCpVEpa2mXCwoKpqhKX27xUKsXd3RNfX39kMhkZGWls375ZdB46MpkGgwYNY8gQHzQ0NLhx4zpbt64jO1tcGQa0tLTw9Q3Ax8cfuVzzH53rOXv2tKgGioyNTQgMHI+vbwDa2joUFuYTErKFQ4f2iK6NNseoUeMICdlDx46dVPbv3r2LZ5+dgrf3AAIDfVm2bMkjv3Z8fByenn145plJjbwH/PyGsHv3rkd+zfthaWlFSMgepkx55oletzny8vJ46635DBs2kMBAX3766fsWByCLi2/xyScfMHz4YPz8hvDll58+cLrEtLRU3n//LSZMGIWnZx82b17fbNkvvviEX3/9+YHO31p27tzOK6/Mwc9vKH5+Q5k//xXOnz+nUubzzz9WDprUbwsWzFMez83N4csvP2XixNF4ew9k0qQxrFq1UuX7uWrVykbn8PTsg4+PZ7Padu/e1WQdT88+FBUVPvqb0UoKCvL57LMPGT16BD4+njz33HQOHz6gUqY1beTy5RReeWUO3t4DGD9+JOvW/dXoWgcP7mfatCC8vQcwc+ZkoqIiVY7X1dXx++//ZsyYEXh7D2T+/Fe4elX1t+Zh2mtFRQXLli0hIGAYvr5evP/+WxQWFjzIbRIMQQ3w9evXM2rUKHr16kWvXr2YPHkyR44cUR6vqKjgk08+wcPDg549ezJv3jzy88WV5kWN8LRrpzDAs7IyRdUhuxcXl55IpVJu3LjOtWviXLsMiojoenp6VFRUcOZMvNBymqVz5660adOW2tpajhw5INpn7+LSg27dXAA4cGCvaH8cOnfuypAhilRv8fExxMVFCayoaTp1csTHxw+pVEp2dja7d+8QpYHj6NiVMWMmoqOjQ37+dbZsWUt2dobQshrRrVt3xo+fgqmpOWVld9i5M5i4uJOicvUGRfucOHEalpZW1NTUEBl5iF27tolq1l4ikeDo6MTUqbPo2NEegAsXzrNx418PFSi0Nu8OlZsvU5v3ZHLMa2trY2ZmjoaGhnLfxo1r+fXXn5k+fRZr1mzmu+9+xsOj32PTkJOTzZ49YY/t/K1FJpNhZmaOjo6O0FKoqanh7bfnU1VVxb///Qfvv/8x4eG7WLVq5X3rffLJh1y5ksa33/7EkiXfkZBwmqVLP3+ga1dUlNO2bXtefnkuZmZm99V44sQxPD0HPdD5W8vp06fw8RnBihX/ZuXK1VhZWbFgwVxu3FAdfPfwGEBIyB7l9vHHdz9vRkY6dXV1vPXWe6xZs4nXXlvAjh3BrFz5k7LM1KkzVOqHhOzBzs6eoUN9mtU2bJhvozru7v3p0aMXJiamj/5mtJLFixeRmZnBV18t46+/NjJo0FA++mihyiRQS23k9u1SFiyYi7V1G37/fQ2vvPIaf/zxKyEh25RlEhMT+OST9wkMHMMff6zDy2sICxe+SVraZWWZdev+YuvWjbz55kJ+/fVPdHS0WbBgnsqSzIdprytWLOf48aN89tlXrFjxK/n5+bz//luP4vY9dgQ1wK2trXnzzTfZtm0bwcHB9OvXj1dffZWUFEUE2S+++IJDhw7x3XffsWbNGq5fv87cuXOFlKxGhFhbt0UikVJaWiK6PLwN0dc3wM5OMbNw6tQpgdU0j4aGBv36KUZ7ExLiKSsTTwTihkilUoYOHY5cLufatVxRu8x7eQ2jXbsOVFVVsXt3COXl4vQs6NatOx4eAwHFGuazZ8XZTh0cnPD3H42Ghpzs7Kvs2hUsytgK1tZtCQqahrGxCeXl5ezatZ3k5PNCy2qEubklQUFTcXJypq6ujpiYE+zYsYnbt0uFlqaCsbEp48dPxdNzCBoaGmRlZbBp018kJsaLasBAR0cHf/+xjBgRiL6+ASUlxYSGbmfPnp0UF99s9XlqzxdSd7WU2vPCzKIVFxfz22+/8MEHnzB8uB/t2rXHwcERT8/Bzdapq6tj/vxXWLBgrnJQtLj4FuPGBfD77/9u8ZoTJkxi1aqVVFY2v2wjLy+Pd99dgK+vF8OHD+bDD99VGdhctWols2ZNY8+eMCZMGMWIEYNZtGihSjDM2tpa1qxZrZwNffbZqRw6tL81t6VF5s59keXLl7B8+RJGjBjMyJHD+O23Xx56kDgm5iTp6Vf46KPPcHTsQv/+A5kz52W2bdvc7OBjevoVoqNP8O67H+Ds7IKbWw/+9a+3OHAggvz81i/h6NrVmVdfnY+Pzwjkcs1my507dxaZTIOuXZ2V7vv79+/l5Zefw9t7ADNmTOL06Yf/PVm0aDHjx0/E0bELtrZ2vPPOB9TW1hEXF6NSTlNTjpmZuXIzNDRUHuvXbwDvvbcId/d+tGvXHk/PwUyd+gxHjhxSltHV1VWpX1hYSHp6GoGBY5rVpqWlrVJHKpURHx973zqt4cSJSEaMGExERPhD1T937ixBQZPp1s2Fdu3aM2vWHPT1Dbh4UWGAt6aNREQoPHgWLvwIe/tO+PiMYMKEKWzatE55nS1bNuLh0Z9p02ZiZ9eRF174Pzp3diI4eDOgeCds2bKBmTOfx8trCA4OjnzwwacUFNzg2LHDrdZyL6WlpYSGhjBv3uv07t0XJ6euvPfeIhITz3LunHiXetYjqAHu7e3N4MGDsbOzo2PHjrz++uvo6upy5swZSkpKCA4O5t1336V///64uLjwxRdfcPr0ac6cOSOkbDUiQ1NTEwsLc0Dc6cgAunVzBSAxMVFUeXjvpXPnbpibW1BVVUl8fEzLFQTC2NiU/v0VI+4nT0Zy82aRwIqaRiaTMXz4SAwMDLl16ybr1q0TbZCmnj37Kmfsjx8/SlqauFJq1WNra8/o0UFoamqRl5fzj8EontnQegwNjRg/firt27entraWAwf2sH//ftF5bMjlcry9RzB4sA8ymYy8vFy2bl1Hbq54oo+DYuCte3dFujJLS2sqKys5duwwYWHbHti99nHTqVNnpk59FrfuvZAjIzM1jS3r13Ls4FFqKqqpq6pptNUWlFGTXarYkhXvs5rkIuW+2oKyJuupbI+obcXGRlNXV8eNG9eZPn0C48YF8OGH73LtWvPpNCUSCR988DEXLpxny5aNAHz99ZeYm1swa9acFq85adI0ampq2Lp1U5PHa2trWbhwAcXFxaxY8SvffvsTOTnZfPTRQpVy2dlZHDt2mKVLv2Xp0u84cyaeNWv+VB5fs2Y1e/aE8eabC1mzZhOTJ0/js88+atFIrHc3bonw8DBkMg1+++0v5s9/k02b1rFr1w7l8aVLv8DX1+u+Wz1JSYnY2ztganp3BtrdvT+3b9/mypXUJq9/7txZ9PUNcHLqptzXp48idV5S0rkm6/wnREYeZeBALyQSiXLfzz//wJQp0/njj3W4uHTnnXcWqKQ+bOnzf/31F81er6KinOrqagwNjVT2nz59isBAX6ZOHc8333zZYqrF0tJSFSP9XkJDd9Chgw1ubj3vfwMasGdPGNra2gwdOqzVde4lImIPH3/8Ph99tJjhw/3/2Rfe4j1LSLg7EeHi0p2DB/dRXHyL2tpa9u/fS2VlBT179gZa10bOnTtLjx49kcvlyjIeHv3JzMyguLhYWaY+7knDMvVGcE5ONgUFBfTte7eMvr4+3bq5KMs8THu9ePEC1dXV9Onjodxna2uHlZU1SUlnW3urBUOj5SJPhpqaGvbs2cOdO3fo2bMn586do6qqigEDBijLdOrUibZt23LmzBl69OjR7LkafP9FSb0+set8mrCz68T169fJy8sV9X21sbFFT0+f27dLSU5Oonv3XkJLahKJREK/fp6Ehm4nMfE0Li7dMTY2EVpWk7i4dOfKlctcvZpBRMQuJkyYjkwmE1pWI3R1dRkxYiTbt28mKyuLEyeOKHNciwmZTMrgwT7U1NRy8eJ5IiJ2M2rUONq3txFaWiPatGnL2LET2blzKwUF+WzbtpExYyZiZGQstDQVdHS0GT16IidPHic+Pobjx4+TlZWNj08A2traQstTwcWlOxYW5kREhFNcfIuQkM14eAygZ8++Kp1roTExMWH8+MnExBzn9OlTXL2ayaZNfzFkiI8y7aMYkMvl9L3ajj5lxnd3RkBVxAMYQWU1VG+83HK5f5C000NzisMDPa+m+iW5udnKmeJ//etN9PT0+e23X3j99Vf5+++NKp3yhlhaWvL22+/x2WeLKCws4OTJ46xevQ65vPkuZ/11tbW1ee65F1i58mfGjBmHvr6+SplTp2JIS0tly5YQZRrSDz/8hGeemURychJduzojkUBdXS3vv/8xenp6AIwYEcCpU7FIJFBZWcmaNav5/vufcXFRZC1o3749Z8+eYefObfTq1bvZ+6Kvr4+Nje19+xkSCVhZWTF//gIkEgm2tnakpV1m8+b1jB07DoAXXniZadNmNH+SBtcsLCzA1NRU5Zr17uCFhQVNaiksLMDExETlmFyugYGBIUVFTddpLU3VjYw8wmuvLUAiuXs8KGii0gh98813iY6OIiwshOnTnwXgzz+bX08OoKen16zOX35Zgbm5OX37uivL9OvXn8GDh9K2bTuys7NYufIn3nzzNVauXN1knyAr6yrBwZuYO/dfTV6noqKCiIg9zJjx7APdr7CwEHx9/Zp8t9+v/1+/b9u2zfz6688sXbpcaSwDeHoOwtnZ5b7XtrCwUJ7ns8++4qOPFhIQMAyZTIa2tjZffPENHToolm22po0UFhbQtm1blTKmpgq3+qKiAoyMDJtsn6ampsq2WVRU8M8+s2bLPEx7LSwsQC6XY2hooLK/4XnFjOAG+MWLF5kyZQoVFRXo6ury008/4eDgwIULF/65saojU2ZmZty40bz7jKmpHjLZ0xFbzszMoOVCalpFjx6uxMREkZ19FRMTXVEaYPU4O3cjJiaGlJRkvL2bd+UTGjMzV06dOklubi4xMZFMmybeSLBjx47ml19+IT8/n4SEGIYPHy60pCYxNzegpMSHvXv3cvbsGTp3dsDZ2VloWU0yaVIQW7bUkpysiOQ9adIkOnXq1HLFJ4y5uQHGxjNZu3YtJSUlhIRs4ZlnnsHS0lJoaY0YNcofW9t27Ny5k4yMdIKD1zNt2jQsLCyElqaCuXkXHBzsCA0N5dy5c0RFRZKRkcaECRMwMRHXQNyoUSPp3bsnO3fu5Nq1a4SH76Jr164EBASoGG9CUVdXxw25jCcZB1+uIcPc3OCBDHC5XAMdHTnm5nf7JTo6cqqrq1m06CM8PRXLkrp3d2LgwIFcvpyEl5cXPXvenRkcNWoUn376KQCTJo0jOjqStWv/5OOPP6Znz7vvuZEjR5KTo/Cs6N27N7///jtGRroAmJnpM2vWM2zZsoFt2zawYIHCiDUw0Mbc3ID8/Fysra1xdr47yGJu7oahoSEFBXmYm/dDV1eL9u3bY2trrSxja9ueo0cPYW5uQEpKCuXl5bz+uuqSxqqqKrp27apyD3R1tdDQkCr3BQWNJihodIv3slevnlhY3O2/9u/vzsaN6zA2VnxOR0fb+56jIdracjQ1NVR0lZUpuu+Ghjoq++vR09NCJpM2OiaVStDT02qyTkvIZNIm66amplJQkM+IEd5oaWlRXq4Y9Bg4sJ9K2e7dXcnLy1buMzfvxsPw66+/cvDgPv7++2/atTNX7p8yZUKDUj3p27cHPj4+pKVdoH///irnuHbtGm+9NR9/f3+ee25mk9cJDT1CWdkdpk+f0ur7dfr0adLTr7Bs2Tf3rdNU/18u1+Do0YMUFhayfv16unfvrnLc3NxApU23xC+/fEd5+R3+/PNPTExM2L9/P4sWLWTdunV06dKlVW1EU1MDbW1NlTI3byqer4mJnvI9Y2Cg2g719LSQSiWYmxsov9umpnoqZTQ1NZBIFGUepr0aGGgr70tDNDRk6OhoPlQbf5IIboB37NiRHTt2UFJSwt69e3nnnXdYu3btQ5+vsPC26Ec9JBLFl6+goASReSE+tWho6KGtrUN5eRlJSZdo27a90JKapWtXV2JjY8nLy+PixSuYmZm3XEkg3N0HEBISzOXLl7l4MQ0zM3EZCneR06/fQCIjjxAdHYOtraNo76ujozPFxcVERUWxY8cOZDIdzM3FeV8HDx5OScltsrOvsmnTJkaNGkebNuL7bsnl+gQFTSUsbAeFhQX88ccfjBw5jjZt2gotrRHt2nVk6tSpbN26lZs3b/LHH6vx9x9N27bthJbWiEGDfLGwaMPRowfJyclh5cqV+PoGYGvbUWhpKmhqGjBu3GRiY08SHx/LhQsXuHIlnSFDhtGpU2eh5SGZ0BGtKsUadYkEtLQk7N69l8uXFem+tLS1GdDfCwfHLkiQUHu9jKomZrzlUxyQWrYiKJhcSkHBg63fr6qqpqysivz8u8s4dHQUHVhTU+sG++UYGRmTknKFrl17sHr13bWgenp6ynLl5eUkJJxFJpORnJyict4lS75VRvDW0tIiP7+EW7cUywcKCkqprJTw/PMv8/nnH+PvP5a6ujpKSsrJzy/h9u0KamvrVM4H/FOmjPz8Eu7cqQCkKmVu366gurqG/PwScnIUsWKWLv0WCwvVgTq5XK5S786dCqqraxtdr6V7WVGhei9LSsqoq6ujoKAES0tj3nlnIXv33n9t7/79xwDQ1TUkL++MyvlycrL/0avbpDZtbX0KCgpUjlVXV3Pr1i20tPQf6PPUU1NTy+3bFY3q7tq1mz593CkpqaSkpJKiIsVa+1u37qiUraysprz87n3x8fHifgwf7s/bb7+nsm/9+jX89dcqvvvuZ8zN2933c+joGGNsbExS0kUcHe/OHN+4cYN5817C2dmF+fPfbvYc69dvZMAAT0Cr1fdr7dr1ODp2xtratsk69+v/V1VV4+DQmYsXk1m3biNt2tipDKLt3Rt+X7d8gG+++YEePXqSlZXF2rVrWbNmE/b2ioHzKVOeJSoqmlWr/uTtt99rVRsxMDAiJydPpUxq6tV/Pos2+fklmJqakpGRrVLm6tVcTExMyc8vQSZTvLMuX85EKr37/srLu46jY2fy80seqr1qaupRVVXFlSs5GBjcNbavX7+Bjo7BQ7XxR0FrDX/BDXBNTU1sbRUjgS4uLiQmJvL333/j7+9PVVUVxcXFKrPgBQUFLc4WPC1GbV3d06NV/Eho27YdaWmXuXz5oiiNhHr09Y1wcnLiwoULJCYmMHjww68Tety0a2dLx46duHIllZMnTxAQ8J8FFXmcuLr24urVq2RkpHHgwB7Gj58qWk8IHx8fsrJyuHo1g7CwHUyYMA1dXT2hZTVCJtPA3380O3ZsJj//BmFhOxk7dqIoB2IMDIwYO3YSYWE7uHYtl5CQLQwbNgIHByehpTWiU6dOTJgwlT17wsjPv05IyBa8vIbSrVt3Ubl5g4SuXV0xN7ckIiKMW7duEhq6HTe33vTr5ymq75dUqoGHhyft2tlw6NBeSkpK2LMnFEdHJzw9hwoczVoCcpnyvwamBgzz88f+iiNHjx6ktLSUfYf3kpyazKBB3hhoaDV9Gg3p3fO0wIP2LerLN6xXnyc+IyMDCwsrQBFQ7datm1hZtaGu7m4WknvPs2LFt0ilUr755nvefHM+/ft70rt3XwCsrNo0qtPw+nV1MHSoD+vX/80ff/yqUs7W1o7r16+Rl5endEG/ciWNkpIS7OzsG52rqc9pZ9cRTU1N8vLy6NGjd5Nl7ndfWqKuDpKSklTqnDt3jg4dbJBKFc9vzpyXmTLl/i7o9fWdnV35++8/KCwsVEbVjomJRk9PD1tb+ya1OTt3p6SkhAsXLuDk1BWAU6fiqK2tpVs3l/+o73lv3WPHjjJ69LhG9+rcuUTc3BTL7Kqrq0lOvkBQ0CTl8dWrW3ZBb3itdev+4u+//2DZsh9xcurW4me4fv0at27dwszMXFn2xo3rzJv3Ml26OLFw4SIkEmmT58nJySY+Po6vvlre6nt1584dDhzYz8svv9pinab6/3V10LZte1599V/Mm/cSUqmUBQveUR739BykjM/SHBYWFtTVoQz0eu/nk0ql1NbWUVfXujbi7NydX3/9maqqamV2hNjYaGxsbDEwMFSWiYuLZdKku16SsbHRODu7UlcHbdq0w8zMjLi4WBwduwCKdRbdVAABAABJREFU6Ornz59j7NigVmu5l86du6KhoUFcXAxDhij60ZmZ6Vy7loezc3fR21ei89Wura2lsrISFxcX5HI5UVF3U+GkpaWRk5Nz3/Xfav53qZ/1zs4Wbz7wevr2VXRELl06T0WFOKOM1+Ph4YlEIiE9PZWcnCyh5TSLRCJhyBAftLS0uXHjumjTaIHiR3D48AD09Q0oLS1h9+4dLeZ0FQpNTS1Gj56AhYUVFRXl7Ny5VbSp1LS1dRg9egLt2nWgpqaGffvCSU5OElpWkxgZmTBu3GQ6deqsTKUXEREqypRqFhZWTJo0A1fXHgAkJJwiOHg9BQWtj6b8pGjf3oYpU57Fza0XEomElJRkNmz4kwsXEkUVKR3Azs6BqVNn06dPP2QyGVevZrBhw9/EnIsGXRkSKx00fNojsdIBXQ0kuk92zsTGxhYvr8F8//03JCYmkJZ2mcWLP8bGxo5evZoPRHbiRCRhYTv56KPF9O3bj2nTZvL55x8rgza1lpdfnkdY2E6VTBx9+nhgb9+JTz/9kIsXkzl//hyLFy+iR49eKgGc7oeurh5TpjzDihXLCQ8PJTs7i4sXk9m6dSPh4aH3rXvkyCGmTQtq8RrXruWxYsVyMjPT2bdvD8HBm5gwYYryuImJKe3bd7jvVo+7ez/s7Dry2WcfkZJyiejoKH777RfGj5+EpqYiMvn58+eYNi1ImZbLzq4jHh4DWLp0MefPn+Ps2TMsX76UYcOGP5DHVVVVFSkpF0lJuUhVVRU3btwgJeUiWVmKflZRUSHJyecZMKDxbPa2bVs4cuQQGRnpLF++hJKSEkaOvDuI39Lnb5jCa+3aP/n993+zcOFHtGnThoKCfAoK8pWBF+/cucNPP33PuXOJ5ObmEBcXw7vvvkG7dh1wd1e4nyuM75ewsrJm7tx/cfNmkfI89xIWthMzM3P69RvQ6FhzbeDgwQhqamoYPjyg1fe3KWxsbFmx4t8cOXKQ779fptyvq6vX4j3T0lK4Zdva2tG+fQe+/voLzp8/R3Z2Fhs2rCU2NppBgxRLH1vTRnx9/ZDL5Xz55aekpaVy4EAEW7ZsYPLk6UpdEydOITr6BBs2rCUjI51Vq1aSnHyeoKBJgKJvNnHiVP76axWRkUdITb3M4sWLMDOzwMtrSKu13LhxnWnTgpT53/X19QkMHMOKFd8SHx9HcvIFvvjiU1xcuuPi4vofPYMngaAz4MuWLWPQoEG0adOG27dvExoaSkxMDKtWrcLAwICgoCC++uorjIyM0NfXZ/HixfTs2VNtgKtpEju7TkRGHqawsJDy8jK0tYXP39kcdnZ2GBkZc+vWTc6dO0Pv3v1briQQpqZmdO3qwvnziRw9eoBJk2YglYpu7A4APT19vLy82b9/N/HxsXToYEvbth1arigA2to6jBgxkpCQrVy/fo1jxw4yZIivyGZAFWhr6zBqVBA7d24lP/86O3duYdSoIFHOhMvlckaOHEdExC7S069w8OBeKioqlDMxYkIulzN8+EhOnTInJuYEqakp3Lp1E3//sSoudWJALpfj5eVN+/Y2HDyoSA0THLyBgQMH4+zsJrQ8FeRyTQYOHIKDgxOHDu2lsLCAQ4f2kZKSzLBh/ujpCb82vB65XI67+wA6d+7KsWMHuXo1g/iLp7mko8cAj8F0cjBD2t0MauqQaDz59+4HH3zCDz8s5623/oVUKqVHj14sW/aDSq7whhQVFfHVV5/x3HMv0qWLwvvk+edfIibmJN988yWffvplq6/du3dfevfuS0zMSeU+iUTCl18u57vvljJ37gtIJFI8PPrz+usPlvv3hRf+D2NjE9asWU1OTjb6+gZ07uzEzJmz71vv9u1SMjMzWjy/n99IKioqeOGFZ5FKZUyYMIUxY8Y/kMZ6ZDIZS5d+xzfffMnLL89GR0cHP79Ann/+JWWZ8vJyMjMzVAZyFy36jOXLlzJ//itIpRIGD/bmX/9SvU+enn14771FBASMavLa+fk3mD37rrG1YcMaNmxYQ48evfjxx185fvwoXbs6Y2xs3Kjuyy/PZe3aP7l8+RLt2nVgyZLlTZZrDTt2BFNVVcUHH7yjsn/27Bd4/vmXkMmkpKamEB4eSmlpCebmFvTt248XXnhZOUgRGxtNVtZVsrKuMm6cqpEcGRmn/H9tbS3h4aH4+wc26eXTXBsIDd3J4MFDm3x35+bmMHHiaFas+DfDhw9t8fPa2Njx/ff/Vs6Ez5v3eot1GqKhocHXX3/Pv/+9gnfeWUBZ2R3atevA++9/TP/+nspyLbURfX19li//keXLlzBnzgyMjIyZNWuOSlt2dXVj0aLP+e23n/n1159o374DX375Dfb2Dsoy06c/S3l5OUuXfkFpaQmurj1YtuwHtLS0Wq2lurqazMwMlTSu8+YtQCKR8v77b1NVVYm7e3/eeEO1jYgVSZ2AuVDee+89Tp48yfXr1zEwMKBLly688MILDByoyENbUVHBV199RVhYGJWVlXh6erJo0aL7uqDfuCG+NDT3IpHwTzAR9RrwR83GjX9TWJiPr+9IpauL2Kh//nv2RBAdHYWhoRHTpz8nSsOrntu3S1i3bjXV1dV4eQ3B1VV8xkw9tbW17N69nczMDAwNjZg8eWaz0XqF4N7v/5Url9mzZxd1dXX07+9Fz559hZbYLGVlZezYsYmiokJ0dHQZN24SxsamLVcUgNraWo4fP6LMD+/q2pOBAwcLPnjU3Ps/NfUShw5FUFlZiY6ODsOHBzZy7xULt24VERERppxt69y5K15e3iqdKbFQU1PDyZNHOXv2DHV1dWhpaTFw4BC6dOkmyDv3fr//dXV1XLx4npMnjyln9tq3t8HTc6hKCqrHwdy5L+Lo2IX58994rNd52li1aiXHjh1pMWJ3Q+53L8XU/8vJyWbq1PGsXbuFDh0eLsvFO++8TvfuPZSRzeGusbl69TrR9sOeNPHxcbz33lts2RKCvX07UTx/NY8HC4vWDZ4L2hP54osvOHjw4D9RVqP4888/lcY3KIJzLFq0iJiYGM6cOcOPP/4oumixasRFhw6KeAJXr6YLK6QVuLj0QC6XU1x8S/Ru83p6BnTv3gOAU6diRekmW49UKsXb2w9dXT2Ki29x/PhhoSXdl44dHRg4UOESFhV1jJSUCwIrah4dHR0CA8djYGBAWdkddu3aRmmpOAc9pVIpnp5D6N9f4RqZmHiasLBtVFU9yXjUradTp85MmjQDMzMLysrK2LlzK6dOnRSd2zQo3OfHj59Knz4eSCQSLl26wObNa0T53pXJZAwcOJSgoCn/LKOo4ODBvezaFczNm4VCy1NBIpHg5OTMtGnP0bu3BzKZjKysTDZtWsPhw3spL3+8y5W2b9+Cr68XqamtT3n230peXh6+vl6sWbNaaCmPjaio44wePf6hjW+A7t174OMz4hGq+u8kKuo4M2fOvm/OcTX/Wwg6A/44UM+A/2+TmZlOaOg2dHX1mDnzBcFnu5qi4fM/fPgASUkJ2Ns74Od3/9QmQlNVVcXGjX9RUlJMnz79cHdvvDZKTGRnZxISshUAP7/RKu5QQtLU97+uro6jRw+QlKSIGjx6dJCoAwkWF99k585giotvYWRkzJgxE9HXF5fLdEMuXEjkyJED1NbWYmXVhoCAsYIF5Wrp/V9VVcXhwwp3aQA7O3t8fUeKyoujIbm5ORw4oMgZDuDi4srAgd6iCtBWT21tLQkJp4iJOUFNTQ0aGhr07dufHj36PLHZ8Af5/b916ybHjx8mPT0NUAyADRgwmM6duz5yvTduXKeiogIAKytr0ba3J0V1dTV5ebmAYplAfcC31vC0zIA/LtQz4M3zv/D8/9dp7Qy42gAXAPUX8PFRVVXJqlU/U1tby8SJ07CwaP2P5pOi4fMvKMhn48a/kUgkPPPM8xgYiHt09PLlS0REhKKhocG0abNFbXQBREUd5fTpOLS0tJg4cTqGhsZCS2r2+19TU0NIyGby8nLR1dVjwoRpor6/JSXF7NixmZKSYgwNjRg1ajxGRuLKEd2QjIxU9u3bQ2VlBUZGxgQGjsfIyPiJ62jN+7+uro64uCji4qKpq6vD3NwCP7/RGBoaPVmxraSyspJDh/aSmpoCgLm5JT4+/o/dbfphKSzMZ//+cPLzFUHkrKzaMGSIzxOJafAwv/+XLydz4sRRSksVqcWsrdvi5TVUGZlczdODuv/3v436+f/381S4oKtR86iRyzWVI9VXr2YKrKZlTE3NsbZuQ11dHWfOxAgtp0U6dXLE2rot1dXVHDt2QGg5LeLuPhATE1MqKirYvz8cMY83ymQy/P3HYmJiyp07t9m9O0S07tIABgaGypnv4uJb7NixmZs3i4SW1Sy2tp0YP34K+voG3Lp1k+DgDWRni/MdIZFI6Nt3AIGB49DR0SE//wZbtqzlyhVxugZramoyYsQohg0bgba2Nvn519myZS1nz8aL0oXe1NScCROmM3DgYORyTa5dy2XLlnVERh6isrJCaHmNcHBwYvr05/Dw8ERDQ4O8vBy2bFlHRMQuSksfLLK4GjVq1KgRHrUBrua/Dnv7zgBcvdpypFIxUJ/X8eLFZFGvrQaFYVCfluPKlTTRr12XyWT4+vojk8nIy8vl7NnTQku6Lzo6OowcWW90XWffvt3U1NQILatZDA2NGD16Anp6ety+fZtdu4KVrshixNTUjKCgqZibW1BeXkZo6HZRr7nv0MGOCROewdLSmoqKCsLDd3LkSIRo20SXLs5MnjyTDh1sqampITLyMCEhm0TZJqRSKW5uvZk69Vns7R2ora3l7NnTbNjwJxkZaULLa4RMpkHv3u5MnTobe3tHAC5fTmHDhr84fTqWmhpxpjFUo0aNGjWNURvgav7rsLOzByA3N1u5pk3MODp2Q19fn8rKSlEbA/W0bWuDvX0nAKKjj4t6VhnA3NxKJchZvdupWDE0NMLPbwwymYz09DQOH44Q5SxiPcbGJowdOxkjI2OlW7oYDa569PT0GT16Im3atKGmpob9+/dw7twZoWU1i4GBAePGTaZrV8VAXVLSOXbu3CLa4Hd6evoEBo5nwIBBSKVScnMVs8uXL18UWlqT6Osb4Oc3Gl9ff3R0dLh9+zZhYTvYty+MO3duCy2vEQYGBvj5jSIwcBxmZuZUVVURFXWMDRv+4vLli6J+V6hRo0aNGgVqA1zNfx1GRsYYG5tSW1tLRkaq0HJaRCaT4ebWG4CEhNOiN2gBPD29la6Q9cGixIyzsxt2dp2ora1h795dVFSUt1xJQNq0aYuX1xAALl68wJkzcfevIDD1gdiMjU0oLS1h+/aNFBbmCy2rWbS1tRk1aiJOTs7/BMA7SGTkIdHOLMtkMoYOHc7Qob7I5XJyc3PYsmWtaL18JBIJPXr0IShoKqamZlRUlBMREcbevaGiNGoBHB27MnXqbLp374lEIiEl5SLr1//JmTOxojRqbWw6MmnSDLy9RygzPkREhLFt23quX88TWp4aNWrUqLkPagNczX8l7dq1AxS5dZ8GunZ1QS7XpKiogMzMdKHltIi+vgG9erkDcOLEUSoqHm96nP8UiUSCt/dw9PT0uHXrJgcO7BFlp7oh3bq50bdvPwBOnozk0iVxe0fo6xswZsxEDA2NuH37NiEhWygsLBBaVrNoaGgwdOhw3N0VqS/Pnj3Nzp1bKCsTb1vu2tWViROfUaYq27UrmOPHxTtwYGFhxcSJz9CnTz+kUimpqZfYsOFPkpMThZbWJNra2nh6DiUoaBoWFpZUVlZw4sQxgoPXi7It16ctmz59Nm5uvZBKpVy/fp2tW9dz+PA+ZS5xNWrUqFEjLtQGuJr/Surd0HNyskVvaAFoamrRpUtXAE6dOimwmv9n77zDorjWBv7bpVdRUKyI9F4EQRBFUcSusZeo6e1qTExM/9LLjUlMcs3NTbMk9t5QEcWKSgfpRao0pSm97e73x8pGFAQUZNfwe559lJlzZt6Zc87MvOe8pX04Obmiq6tLdXUVly+f725x2kRdXYNx4yYiEAjIysogOTmhu0VqkxEjPHF0HA7A6dMn5DLP8p1oaWnfVsJ1Zbms5XklXCAQ4OrqzsSJU1FSUqKgIJ/9+3dw69bN7hatVfT0ejNnzkKsrKQm6VeuRHP48F5qauRT2VJSUsLNzZM5cxahp6d3Ow/3SU6ePNblea0flH79DJkzZzEjRoxESUmJoqIb7N69hcuXL8hlYEQVFVVGjRrLwoXLZOkWExPj2LZtI2FhwXIfW6SHHnro4Z9GjwLew2PJoEFDUVVVo66uTmHM8ezsHAEoLCyguPh6N0vTNsrKyowc6QVAUlIiJSXy7VsNUrNNFxfpyn1w8Bm5XNW6G09Pb0xNLRCLxRw/fpjCwrzuFum+6Ojo8sQTC+jTx4Dq6ioOHNgt92PQzMyS6dNno6GhcTtC+nby83O7W6xWUVZWwcdnIl5eY29PHOSxe/dWuQ6K2LevIfPnL8Xe3uG2iXcyO3f+JbeR3YVCISNGeLJo0fLb7itioqPD2b59E0lJcXI5saun14dJk2bwxBML6NvXkIaGeiIiwti2bQMpKYn3dW9aseIFvLxc8fJyJS1NPv31HyVRURGy+/Huu/fm8+6hh85m7tzp7N69vbvF6OER0aOA9/BYoqysjJGRMQBZWfIX0bYl+vQxkMkcHx/bvcK0EzMzK4yMhiKRSLhw4YxC+K+PGOHJ4MFDaWxsJDDQX+5XhwQCARMmTKJfP0MaGxs5duywXAc5A9DS0mHWrHm3o3fXcvDgHnJy5HscDhw4hPnzl9K3ryG1tbUcPrxXroOzATg4DGfOnMXo6fWhqqqSw4f3cunSObk1SVdWVmH06AnMnr1Ilm7v+PHDBAQcktsVfF1dPaZMmcmUKTPR0dGlqqqKM2dOcvjwHsrKSrtbvBYZMGAQc+cuZvTocWhoaFBdXU1QUAB79mwjN7f11HvTpz/BoUMBDBsmDbJ57NgRmRJ696+zr73pXKtXr2y2vaKiAi8vV6KiHm0cDHt7Rw4dCsDHx/eRnrc1rl5N45VXnsPHx5PZs6eybdufbdYpLCxkzZpVjB8/imnTfPnvf3+ksbFj0fJjYqJ4663XmTlzEl5erpw/f7bVsitXvsiRIwc7dPz2smXLJp57bhm+vmOYNs2Xd9994x53vTsnkZp+33zzpWx/WloqH330HrNnT8XHZxRLlsxl9+4dzY7xxRcft9jfn3xyfquybdjwa4t1Jkzw6tR70FFSUpJ57bVXmDRpLFOmjOfrr7+4xy2lPX0kKiqCZ55ZwrhxHixYMItjx47cc659+3Yzd+50fHw8ef755SQmxjfbX1dXx3fffc2UKePx9R3N+++vuWcB5EH6a3n5LT755AMmTvRm0qSxfPXVpwrjetOjgPfw2NJkhi6PKWVao8mvOiUlUWEeImPGTEBJSYn8/Fy5jXR8J00KraamJqWlJZw+HdDdIrWJkpIyU6c+gZ5e79vps/bLrfluE+rqGsyYMRdDw/40NjZw/PgRuZ8M09LSZtas+TKLg/PnT8t9FHoDg77Mm7dYFlAuJiaSffu2y/UkjaFhf+bNexInJ2nwyYyMdHbt+ovs7Mxulqx1jI1NWbhwOQ4OTgiFQvLz89i166/bZuldM4l340YhBw8+mAWJQCDA3t75dv5wT1RUVCkuvsHhw3s5cGAn16/n31NHXV0dfX0DlJWVARg/3pdDhwKa/dzcPHByGk7v3n0e+vruRklJicjIsEeubLeEiooK+voGqKmpdbcoVFVVsnr1Cvr3H8Aff2zhlVdeZePG3zh0aH+rdUQiEW+9tYqGhgZ++WUj77//McePH2HDhl87dO6amhrMzMxZvfrt+5YrL79FXNwVRo0a3aHjt5fo6Chmz57Hr79u4vvv/0tjYyOvv77inpgdTZNITb9XXnlVti8lJYnevfvwf//3KVu27GLZsmf49def2Ldvl6zMqlVvNqu/f/9RdHV7MW7c+FZlW7Ro6T3jxNjYhHHjJnT+jWgnxcVFvPbaKwwePITfftvMd9/9h6ysdL788mNZmfb0kfz8PN566zWcnV3ZtGk78+cv4uuvPyc09LKsTFBQID/99D1PP/08GzZsxczMgtWrVzabpFu/fh0XL57ns8/+zfr1v1FcXMz776/pkCwt8ckn/0dmZgbff/9fvv76B65ciWbt2i864Q52PT0KeA+PLUOGGCMQCCgpKebmzbLuFqddDBgwiH79+iMSiYiLk++c1U3o6vbCxcUdgIsXz1JbK98RxgE0NbUYN24iAOnpaXK/0gmgoaHJjBlz0dbW4ebNMo4dO0R9vfz5o96JqqoqM2bMZcCAgYhEIgICDst9YEQVFRUmTpyKg4MTAImJ8QQEHJHre62iooqPjx/e3tLsBMXFRezZs5WMjLTuFq1VlJWV8fT0Zvr0Oejo6FBdXc3RowcICgqQ28klFRUVvLx8WLhwOUZGw2Rm6du2bSQ5ufPN0pOTE8nLu0ZKSuIDH0NVVQ0Xl5E8+eQz2NtLI7xLYx3s4vTpE/dNZ6emJlXIm35CoRJRUeFMmzaz1Tp1dXU8+eR8vv7674/gvLxcfH3H4O9/6L6yamhoMGXKDP73v/X3LZeefpVXX30JH59RLa7sffHFx7z77hts376FmTP9mDJlPN9993Wz1bT6+np++ukHZs2azIQJXjz//PJOU/znzp3O5s1/8NFH7zFhghezZk1m377dD3y8wMAAGhoaePfdDzExMWXCBD/mzl3Irl3bWq0TFhZCVlYmH374Gebmlnh4jOK5515i//7dHZow8vAYxQsvvIK397j7lrt0KRgLCyv69NGXme9fuhTM8uUL8fHx5IUXniIj48HdTdatW8+UKdMxMTHF3NyC9977mOvXC0lJaR6ctGkSqemnpaUt2zdt2kxee+1NnJ1dGDRoMH5+U5gyZQbnzp2RldHW1m5WPzk5iYqKcqZOndGqbJqams3qlJaWkpWVcd9x0h6OHDnIpEljiYgI63DdixcvoKyszOrVb2NkZIy1tS1vvvkeZ8+eJjdX6qrUnj5y8OA+BgwYyMqVr2NsPIw5cxYwdqwPu3b9bSq/c+c2pk+fxdSpMxg2zIQ1a95FXV0df//DAFRWVuLvf4iVK1/HxWUEVlbWvPfeR8TFxRIfH9duWe4mKyuT0NBLvPPOB9ja2uHo6MRrr60hKChQ7tPNQo8C3sNjjIaGBgYGBgBkZMj3R38TAoEAZ2dXAOLiouU+XVYTTk6uso/okJBz3S1Ouxg61ESmZF26dF4hHtja2jpMm/YEampqFBbm4++/r8MmhY8aFRVVpk+fK1tVDgw8SlJSfNsVuxGBQICXlw/jxk28nY89/XZwNvmeyLO1dWLu3MX062dIXV0dAQFHOHv2lFwGDmtiyJChLFz4lCzYYEpKItu2bSIx8YrcWh7o6fVm6tRZTJ48E21tHaqrqzh9+iT+/vtbnOyVSCQ0NDTIfvX19c3+vvNXWlpCfn4eBQV5shSPqanJFBTkkZ+fR2lpSat1m34tuQJpaGgyevQ45s9/kiFDjJBIJCQnJ7B9+yZCQoLbda8DAo6irq5+39VANTU1PvroMwIC/Llw4SwikYhPP/0/Roxwb5dC8uyzL5CRcZUzZ061uL+mpobVq1ego6PDH3/8yWef/ZuIiDC+/35ts3JRURHk5+fyn//8KltNu9N09vvv15KQEMsnn3zJn3/uZNy4Cbz55qtcu9a6iT5IzY3nzp3e5nVs374FMzMLNm7cxpNPLuc///mO8PC/A6y+8car+PqObvV3p8lzfHwsTk7OqKioyLa5u3uQk5NNeXl5i+dPSIjDxMSMPn30Zdvc3DyoqqoiM7Pz07MGB59n9GjvZtt+/vlHVqx4jd9//ws9vd68/fZq2fuqsLDwvtfv6zuav/7a2Or5qqoqAdDV1W22/eTJ40ydOp6lS+fzyy8/tbkgUFVVec8x7sTf/xCurm707z/gvsdpXucgQ4YY4ejo3O46d7Nt25/88st61q37CVdXqWXkX39tbPOeFRZKrWUaGupRUVFBKPxbzWuy5oiNjQHa10cSEuJwdXVvJpubmwcJCbG3z9NAampyszJCoRBXVzdZmZSUJBobG5uVGTrUGEPD/rIyD9Jf4+Nj0dbWwcrKRrbN1dUNoVBIQoJ8f2MAKHe3AD300JUYG5tRVFREXl4ew4d3tzTtw9jYFG1tbSorK4mNjWLECM/uFqlNlJWV8fAYTWDgMZKSErGzG46BQd/uFqtNPD3HUlZWxrVr2QQEHGbevCWoqal3t1j3pU8fAyZNmoG//34KCws4ceIIkyfPbPailTeUlZXx9Z2CiooKyckJnDkTSFVVOa6u8t23ra3t6NNHn+PHD1NaWsLu3dsYN24CZmZW3S1aq/TpY8ATTywkLOwi0dERJCbGkpeXja/vFPr1a/9H5KNERUWFUaPGYmpqwenTJ7h5s4yzZ4PIzMzA23sC2to63S3iPQgEAoYNM2XQoMGEhV0kPj6W3Nwcdu78E0dHF4YPd0NNTQ2JRML+/TspLLzX5Lu91NbWsH//znaXHzBgIE88sRCBQHDPPn39vkyfPpfCwnwuXTpPYWE+UVFh3LhRSO/evRGJRCgpKbV43KNHDzFhwqQ2n5Hm5pY8//zLfP3154wfP5HCwgLWrv2+XbJLXSoW8dtvPzN69Nh79p88GUB9fT0ffPApGhoaAKxevYa3317Nyy+vlH3A6+jo8vrrb6GkpMTQocZ4eHgRGRnGjBlPUFhYyLFjR9i3z1/2nlq8eCmhoZc5duwIL774r1bl09PTY9CgwW1eh729I0uXPgWAkdFQ4uKusGvXdtzcpKkl33nnA2pr61qt3+QGAFBaWsKAAQOb7W9yASgtLWlRgSwpKaFPn+ZuAk33pqSkc4OP1tfXExp6mWeeeaHZ9qeffl6WSvODDz7miSemcO7cGcaP98XAwIBNm+4fcKw1xVgsFvOf/3yHvb2jLOo/gK/vJPr3H4CBQV/S09P43//Wk5OTzZdfftPiceLirhAUFMg33/zY4v7i4iJCQy/x4Yef31fOO6mrqyMwMIAnn1ze7jp38/PP/+HEiWOsX/8bJiamsu2zZs1pMyZB06LT8OEjWL/+e7Zv/4t58xZRU1PDL79ILUtKSopv/9t2H2m5TB+qqqqoq6uloqICkUjUYpns7CzZMVRUVNDR0bmnzP3Pc//+WlpaQu/evZttU1ZWRkdHVyEC7PYo4D081piaWhAefpm8vGvU19ehqtr9/lxtoaSkhKPjcC5ePE9SUgLDh7u3+kEkT5iZWZGamkxWVgbnzp1i9uyWPwDlCaFQiK/vFHbv3kp5+S0CA48ydeoTcq3MAgwaNARf38kEBh4jOzuTs2dPylKsyStCofC2jJCUlEBYWAgNDSJGjvSSa7kNDQcwb94Sjh8/yI0bNwgMPMbNm2W4uIyUW7mVlJTw8BjDgAGDCAoK4NatWxw4sIdRo7yxtXWQW7n79x/I/PlPEhoaTFzcFbKzM9mx4088PEbLrdyqqmp4eflgb+/MhQtnyMnJIjo6nKQk6cqRra0Tcig2/fsP5IknFpCZeZWLF88iFospLMxn584/cXPzxMzMstn9jo+PJSsrkw8++FS2rbCwkKVL58n+Xrr0aZYtewaAhQuf5MKFs+zbt5tvv/0PvXrpycr5+v7tJzxx4mTWrHmvmWxLlizn0KH9HD16+B6FIzs7EzMzc5nyDWBv74RYLCYnJ1v20T5smEmz96a+voHMBDoj4yoikYhFi2Y3O3Z9fT29evW6732bM2cBc+YsuG8ZADs7+2Z/29o6sGfP3wG/+vbthwLELG0XkZHh9O7du5myCNJrbkJXtxdGRkNlcR6UlZUZPHjIA51v3bqvychI5+ef/2i2febMv9vT1NQMfX0DVq16mby83HsmTTIyrvLuu2/w9NPPyyZF7ub4cX+0tbUZM2Zsu2U7f/4M1dVVTJ48rf0XdAc7d26jpqaGP/746x6ZdXV7oat7//7ZhImJKe+//wk//fQ9v/76X4RCIXPnLqRPH325fI7+E+lRwHt4rOnduw96er25ebOM7OxMzM3ld+XqTmxtnYiKiqCysoKrV1OwtLRpu5IcMHr0ePLyrnH9egEJCbGy1GryjLq6Bn5+0zhwYBfXrmUTFhbMyJFjulusNjExscDXV0BgoD/JyQmoqqrh6TlGricPBAIB3t6+qKmpERMTRXR0OLW1NXh7T5BruaXB2RZy5kwAaWmphIVdpri4CB+fSaiqqna3eK1ibGzK/PlLOX36BHl51zh/Pojs7AzGjvVt5hspTygrqzBq1Disre05c+Yk168XcP58EImJsfj4TMTAwLC7RWyRXr16M3XqE2RnZ3DhwmkqKioIDj5HSkoyXl5jMTDoB4BAAPr62pSUVLaqgBUX32hxxXv27IWy49wPZWXldn1kCwQCTEzMMTIaRlDQaZSVlbl16yYnTx4jMjIUFxc3TE0tEQqFHDlyEHNzC6ysrGX1717FvHPFsqyslGvXclBSUrodef1va5c762hpad0jl46ODkuXPsWmTb8/cFCvO1eQm661ycy+pqYaJSUlNmzYglDYfHL7TsW+K3njjVe5cqX1OC+GhgPYulXqN96nj/49Ueeb/r7TZPdO9PX1SUpKaLataVVQX7/lOg/KxYvn8fLq2Dvz7smblrhzQqeJdeu+5tKlYH766Tf69bv/s8DGxg6A3NxrzZTZzMwMVq16henTn+Cpp55rsa5EIuHo0cP4+U1pZvrfFv7+h/D0HN1qu7SFg4MTly8Hc/r0KZkFRRN//bWRLVs23bf+li176N+/PwATJ05i4sRJlJaWoK6ugUAgYNeubQwcKL0X7ekj+vr6lJaW3lWmFC0tLdTU1BEKlVBSUmqxzJ3HaGhooKKiotkq+N1lOtpfpeOiuctPY2MjFRXlD3z/HyU9CngPjzUCgQBjY1NiYiJITU1UGAVcWVkZB4fhhIYGEx0djrm5lVwrKE3o6OgwcqQXFy6c4fLl8xgZDUVXV6+7xWoTQ8MBuLt7cvlyMNHRkQwebMzgwUbdLVabmJqaM27cRE6fPkFsbBRCodSsXp4RCoV4eo5FT68P584FkZQUT3V1FRMnTkVFRX6VWakZ/TQGDYrj/PnTZGRcpaxsOxMnTkVfX37dLXR0dJkxYy6xsVGEhASTnZ3Jzp1/4uU1FktL2+4Wr1WkpvQLiI+/QkjIBYqLi9i7dweurh44O7vKpVVQ0/tm8GAjIiNDiI2NoajoOgcO7MLc3Ao3Nw/09HqjqqqKiopKqwr43crjnds7ogy0F2VlZbS1dTA1NcPNzZOYmAhKS0s4efI4V65E4ew8gtOnT/HSS/+6p15rq5hfffUpJiZmTJs2k6+//hxXV3eMjYcBtGvlc86cBezdu+ueNFFDhw7j2DF/ampqZMpyXFwMQqEQI6Oh7bpec3NLRCIRZWVlD+Wnez8SEuLu+XvoUGPZ3x0xQbezc+C3336msbFRtj08PPT2+7VlM21bW3v++msjZWWlMnP18PBQtLS0ZBliOgOJRMLFixf4v//79J59CQlxMmWwvLyca9dyGDpU2gc6aoIukUj4/vu1nD9/lvXrf2XgwEFtytaUz15f30C2LSMjnVWrXmby5Kn3dTWIjo4kN/dahwKp5efnERUVwb//va7dde7GxsaWOXPm88Ybr6KkpMTixUtl+zpign4nTcqov/8hVFVVGTFC6ovdnj5ia2tPSMjFZscLDw+VWTeoqKhgYWFFZGSYzFJALBYTGRnO7NnSOAaWltYoKysTGRnG2LHS+BE5OVlcv14oO86D9Fc7OwcqKytITk6STQxGRUUgFouxtbW7732SB+T/i76HHh6Sppd+bu41uQ5GdDd2dg4oK6tQWlpCerr8p/dqwtbWEX19AxoaGjh79mR3i9NuHB1dsbCwRiKRcPLkUSoqWo8OLE9YWdni7j4KQLaqrAjY2Djg5zcdJSUlsrMzOXBgFzU1Vd0tVpvY2Ngza9Y8NDW1KCsrZf/+nVy9mtzdYt0XgUCAo6MLc+cuQU+vN3V1dQQFneDMmUC5fiYKhUIcHJyZP/9JBgwYiFgsJizsInv2bHson+quRllZBXf30SxZ8gzW1tIPwbS0ZHbu/ItLl861GYVaQ0MTTU1N+vUzxNt7Av36GaKpqYmGhmaXyi0UKuHqOpIlS57B1tYOJSUlbty4zs8//0hDQz3Dh7u06zj79u0mPj6O99//mIkTJzN69Fg+/fSDDkXfVlNT45lnXmDv3l3Ntk+cOBlVVVW++OIjMjKuEhUVwffff4Of35R2r3oZGQ1l4sTJfP75R5w7d5r8/DwSE+PZsmUTly4Ft3Ftu1i16uU2zxEXd4Vt2/4kJyebfft2c/ZsEPPmLZLt79u3H4MHD2n1d2fQL1/fSaioqPDVV5+SkZFOUFAge/bsYMGCJbIy586dYfHiObK/3dxGYmw8jM8++5C0tFRCQy/z++//Y/bs+R2y2qmuriYtLUWmzEqDA6bIgn2lpCRRW1srC2h6J5s3/05ERBgZGVf58suP6dVLT6akNU3e3O93p7n1d999TWDgcT766HM0NTUpKSmmpKRYFqg2Ly+XzZv/IDk5iYKCfIKDz/H55x/h5DQcMzNzQGp2/uqrL+Hm5s6CBUtkx7h7FRWk8Q5sbOya+Zg30VofOHr0MPr6Bowc+XCxTeztHfnmmx/ZtOl3du++08KkV5v37M6Jm337dpGSkizrg99/v5YXX1whW4VuTx+ZNWsO+fl5/Pzzj2RnZ7F//x7OnDnFggWLZedZuHAJR44c5Phxf7KyMvn226+oqalh6lRpsEJtbW2mTZvJ+vXfExUVQXJyEl9++Sl2dg4yV432yJKYGM/ixXMoKroBSL/t3d09Wbv2cxIT44mNjWHdurWMHz9RIWIQ9ayA9/DY07//IDQ1NamurubatWxMTMy7W6R2oaamjqWlJQkJ8URFhWFmZqUQvjtCoZCxYyewf/8ucnOvkZGRphD3vEnu0tJiiouLCAg4zKxZ8+R6VbYJFxd3amuruXIlmsuXL6ChoYmVlfyubjZhYmLGpEnTCQw8SnFxEYcO7WXatNlyGXTrTvr3H8icOYs4fvwQxcVFt/3Cb+Li4i7XY1Rf34D5858kOPgMiYnxJCXFk5d3jQkTJtO//8C2D9BN6On1YdasBaSmJnHx4llKS4vZv38nFhaWjBo1rssV0welKd2hra0j584FUlRURHR0JBkZVxk5cjQmJuYt9hdtbR2WLXseoVAJgUCAra0DYrEIJaVH88mmoaGJt/dEXFw8iIwMIzAwkEGDBnH8+GGGDDHCw2N0q64A2dlZ/Pzzj7zzzv9haChd/XzjjXdYvnwhv//+v2Z5mdti8uRp7Ny5jaysDNk2dXV11q37iR9//JbnnluOuro63t4+rFz5eoeu8b33PuLPPzfw008/UFR0g1699LC1tcfT8/4m7zdv3iQvL7fN4y9c+CTJyUls2vQ7WlparFjxOu7uHh2SsQltbW3WrfuJdeu+5rnnltKrlx5PPfVcM5/nqqpKcnKyZX8rKSmxdu0PfPvtV7z00tNoaGgwadI0nn32RVmZgoJ85s2bwX/+8wvDh7u2eO7k5EReffUl2d/r10uD6U2ePI333/+YCxfO4eExqkWrjZdeWsmPP35Lbu41zMws+Prr7x/YguPgwb0ArFz5YrPt7733EVOmTEdZWZmIiDB2795BbW0N/foZMnasD8uXPysre+ZMEDdvlnHixHFOnDgu296//wD27v07Qn5lZSVnz55m1ao3W5SlpT4gFos5ftyfyZOntWidExUVwauvvsTevYcxMLBs83odHZ345psfWLNmlcx/u6MkJiawYcNv1NRUY2RkzJo17zFp0lTZ/vb0kYEDB7F27Q+sX7+OPXt20rdvP95++4NmfXn8+IncvFnGH3/8QmlpCWZmFnz33fpmE2IrV65GIBDy/vtv0dBQj5ubB2+88XaHZKmtrSUnJ7tZ5pePPvqMdevWsmrVKwiFAry9fXjttb/zi8szAklL+SoUmKIi+V+1EgjAwECH4uKKxyYIh7wTHHyG2NhorKxs8fHx61ZZOtL+VVUVbN26EZFIxLRpszEyMn4kMnYGISHBREWFoaWlxcKFT8lSYMg75eW32Lt3G7W1tRgbmzBp0oxONf/vqvEvNQU8R2xsFAKBAB+fSVhaWrddUQ64cSOfY8eOUF1ddTvV2myF8OFqbGy8rcxKzU2NjIYxfrzffRVCeXn+5+VdIygogMrKCgQCAfb2jowcOaZV82d5oaammosXz5KaKrU6UFfXwMtrLObm8j1BKRaLSU6OJzw8RJZCqX//Abi7j2LQoO53d1mx4gXMzS1ZteqNe/bdunWTsLCLslVQgUCApaUNI0Z4oKPTegqnx4EvvviYysoKvvrqu3bXmTt3OvPnL2L+/MX37JOX8Q9SpfC999awe/eh+6biuh/Lly9k2bJnGT/+b9PoJmXz+PEz90S+/qdy9OhhtmzZxLZte+jfv7dctH8PXUPfvu3r8z0m6D38I2hagc3MTEckEnWzNO1HS0sHOzsnAMLDL7eY31VecXV1p1cvPaqqqggJub9Znzyhq9sLHx8/BAIBWVkZxMREdLdI7UIgEDBqlDfW1nZIJBJOnw4gMTG2u8VqF/36DWT27IXo6fWmsrKC/ft3kJXV+blqOxtlZWXGjvWV5QvPyclk166/yMu7fy5heWDQoCEsWLAUMzNLJBIJsbEx7N+/Q+7Tt2hoaDJhwhSmTJmJrm4vamtrOHXqOIcP75Vr2YVCITY2DixZ8jTe3t4oKytTWFjAoUN7OX78IOXlt7pbRA4c2IOv72jS0682296rlx6+vlOZO3cRQ4YMleUQ37ZtE2fPBlJefrN7BO5CrlyJxtd3NIGBx9surKBcvnyRZcuefmDlu6GhAW9vHzw85DudpDxw+fJFXnjhX3I/wdnDo6NnBbwbkKcZ0H8KYrGYzZt/pba2hilTZmJsbNp2pS6io+1fVVXJ1q0bEIlETJ8+hyFD2hdoRh7Iy8vh0CGp6di0aU9gZDSsmyVqP1FRoYSEXEQgEDB16hOdZn3Q1eNfIpEQGOhPenoaAoEAX98pmJm1bfImD9TU1HDs2EGuXy+4HTF9PDY2Dm1XlAOKiq5z/PghKisrEQqFjBrljZ2d0z2rsvL4/E9MvMLFixdoaKhHSUkJN7dRODoOl/vAjyKRiJiYCCIiQhCJRAiFQuzsHHB395Jb15Gm9s/MzCM4+AwZGdKJJqFQCQcHZ1xc3NrMs90VFBXdoK5OGhTM0LD/fU2Fr18vICQkmLy8a4B0csHa2g5X15FyG12/o9TV1VJUVARII6PfGcirLRRlBbyr6FkBb51/Qvv/02nvCniPAt4N9AzA7iEw8AhXr6ZhYWHJhAlT267QRTxI+58/f4r4+Fj69u3HvHlPdq2AnUxAwCEyMtLR0dFh4cKnuiSKb1cgkUg4cyaQ5OQE1NTUmDt3Mb169X7o4z6K8S8SiQgMPEJmZgZCoRA/v2kMG3ZvMBl5pKGhgRMnDsv8Gd3cPOXet7qJmpoagoKOyWQ3NbVg3LiJzYIeyevzv7KygrNnT5KTkwWAgUFffHz82pX2qru5desmZ8+elCmEurq9GDNmvFy67Nzd/ncrs2pqajg6OuPk5Cb3q2XZ2RmEhl6kuFiqqCopKWFr64izs+tjo4h3NvI6/nt4NPS0/+NPjwIux/QMwO7h6tVkAgOPoaGhyVNPvdhtH/QP0v63bpWxY8efiMVihVtJrqmpZufOv6ipqcbRcTijRo3tbpHajUjUyMGDe7h+vQBdXV3mzl2CuvrD5Yl9VONfLBYTFBRAWlrybSV8OsOGdZ/lR0cQi8WEhATLzP+trGwZM2a83CskwG1z7iguX76AWCxGV7cXvr6TMTSUBjmT5+e/RCIhKSmeixfP0tDQgFCoxMiRXjg6Dpf7CRCxWExqagIhIZeorpZG0zc1tcDTc4xc+Sm31P4SiYScnEwuXTovy++sq9sLD48xmJiYyfW9F4vF5OZmExERKotMr6SkhIWFFSNGeKCtLT/3Xh6Q5/HfQ9fT0/6PPz0KuBzTMwC7h8bGBjZv/pX6+nqeeGIBAwa0nUeyK3jQ9j99OoDk5EQGDRrCzJnzuk7ALiA7O5OjRw8AMGvWfAYOHNzNErWfysoK9uzZSk1NDYMGDWb69LkPZZr7KMe/WCzm5MljpKenIhQK8fWdjKmpYpijA8THX+HChdNIJBL69+/P5MlPyHL/yjsFBfkEBh6hqqoKJSUlRo/2wcbGXiGe/zdvlhEUdJzr16WphgYMGISPjx+9eul1r2DtoL6+nrCwS8TFRSORSFBWVsbR0RlXV0+5yB1+v/YXiUTExkYSHR1Bba00vVL//gPx8Bjdbe+r9iKRSLh2LZuwsIvcuHEdkMZIsLNzxMlpBJqa8hmp/lGjCOO/h66jp/0ff3oUcDmmZwB2H6dOHSc1NQl7eydGj/bpFhketP0rKsrZtm0jYrG4WycQHpTTp0+QnJyArq4u8+cvRVVVMaKiA+Tn53DkyAFEItFD951HPf5FIhHHjx8kJycboVDIlCmz5NI0tzUyM68SGHgUkUhE7959mDZttlytaN6PqqoKTpzwp7CwAGhayfdhwIA+cv/8F4vFJCbGcenSeRobG1BWVsbFxQ1nZze59w0HKC6+wenTARQXFwOgp9cbL6+x3W491J7xX19fT0xMODExkbKUO4MHD8HTc0yr6b/kBbFYTGZmGpGRYTLTdGVlZaytbRk+3A0trX+2T3DP998/m572f/zpUcDlmJ4B2H1kZ2dw9OhBNDQ0Wbbs+W5ZEXmY9j979iSJiXEMGTKU6dPndI2AXURdXR07dmyiuroaS0trxo+f3N0idYj09FROnPAHwMtrHA4Ozg90nO4Y/42NjRw/fpBr13JQUlLCz286xsYmj+bknUBBQS4BAf7U1FTfzg86Q2EmoEQiEZGRoUREhABSRXDmzBloa+srxPO/vPwWp0+fID9fmvfW0LA/48dPRk/v4eMhdDVisZj4+BgiI8OoqakGwNjYhJEjvejTp/1BtTqTjoz/ysoKQkIuyFKuKVL6ryaz+rCwyxQVSVfElZSUsLd3wsnJFU1NrW6WsHvo+f77Z9PT/o8/PQq4HNMzALsPkUjEpk3/o76+nilTpmNsbP7IZXiY9i8vv8W2bRuRSCTMmDGHwYMVJyI6QHp6CidOHAVg5sx5DBo0pJsl6hhRUWGEhAQjEAiYMGEy5uZWHT5Gd41/aWC2o2RmXr1tjj4FU1OLRyfAQ1JZWcGxY4coLr5xO8r4GOzth3e3WO0mL+8ap04do6qqCqFQiJvbSJydFSO4nFgsJjo6lIiIMEQiEUpKSowY4YGjo4tcmHW3RV1dHRERIcTFRSMWi29HS3e8HS390QaFfJDxX1RUSFjYZbKzMwFpxHRra2tcXT3lPtiZRCIhPT2V8PDLMv92JSUlbGzscXJylfuJhM6m5/vvn01P+z/+9CjgckzPAOxeujsa+sO2/4kTh0lPv0r//v2ZPfveNCfyzt+m6L1YsGCZwkRFB+nHZFDQcVJTk1FWVmbmzLmy4FrtpTvHv0gkIigogKtXU26n+fLBxsbx0QrxEDQ0NBAUdJyMDGmeYhsbO8aMmaAQJtEA1dVVBAb6k5+fB4CxsSk+PhMfOrDfo+LWrZucOxdEbq40ynufPvp4e49nwADFiOlQWlrMmTOBMt92bW0dPD29MTU1f2QTIQ8z/gsL8wkJCZZZIygrK+PsPAInJxe5TbvWhFgsJjs7g6ioMNn9FwiEmJqa4ubmpRAWFZ1Bz/ffP5ue9n/86VHA5ZieAdi95ORk4u9/ADU1dZ566sVHvoLzsO1/82YpO3f+hVgsVri84AD19XXs3PkXlZUV2Ng4MHbshO4WqUM0NjZy6NAurl+/jpaWNnPnLu7QKlR3j3+xWExg4BEyMtIRCASMHeuLtbXdoxfkARGLxVy6dJbY2BgAhg4dhq/vFIWJKSCRiElNjePMmbOIxSK0tLQZP34Sgwcbdbdo7UIikZCSksjFi2epq6tDIBDg4OCMm9sohZhME4vFXL2aTGjoJSoqygEYMGAgo0Z506/fgC4//8OOf4lEQmbmVUJCgrl5swwADQ1NXFzcsbGxf+BMAStWvEBMTBQAmzZtw9y8a4I1SiQS8vKuERZ2SRY1XSAQYG5uxfDhbvTpo98l5+0oBQX5zJs3AwAzMws2b97eKcft7ud/D93L/dp/xYoXMDe3ZNWqN7pHuB46hR4FXI7peQB3L2KxmD///I2ammqmTp3F0KGP1he2M9o/OPgMsbHR9O1ryNy5ixXCjPVOrl3L5siRfQD4+k7G3Ny6myXqGLW1Nezfv4ubN0vp29eQWbPmt1v5kIfxL01Rdpy0tBQAvL0nYGvr0D3CPCApKQmcPXsKkUhEnz76TJ48o1PytHc1Te2flJROYOBRmRLl4OCEh4e3Qph0A1RWlt/OGy5dDdfV7cW4cb4MGqQYEwkNDQ1ER4cTHR2OSCQCpEHyRo4c3aURuztr/IvFYtLTUwgLu8ytWzcB0NLSwsXFDWtrhw73oxUrXmDIkKE899yL9OqlJ1Pkk5IS+OWXn0hJSQIE2NjY8vLLr2Ju/vDuKzk5mcTERJKbm8P169cJCgrCwMCA//73t2b9aNKksbz66htMmTL9oc/ZXkQiETdvlrFjx1YiIsK6XQEvLCzku+++IioqAg0NTSZPnsaLL/7rvhMu5eW3+P77b7h48QJCodTiadWqNzvUvzMy0tmw4RdSUpIpLCzg1VdXM39+y5Z3X375CQYGfXnhhVfaf2Ht5PDhAwQEHCUjIx0AS0trXnzxFWxs/p48/uKLjzl+3L9ZPTc3D9atWw9IJ1U2b/6DqKgISkpKMDAwwM9vCsuWPSN7f2/Y8CubNv1+z/nV1dU5dSq4RdmOHTvCl19+0uK+I0cC6d27j+zvR6mAHzq0n5MnA0hNTaG6uorjx8+go9NcOWxPH7l6NY11674mOTkRPb3ezJkznyVLljc7zunTp/jjj/9RWFjA4MFDePnllXh4eMn2SyQSNmz4lSNHDlBRUYm9vSNvvvkOQ4YYdbosd/MgY+dhaK8Crhh2ez300IkIhULMzKQfD00KiKIxfLg7ysoqFBVd5+pVxbuGIUOGYm1tC8D586epqqrsZok6hrq6BlOnzkJdXYOiouucOHFE9hGvCAiFQiZMmIK9vRMA586dkuXcVhQsLW2ZNWsBmppalJaWsGfPNrKz07tbrHbTt28/5s1bgqmpNA5FbGwMhw7tobz8VjdL1j60tXWZNm0OkybNQEtLm/LyWxw6tJfAQH9ZwDN5RkVFBTc3TxYsWCr7CExOTmD79o23lfLGbpYQqqsTSM94nurqhHv2CYVCzM2tWbhwOWPGjEdDQ4OqqirOnz/D7t1bSU9PpaPrK+rq6ujrG8g+TKurq3njjVcxNOzPb79t5uef/0BTU5M33lgpi87+MBgZDWPGjLnMnbtEFlSxrKyMdeu+xt//gGyFvDtQUlJCX99ALtIeikQi3nprFQ0NDfzyy0bef/9jjh8/woYNv9633ief/B+ZmRl8//1/+frrH7hyJZq1a7/o0Lnr6moZOHAwL720An391q0TRCIRly5dwMtrTIeO316ioyOZMMGP9et/4ddfN2FoaMjq1SsoKrrRrJy7uyeHDgXIfh9//Pf1ZmdnIZFIWLPmPbZs2cWrr67m4MF9/Prrf2VlFi1a2qz+oUMBGBubMG5c65Z648f73lPHzc0DJ6fhzZTvR01dXS3u7p4sXfp0q2Xa6iNVVZWsXr2C/v0H8McfW3jllVfZuPE3Dh3aLysTF3eFTz55n2nTZrJx4zZGjx7Lu+++KXMVA9i27U/27t3Jm2++y2+/bUZDQ53Vq1dSV1fXqbLczYOOnUdBjwLewz+Spo/ejIw0Ghrqu1majqOpqYmDgxMAISEXFEr5a8LLywc9PT3q6uo4c+Zkhz8Wu5tevfSYPHkGQqGQnJwszp4NVKhrEAgEeHmNw8nJBYBLl84TEnJeoa7B0LA/c+cupk8fferr6zl27DDx8Ve6W6x2o6Kiip/fdMaM8UFFRYXCwnx27dpCUlI8YrG4u8VrFyYmZixcuBxbW2ksgatXU9mx488HUgC7Az29PkyfPpcZM+bSt28/6uvruXz5Atu2bSQpKa5b26Hspj9VVeGU3fRvtYySkhJ2do4sWfIMw4e7oqqqSllZCSdO+LN791ZSUxMf+BpycrIoL7/Fs8++iJGRMSYmpjz99AuUlpbIUuvdjUQiYdWqV1i9eoWs/cvLb/HEE1P4449fWqzTr58hbm6eALi6jiAuLo7MzKvs37+Tgwd3IxaLm/WlwsJC3nlnNb6+o5k40Zv/+793KC0tke3fsOFXnnpqMQEBR5k7dzp+ft589NG7VFdXycqIxWK2bNnEvHkz8PEZxfLlizhz5tQD3ae7WbHiBdat+5p1677Gz8+bqVPH8/vv/3vg8RAWFkJWViYffvgZ5uaWeHiM4rnnXmL//t00NDS0WCcrK5PQ0Eu8884H2Nra4ejoxGuvrSEoKFCWHq49WFvb8q9/rWLCBL/7xhmIj49FSUmabq6gIB8vL1dOnTrBSy89g4+PJ0uXzic6OrLD197ERx99zuzZ8zA3t2ToUGPefvsDxGIJERFhzcqpqqqgr28g++nq/h3kb+RIT9577yPc3EYyaNBgvLy8WbToSc6dOyMro6mp2ax+aWkpWVkZTJs2s1XZ1NTUm9URCpWIigq/b532cOlSMH5+3gQGHn+g+vPnL2bp0qewtW3Zxaw9fSQwMICGhgbeffdDTExMmTDBj7lzF7Jr1zbZcfbs2Ym7uweLFy/D2HgYzz//MhYWVuzbtxuQPhP27NnBsmXPMnr0WMzMzPngg08pKSniwoWznSrL3TzI2HlU9CjgPfwj6d9/EJqamjQ2NpKRkdbd4jwQjo7Sj62KigqSkuK6W5wOo6Kigp/fdJSUlMjJySQhIba7ReowAwYMYsyYcQCkpCQRFRXezRJ1DIFAgIfHGOztpcpTVFQEly4plhKura3D7NkLMTIyRiKRcP58EGfOBHbKCt2jws7OiQULltG//0AaGuo5cyaQo0f3U12tGJYhampqeHuPZ9q0Wejo6FBbW8OJE/4cO3ZQYVb0Bw82Yu7cJfj4+KGhoUllZSVnzpzk4MHd3LhR+FDHlkgkiMU1iMU1iMQ1iETViG7/ffevtjaDqqpoqqpiuHkzAICbNwOoqoqhqiqa2tqMFuspK4txcxvBkiVLcHV1R0VFlZKSIk6dCmD37r/Izs7o8Lg2MhpKr1698Pc/RENDA3V1tfj7H8LYeBj9+7fsLy8QCPjgg49JSkpkz56dAHzzzVcYGPTlqaeea/Oc7777Eerq6pSV3UIoFJKfn0tDQwOhocGkpCTS2NjIu++upry8nPXrf+P77/9Lfn4eH374brPj5OXlcuHCWdau/Z61a38gJiaKLVs2y/Zv2bKJgICjvPnmu2zZsosFCxbz2WcftqkkHjt2BC8v1zav4/jxoygpKfP773+yatWb7Nq1jSNHDsr2r137Jb6+o+/7ayIhIQ4TE7Nm/vFubh5UVVWRmdmy1U98fCza2jpYWdnItrm6uiEUCklIiG9T/o4SHHyeUaNGN3OH+/nn/7Bw4RI2btyGnZ0Db7+9WuYuAbR5/d9882Wr56urq6WxsRFd3V7NtkdHRzJtmi+LFs3m22+/ana+lqisrGympN+Nv/9BhgwxwtGx/WlHAwKOoq6uzrhx49td524CAwP4+OP3+fDDz5k4cfLtbcfbvGdXrkS3+xzt6SPx8bE4OTk3c7Fzd/cgJyeb8vJyWRlXV7dmx3Z39yA+Xvpdmp+fR0lJCSNG/F1GW1sbGxs7WZnOkuVuHmTsPCq6xgC+hx7kHKFQiKmpBXFxMWRkpGNpadvdInUYDQ0NnJxcCAu7TFRUONbWdigpKdaQ1tfvy8iRo7l48SwXL56jf//+GBgYdrdYHcLGxpH6+gYuXTpPaGgwmpqaChXUTCAQMHr0eDQ0NAkLu8yVK5HU1dUydqyvwkQXV1VVY+rUJ4iODickJJikpHiKim7g5zdVIfzCQepDPWvWfKKiwggPv8y1azns2rWV8eMnYWRk3N3itQsjIxMWLhxCVFQY0dHhZGdnkpv7J46OTri6enaZz11nIRAIsLKyZdgwU8LDL5GQEEdhYT57927H0tIGNzfPDqfNkkgkpGc8RXX1g1tmiERlpGc81e7yffSdePLJn4mIuExiYjylpaUcPXoQQ8MBuLl5MniwUbvihmhqarF+/a+8++6b/PnnBgAGDx7CunU/3bct+/btx5o17/H55x9RWlpCSMhFNm7c1q72V1NT55lnXuS3335m48YtpKQksGfPHqqrqwkKCmD//l2kp19l+/Z9DB4sTWP5wQefsHTpfJKSEmSuTRKJmPff/1iWb9zPbwqRkdIJ0vr6erZs2cQPP/yMnZ009sWgQYNvu4Hsx9nZpVX5tLS0MTJqO/CpoaEhr766GoFAgJGRMenpV9m9ezszZz4BwPPPv8SiRUvbPA5ASUkJffo0N2VuUihKSkpaqkJpaQm9ezd/9ikrK6Ojo9vMWqCzuHDhHK++urrZttmz5zF2rFQJfeONdwgNvYy//yGZz+6mTff3q9fSaj1X/M8/r8fAwKCZ4ufu7oG39zgGDBhEXl4uv/32X95881V++WVTizERcnOvsW/fLv71r9daPEddXR2BgQE8+eT9fYzv5ujRQ0yYMAk1NfUO1Wti377d/P77z3z99bpmfdHLa0wzn/eW6Nu3b7vP054+UlpawoABzTO9NJnVl5aWoKure/s4fe4pc+cxpNv071umM2S5mwcZO48K+X4b9tBDF2JtbU9cXAzZ2ZnU1tYoTCqgO3FyciUhIY7Kygri42NxdFScvMhNODg4k5l5lfz8XE6ePMa8eUvl/kP9bpycXKmpqSE6OpyzZ0+ioqKCmVnXRBHuKlxdPdDS0uHs2ZMkJydQXV2Fn990hYhsDVLlafhwNwwM+nHy5DGKi2+wd+92fH2nYGQ0rLvFaxdCoRBXV6l55OnTJ7h16xb+/vuxt3di5MjRCtEWKioquLuPwsLCmnPngsjPv0ZUVATp6VcZO9aXQYOGdLeIbaKmpo6Xlw+OjiMIDQ0mNTWJlJRErl5NwdbWHje3UR2Muv/og2Sqq2swevR4hg93IyYmioSEK1y/XsCRI/vo27cvI0Z4Ymxset9j1NXV8tVXn2Fv78jHH3+BSCRm584trFmzij/++As1NfVmK7UTJ05mzZr3APDxmcD582fYunXzPcGWnnxyPtevS03YHRyc+e67/zQ777RpM9m5cxuHDh3gxRf/harqFxgbm6KhoU5KSgoaGhoEBBzC2tqW4cPdGDbMBG1tHbKyMmUKeP/+A2XKN4C+vgFlZdKAh7m516itreX11//V7LwNDQ1tRn/39h6Ht/e4+5YBaYrEOyc57Ozs2blzq8xdrHfvPujpdZ9/cGeSlZVJSUkRLi4jmm1vmtwAqTJlaWlNdnaWbFvTBEpH2bJlM0FBgaxf/ytqan+PwwkT/GT/NzU1w9TUjAULZhEdHXnPCm1R0Q3eeGMl48ZNYMaMJ1o8z/nzZ6iurmLy5Gntli0+PpasrEw++ODTDl6VlLNngygrK+V//9sg68tNaGpqNevTPSg2ivWV20MPnYiBQV/09ftSUlLE1aup2NkpTj7kJpSVVXB1Hcm5c6eIjAzF0tIGdfUHm3XtLgQCAT4+E9m9eytlZWWEhl5k1Cjv7harw4wc6UVVVSWpqUkEBQWgpqaucCnirK3tUFNTIzDwKDk5WRw+vJtp0+Y2+8iRd4yMjJk9ewHHjx/i5s2bHD16EA+PMTg6DleYbAEDBgxmwYJlXL58gbi4GNlE4fjxfgqTc7t37z7MmDGHxMQrhIZe4tatmxw6tAdLSxs8PMZ0aaTxzkJHR4cJEyZjb+/E+fNBFBXdIDY2hrS0VEaM8LhtdXT/aOMCgQBTk01IJLW3N4CBvjbFJZXQikV4TU1Kiyvepiab0dBoe2JPIFCX9XUtLR1GjfLG2dmVqKhw4uNjKCoq4tixQwwaNAQ3N09ZALS7OXkygMLCAn79dZPMGuajj75g8uRxXLhwjgkT/JqtYt65YllbW0tKShJKSkpcu3at2XG//fZHmYtIS88WZWVlXnjhFb788mPmzJmPQCCNNTBx4iQqKn4kNTWV+vp6rlyJJiEh7rbFkeSeYzS/JwIkEqkvfE1NDQBr1/5A3779mpV7VJNca9d+2aZv78mTFwDQ19cnKal5IL6mVcHWAqP16aMvm3BoorGxkYqK8k5P9RYcfA5XV/cOvyfunLxpiTsndJrYvn0L27Zt5ocffsbMzPy+9QcNGoyenh65udeaKeDFxUWsXPkSdnYOvPXW+63W9/c/hKfn6A7dryNHDmJuboGV1YNldjE3tyQ1NZmjRw9jZWXT7J0VGHj8vmb5AN9++592m8u3p49Iy5Q2K9P0d1tl7twv3SaNPH9nmaaAyJ0ly908yNh5VPQo4D38o7GwsOLy5SISEq4opAIO0tQ5UVFhVFSUExFxCS8vn+4WqcPo6urh7T2BkyePceVKJIMHGzF0qGKsWjbRlFO7ouIWBQX5BAb688QTC+Umr217MTExZ9KkqQQGHuf69escObKXqVNny0U04PbSu7c+c+cu4fz5IFJTk7l06Rw3bhQydqwvqqqtBxKSJ5SVVRg92oehQ00ICgqgvPwWBw/uwdV1JMOHuylEujKhUIidnTNmZlaEhl4iIeEKKSmJZGZexcXFDUdHV4VwczA0HMCcOYtJSYknMjKc8vJbnD8fxJUrUbi4jMDCwua+1yEQCBAING7/H5SUNFESilpNQyUQNikyAqSKpfRfgVANofDBxqGmphZeXmNxcHAiLOwSV6+mkpd3jQMHdjFo0BDq6mrvqVNbW4tQKGimBEivRYBYLBW+tVXMn376HqFQyLff/sibb67C09NLtkLamv/4nfj4TGDHjr/YuPE32TZlZRU8PLzYt28PDg7O5OVdo6SkmODgc1RWVpKfn0NBQV6bxx42bBiqqqpcv154X3PzhyExsflHf0JCPEOGGMnGbUdM0G1t7fnrr42UlZXKTG7Dw0PR0tLC2LjlNKp2dg5UVlaQnJwkUwajoiIQi8WtBuV6UIKDz7e4ipyQEIeTk9Qqr7GxkZSUJObMmS/b31ET9G3b/uSvvzby3Xc/NfMVbo0bN65z69atZkpfUdENVq58CUtLK95776NWx21+fh5RURH8+9/r2jxPE9XV1Zw+fYqXXvpX24VbYdCgwaxY8RorV76IUChk9eq3Zfs62wS9PX3Ezs6B3377mcbGRtmkVnh4KEZGQ2Um33Z2DkREhDdLTxceHoqdnT0AAwcOQl9fn4iIcJmFSVVVJYmJ8cyaNadTZbmbBxk7jwr5f/P10EMXYmZmiUAgoKSkmOLiG21XkEOUlJRwdXUHkJmjKyLm5laySZCgoAAqKhTvOpSVlZk69Qn69jWkrq4Of//9CtkexsbmTJ8+B3V1dW7cuM7Bg7uoqGg5yIm8oqqqxvjxk/HyGodQKOTq1RT27NlCaWlxd4vWIYyMjFmw4EmGDDFCIpEQHn6Z/ft3UFLS/kjG3Y26ugbe3uOZM2cR+voGtyONB7N//w6Fee4KhUKsrR1YtOgpRo8eh4aGBrdulXH6dCB79mwlPz+3086lrNwHZWV9NDRsGDTwAzQ0bFBW1kdZ+eFNlnV19ZgwYQpLljyDjY0DQqFQpsimpSWRk5MlC9Y2YsRIKioq+O67r8nKyiQjI52vvvoEJSUlhg9vPRDZpUvBHD16mA8//JwRI0ayePEyvvji41YDJbXGSy+t5OjRw7IVawBXV3dMTEzZsWM7jo4jsLZ2ICIikn79+lFXV8uBA7tITk6gvr6u1aBzmppaLFz4JOvXr+P4cX/y8nJJSUlm796d9+SRvptz586wePGcNmW/fr2Q9evXkZOTxcmTAezbt4u5cxfK9vfu3YfBg4fc99eEm9tIjI2H8dlnH5KWlkpo6GV+//1/zJ49XzahmJgYz+LFc2RpuYyNh+Hu7snatZ+TmBhPbGwM69atZfz4iRgYtF9Ja2hoIC0thbS0FBoaGigqKiItLYXcXKlVQ1lZKcnJiXh63ruavX//Hs6dO0N2dhbr1n1NRUUFU6f+HRm8reu/069469bN/PHHL7z77ocMGDCAkpJiSkqKqa6Wpjysrq7mv//9kfj4OAoK8omICOOdd964beXhATQp3y9iaNifFSte4+bNMtlx7ubo0cPo6xswcqTnPfta6wOnTwciEomYOHFKu+9vSxgZDWX9+l84d+40P/74nWy7pqZWm/fsTr9z6ZhOIS9P+mzKyLhKWlqKLDBme/qIr+8kVFRU+OqrT8nISCcoKJA9e3awYMES2XnmzVtIaOglduzYSnZ2Fhs2/EpycqJsskUgEDBv3iL+/HMDwcHnSE+/yueff4S+fl9Gjx7bqbLc3TbtGTvdhUCiSOFu20FRkfx/7AoEYGCgQ3FxRasz4D08Og4d2k1eXi4uLu64u4/q8vN1RfuLxWIOHNjF9esFWFraMH78pM458COmsbGR/ft3Ulx8g759+zF79iKFWOm7m5qaGg4c2MnNm2X07t2HmTPnoqmpDSjW+C8tLeHIkX1UVVWioaHB5Mkz6d9/YNsV5Yy8vGsEBByhrq4WFRVVxo/3w8Tk/uaLXcWDtr9YLCYtLYXg4NPU1dUhFApxdHTGzc1LocaISCQiOjqU6OhIGhoaEAgE2No6MGKEBxoa8m+W3kR9fR1hYRdJSIiT+fUaG5swcuT9TVbb2/5icT0Cgcpt02kJEkkDQmHnfzBWVJQTGhrMzz//RO/evXFxccHQsD/Dh7szdOgwIiPD2LjxdzIz0xEIhFhYWPL886/IVrfupqysjOXLFzJv3kJZ/uHGxkZefPFpBg0azKefftVivaioCF599SWOHz+Djo6ObPvq1SsICwvhvfc+YsqU6YA0DdkPP6wlMjIcgUB4OwXSk2RkpJKTk82VK1fIzc1l8eIl2NjYYWPjwMGD+9i9ewd79x4BmlIj7eTgwb3k5+ehra2DhYUVy5Y9LVu1BWlKswsXzrF5s3S19tixI3z55ScEB0e0ek9XrHiBYcNMkUjEnDwZgFCoxKxZc3jhhVcQCgUPNP4LCwv49tuviI6ORENDg0mTpvHSSytkK4FN92/PnsOyQFXl5bdYt24tFy9eQCgU4O3tw2uvrWnm/uHl5drs3t5NQUE+8+bNuGe7k9NwfvrpN/z9D3L06BH+978N99T56KPP2b17B1evpjJo0BBWr37rvhM392Pu3Oktpr57+unnefbZF6mrq+Xdd98kNTWFysoKDAz6MmLESJ5//iXZeGxqu5a4sz3FYvHt9HVTePHFe1ezW+sDL730DAMGDOSjjz6/p07TPVm//hcmThzXYvuvWPEC5uaWrFr1BiD1rV+58kUmTpzMypWv3/8GtcCGDb+yadPv92y/s73b00euXk1j3bqvSU5OpFcvPebMmc+TTz7V7JinT5/i999/prCwgMGDh/DKK6/i4eEl2y+RSNiw4VcOHz5AZWUF9vZOvPHG280CGnaGLC21TVtjp7Pp21en7UL0KODdgiJ9gP8TSEtL4eTJo2hr67B06XNd7ifaVe1//Xoh+/ZJPxLmzl1Mv379O+/gj5DS0mL27t1OY2MjTk7D8fQc290iPRDl5bfYv38n1dVV9O7dhyeeWIC6uobCjf+KigoOH97DrVs3UVZWZvLkGQwZYtzdYnWY8vKbnDjhL1shcnAYjofH6EeuvD5s+1dVVXLu3CmysjIAaXApX9+pCufqUFlZwcWL50hPTwVAVVWV4cNH4OjoqlATCuXl5URFhZKUFI9EIkEgEGBiYoaHx2h0dfXuKS+v4//ll59BV1cXU1MTmX+2np4ew4e7YWlpqzDxEyoqyomLiyExMY76+jpA2rdsbR1xcHBGS0u7Q8e7WwFvD3crUnciT+2fn5/HokWz2bp1T7MgeR3h7bdfx8HBSRbZHP5WNjdt2tZmULt/ClFREbz33hr27DmEickguWj/HrqG9irgPSboPfzjGTbMBFVVNSorKzrVjPBRY2jYHwsLqe/M+fNBiMXibpbowejTx0AWhC0mJorc3JxulujB0NXtxZQpM1BVVaWsrJRjx6S5dBUNHR1pnu1+/QxpbGzk6NGDpKQkdrdYHUZXV4/Zsxfh6Cj1+YyNjWLv3m3cvFnaRk35QktLm0mTZjBmzDhUVFQoKSlm9+6tREWFKdSY19bWwc9vGjNnzkNPrzf19fWEhFxk377t7fLjlRd0dXUZO9aXhQuXM2yYmTTtWHoaO3b8yaVL55qZT8szSkrKhIaGsHv3Hvr3H4iysjI3b97k9OlAdu36i7S0ZIXoXzo6unh6jmHZsucZOdILLS0t6uvriY4OZ8uWPwgKCmhXXvfCwkJ8fUezZcumRyB193D58kVmzJj9wMo3gIODU7Po4z20zOXLF1m27On75hzv4Z9Ft66A//rrrwQGBpKRkYG6ujrOzs68+eabmJj87Ri/dOlSwsLCmtVbsGABn37acoj/nhXwHh6EM2cCSUqKx8zMgokT259y4kHoyvavqChn+/ZNiEQifHx8sbJq2UxQEWhqEw0NTRYsWKqw6TcKCnI5evQg9fX1DBkylKlTZ2Jo2Fvhxn9jYwOnTwdy9WoKAO7unjg7uylEEK27ycxMJyjoOPX19aioqDB+/GRMTMweybk7c/xXVlZw7lwQ2dnS1XADg76MGzeRvn0NO0HSR4dIJCImJozo6CjZqqW5uRXu7p4triLLM9euZXL5cjDFxVIffRUVVRwcnHF0HC7XFjBFRTeoq5Pee0PD/jQ01BEZGUpKShL19fWAdFLRwcEJGxtHhUkVKRKJyMy8SmxsNIWF+bLthoaGODu7M2yYaYur+42NjTKTZxUVFQwN229Rpigr4F1Fzwp46/wT2v+fjkKYoD/77LNMnToVe3t7RCIR69atIy0tjaNHj8ps/pcuXYqxsTGvvvqqrJ6Ghgba2i2bEfUo4D08CDk5mfj7H0BZWZnly19oFsiis+nq9g8OPk1sbAw6OrosXvwUSkqK8aF0Nw0NDezbt53S0hL69x/AzJnzFco09U4KCvI4cmQfjY2NGBsPY8mSxdy8WaNw418ikXD58nliYiIBsLCwZNy4SQrZLjdvlhIQcESWksTJyQV39673p+7s8S+RSEhJSSQ4+Az19fUIhUKGD3fDxcVd4dqlpqaa0NCLJCbGAdIAk46OwxkxwkOhnmMSiYScnExCQy/JgsypqkoV8eHD3RgwoI/CvP/r6mqJi4vhypUoWaR0LS0tnJ1HYG1trxC56Zu4fr2AqKhwsrLSZQHa9PR64+AwHAsLqw7mdn8wer7//tn0tP/jj0Io4HdTWlqKh4cHW7duZcQIabqKpUuXYmVlxfvvt56r7056FPAeHgSxWMzWrRuorKxg7FhfbGy6buW4q9u/vr6e7ds3UV1dhYfHGJydHyzoiTxwpz+4ra093t6+3S3SA5Obm8PRowcQiUSYmJgwceJ0hELFUpCaiIwMITT0EiANPOXrO1WhPsSbaGxsJCTkArGx0YB05W/ChMn06tW7y87ZVeP/1q0yzpw5QX6+dJWvTx8Dxo3zxdCw7ZRP8kZR0XXOnAmUrSL36qXHqFFjGTp0mML4IgO3zdFTuXz5giyLgKamFt7eYxg61ByhUHEmFerq6oiJCSM+Pk6miKurq2Nn54idnaMsyKQicPNmGXFx0aSkJMpW91VUVDA1NcfZeQS9e3ddPIWe779/Nj3t//ijkAp4dnY2EydO5MiRI1hYSJOzL126lLS0NCQSCX379mXcuHG88sorreakLSqqQN7fzwIB6OvrUFLSMwDliaioMC5fDsbQcABz5y7qsvM8ivZPSkrg9OkTqKqq8uSTzyhUdOG7SUiI5ezZUwBMmjQdU9PuiV7dGaSmJnLq1AkkEgk2NnaMHeurUArFnSQlxXPuXBAikQgDg35MnToTbe32vXjkjfT0NE6fPkF9fT2qqqqMHTsBc3OrLjlXV45/aaT0ZIKDz1JbW4tAIMDa2gZPz7GoqXX96l5nIhaLSUy8Qnh4GNXVVYA0bdHIkaMwNFSsSPwikYikpDiioyNlKYC0tLRxchqOvb2zQlkqNDQ0kJKSRHR0uOxalJSUsLS0xtXVo1kEc3mnvr6epKR4YmOjZdcCMHToMOztnTAyMu7053PP998/m572f/wxMFAwBVwsFvPyyy9TXl7Ojh07ZNt37drFwIED6devHykpKXz77bc4ODjw008/tXgckUiMkpLi+ST20P1UVlby/fffy/piv379ulukB0YikfD7779TUFCAjY0N8+bN626RHoqAgABCQ0NRVVXl+eefx8DAoLtFemAiIyM5evQoEokEd3d3/Pz8FFYJv3btGjt37qS6uhptbW1mz57NsGHDulusB+LGjRvs2rWL0lJpULYRI0bg6+urkCv7VVVVBAYGEhsbC0hNhmfNmoWZ2aPxc+9M6urqOH/+PKGhobJ0X7a2tkyaNKlVVzR5RZqCLZrz589TUSG11tPT02P8+PHY2ipOpHFomiBJ5MyZM7IxIxQKsbe3Z9SoUfTt2/5c092NWCwmLi6OqKgocnL+DvrZq1cvHBwcGDlyZLNUSD300EMPD4vcKOAfffQRFy5cYPv27fTv33qwi8uXL/PUU09x8uRJjIzujdzYswLew8Nw/PhhMjKuYmNjx7hxE7vkHI+q/a9dy+Tw4QMAzJo1l0GDHjzSaXcjEok4fFiar7V37z7MmbOwS/30uxKBAHJyrnL48GEA7OwcGT16nEIGMwNpujV//wOUlZWipKSEj89EWTR+RaOxsYFLly4QFxcDQJ8++kyYMKlTg5o9yuf/1avJXLhwlurqagCsrGwYNcobdfWWLcjkmZs3y7hw4TQ5OdmA1GR4+HA3nJyGo6ysOJMkAgFoa6sSFHSG2NgYWeAzfX0DXFzcMDW1UKhngVgsJjPzKnFxV8jLuybbPmjQYFxc3BkyZOh9assfUvP0GJKS4mVZK1RUVLCyssHe3pnevfs81PF7vv/+2fS0/+OPQq2Af/rppwQFBbF161aGDBly37LV1dU4Ozvzxx9/MHr06Hv29/iA9/AwpKencOLEUVRVVVm+/MUuWf16lO0fEHCIjIx0+vbtx5w5ixXqw+5uqqur2L17C9XV1RgZDWXKlCcU8nqa2v/cuYsy03orK2vGjvVTyOsBqKmpISDgIAUF0qjBI0d64ew8QqFW9O4kJyeToKAT1NRUIxQKGTHCHWdn905pn0f9/K+rqyMs7BJxcVI/d3V1DdzcRmJj46iQ/S0vL4fLly9w48Z1QLq67+Lijo2Ng0Jcz53tX1tbR1xcNDExETJf5F69euHq6oGFhbXCjZ+mIGeZmVdl2wYMGISTkyvGxiYKdT11dbUkJFwhKSmeW7f+Nk8fOHAwtrb2mJhYPJDrQM/33z+bnvZ//FEIH3CJRMJnn33GyZMn2bJlC8bGxm3WiYyMZPHixRw6dAgrq3t99HoU8B4eBpFIxJYtv1NdXc348X5YWtp2+jkeZftXVVWyY8ef1NfXMWbMeOzsHLv2hF1MTk4mR48eRCKR4OExGmfnEd0tUoe5s/2b4g4A2Ns74+U1VqE+Uu9EJBJx8eJZ4uOvAGBlZcuYMeMVJl3R3VRXVxMYeIT8fGlO6qFDTfDxmfjQ8RS66/lfWJjPmTOBlJVJzYX79x/AuHF+D72i1x1IJBLS0pIJCblAZWUlAH379sPLaxwDBgzqZunuT0vtX1tbS0xMOLGx0TQ2NgJS6wsXl5GYmporxMTCnRQX3yAyMpTMzHRZ7vBevfSwtrbFzs7pkUQb7ywkEgm5uTnExcWQlZUu266jo4udnSNWVnatxiRqiZ7vv382Pe3/+KMQCvjHH3+Mv78/P//8czO/QR0dHdTV1cnJyeHIkSN4e3ujp6dHSkoKX331Ff3792fr1q0tHrNHAe/hYQkLu0RERAgDBw5m1qz5nX78R93+cXHRXLhwBjU1NRYtekph82k3ERUVSkjIRQQCAVOnPoGRkXF3i9Qh7m7/2NgogoPPAoqvhIO0vwUHn70dOLMfU6bMREtLcQIz3YlYLCY6Oozw8FDEYhGamlr4+Pg9VJ/rzud/Y2Mj4eEXiY2NQSQSIRQKcXYegYuLm0KZcTfR0FBPRMRl4uKuyBRXU1ML3N1HoafXdZHsH4b7tX9NTRUxMZEkJMTJ8qH36qWHk5MLVlZ2XRqsbcWKF4iJiQLotPzNlZUVxMVFN7seNTU17O2dsLNzkut3UVMuawAzMws2b97OzZtlxMSEc/VqqsxiQShUYtgwE6yt7Rg8eGibkyU933//bO7X/vfLH9+D4qAQCrilZcsP+K+++orZs2dTUFDAmjVrSEtLo7q6mgEDBjBhwgReeeWVnjzgPXQZFRXlbNnyBwCLFz/d6R9yj7r9xWIxe/ZspaSkGFNTM/z8ZnT9SbsQiUTCmTOBJCcnoKamxuzZixRqFa+l9k9MjOPs2ZMA2NjYMWbMBIVb9bqTrKwMAgP9aWxsREtLmylTZtG3r+IGNSwuLuLkyWOUlUlzhtvY2DJqlM8DuajIw/P/1q0yLlw4S05OJgDa2jp4eo7GzKxrIr93NVVVlYSHXyYpKR6JRIJAIMDc3IKRI8fIXWT+9rR/XV0tsbHRXLkSJVNc9fR64+o6EjMzyy55NqxY8QJDhgzluedepFcvPZnlSkREGH/88Qvp6VfR0NBg0qSpvPDCKx2ybGloqOfKlUgSEmKpqpJGtBcKlbCwsMTOzpF+/QYQFRXBq6++hLGxCX/+uaPZZMOkSWN59dU3mDJleude9H0QiUTcvFnGjh1biYgIY/Pm7bJ99fX1XL2aQkJCLEVF12Xb9fR6Y2/vjIWFdatZBx50/BcWFvLdd18RFRWBhoYmkydP48UX/3Xfdigvv8X333/DxYsXEAoFeHv7sGrVmx0KKJeRkc6GDb+QkpJMYWEBr766mvnzF7dY9ssvP8HAoC8vvPBK+y+snRw+fICAgKNkZEitECwtrXnxxVewsbGTlfnii485fty/WT03Nw/WrVsPSCdVNm/+g6ioCEpKSjAwMMDPbwrLlj0je5Zv2PArmzb9fs/51dXVOXUquEXZjh07wpdfftLiviNHApt9nzxKBfzQof2cPBlAamoK1dVVHD9+5p4sBX/+uYHLly+SlpaCiooKAQFn7zlOe/peVFQEP/30PZmZGfTrZ8jy5c/eM1737dvNjh1bKC0twdTUnNdfX9Os/erq6vjppx8ICgqkoaEeN7eRvPHGO/Tpo98hWe6mM8ZBR2ivAt6ttoEpKSn33T9gwIBWV7p76KGr0NHRxcjImJycLOLiohg9enx3i/RQCIVCPD29OXJkH+npV8nLu8agQfePtSDPCAQCvL3HU1ZWyvXrBRw9up85c5Z0yAxQ3mjKO3/27EkSE+MRiUT4+ExS2JVwY2MTnnhiAQEBR6ioKOfAgZ2MGzexy1J7dTUGBn2ZN28xwcFnSUyMIzExgYKCAiZMmKKQEwu9evVm6tRZZGRc5cKF01RWVhAYeIy0tFRGjx4nd0prW2hpaTN2rC/29k5cvHiW3NxrpKamkJGRgZOTC05Orqiqqna3mO1GTU2dESM8EJrZ8FV2Ls5JkVBWzKlTx4mICMHJyRVLS5tOXxFXV1dHX//vDBNpaamsWbOKZcue4YMPPqGo6AbffvsVYrGYFStea/dxVVRUcXX1wNnZjaysdGJiIrl+vYDk5ESSkxMZOHAQGhrSRZX8/DwCAo4ydWr3ThQrKSmhr2/Q4ntFVVUVGxt7bGzsuX69gJiYCLKyMmSBAi9fPo+ZmQVWVrYMHPjw71qRSMRbb62iTx99fvllI8XFxXzxxUcoKyvz4ov/arXeJ5/8HyUlxXz//X9pbGzkq68+Ye3aL/j44y/afe66uloGDhzMuHETWL9+3X1lvHTpAmvX/tCRS2s30dGRTJjgh729A6qqamzb9ierV69gy5bdzZ7B7u6evPfeh7K/VVT+HvfZ2VlIJBLWrHmPQYMGk5mZztdff0FNTY2sPy9atJRZs+Y0O/eqVa9gbW3Tqmzjx/vi7u7RbNsXX3xCfX1dty4O1NXV4u7uibu7J7/+2nLmqMbGRsaNG4+trT1Hjx66Z397+l5+fh5vvfUaM2fO4cMPPycyMoyvv/4cfX0D2X0JCgrkp5++580338XGxo7du3ewevVKduzYJ7tH69ev49KlYD777N9oaWnz/fdref/9NfzvfxvbLUtLdMY46AoUd4mlhx66ECsrqe93cnKibAVCkRkyZChmZhYAXLx4VuaXp6goKSkzadJ0NDQ0KC8vJzDwiMJfk42NPaNGjQEgJSWJ8+dPIwcxMh+Yvn0NmT//SYyMjGlsbOTkyWOcPx8kSyWlaCgrqzB2rC++vpNQV1enrKyUffu2ExERqpB9TyAQYGpqzsKFy7G2lqbAysy8yo4dm7lyJVIhr0lfvy8zZsxjypSZGBj0o7GxgYiIELZt20BUVKjMTF1RCKxpIEVZHUb74e4+CjU1dW7eLOPs2ZNs27aBuLhoRKKuu6bTp09iamrO008/z+DBQ3B2duHll19l//49stzsdyORSFi16hVWr14he36Vl9/iiSemsGnT75iaWjBnziJmz16IkZE0Qnp+fh6XLp0HYNw4HzZs+FVm4t0ShYWFvPPOanx9RzNxojf/93/vUFpaItu/YcOvPPXUYgICjjJ37nT8/Lz56KN3m8ksFovZsmUT8+bNwMdnFMuXL+LMmVMdvkeGhgPw85vO8uUv4OU1jt699QkICGDLlj95//238PHxZNKksfz6608P/DwPCwshKyuTDz/8DHNzSzw8RvHccy+xf/9uWaT2u8nKyiQ09BLvvPMBtrZ2ODo68dprawgKCqS4uKjd57a2tuVf/1rFhAl+zZTZu4mPj0VJSRlra1sKCvLx8nLl1KkTvPTSM/j4eLJ06XyioyM7fO1NfPTR58yePQ9zc0uGDjXm7bc/QCyWEBER1qycqqoK+voGsp+urq5s38iRnrz33ke4uY1k0KDBeHl5s2jRk5w7d0ZWRlNTs1n90tJSsrIymDZtZquyqampN6sjFCoRFRV+3zrt4dKlYPz8vAkMPP5A9efPX8zSpU9ha2vXaplnn32RBQuWYGracorK9vS9gwf3MWDAQFaufB1j42HMmbOAsWN92LXrb6uRnTu3MX36LKZOncGwYSasWfMu6urq+PtLs8FUVlbi73+IlStfx8VlBFZW1rz33kfExcUSHx/XblnuprPGQVfQo4D30EMLDBtmhpaWFg0NDaSmJnW3OJ3C6NE+qKmpUVxcRHx8THeL89BoaWnj5zcNJSUl8vJyCQ292N0iPTSOjq54e0stLhISrhAUFKCQilATamrqTJkySxYsLz7+CocP76GurrabJXtwzM1tWLToKUxMzBCLxYSFXWTPnq0UF9/obtEeCHV1dcaN82Pu3CUYGg6goaGBixfPsXPnn1y7ltnd4j0QxsamzJu3BD+/aejp9aampoaQkIts27aB1NSkRz6xJZFIqBaLZb8qkajZ33f+0mvriKyqIaqqhuO3pC51JyqqEVg5YDfnSQa5eSJQ16CsuobTF8+zcfsmQmIiKa+rlR2js66vvr7+HssBNTU16uvrSE5u+b0oEAj44IOPSUpKZM+enQB8881XGBj05amnnpOV699/INOmzWHhwmXY2zuhpCQ1yNTQUKOiopxvv/2CqqrKe44vFot5993VlJeXs379b3z//X/Jz8/jww/fbVYuLy+XCxfOsnbt96xd+wMxMVFs2bJZtn/Llk0EBBzlzTffZcuWXSxYsJjPPvuwTSXx2LEjeHm53rNdXV0DBwdnFi5choFBX7KzsxEKhUycOBF7e3t27NjKunX/pqioEIC1a7/E13f0fX9NJCTEYWJi1swU183Ng6qqKjIz0++RBaQKsba2DlZWf6/curq6IRQKSUiIv+81PgjBwecZNWp0M6utn3/+DwsXLmHjxm3Y2Tnw9turuXXrpmx/W9f/zTdftnq+urpaGhsb0dXt1Wx7dHQk06b5smjRbL799qtm52uJysrKZkr63fj7H2TIECMcHZ3vfwPuICDg6O3n6oNbTwYGBvDxx+/z4YefM3Hi5Nvbjrd5z65ciX7gc7ZEe/peQkIcrq7uzeq5uXmQkBALcPs7OrlZGaFQiKurm6xMSkoSjY2NzcoMHWqMoWF/WRlFGAcdQTHD0/bQQxejpKSEvb0zISHBJCbGYWvrqLDmwE1oaGgycuRozp07RWjoRYyMhsltoKL2MnDgEHx8/Dh58hjR0eH06aOPpWXrpmKKgK2tI6qqapw6dZzU1CRqa6uZNGmGQgbJAumL1sNjNLq6uly4cIaCgnz27t3O5Mkzm71IFQkNDU38/KaTmprE+fNBlJQUs2/fDjw8xmBv76SQz4q+ffsxe/ZCkpLiuHTpPDdvlnHkyAEsLKzx8BiNllbLcVfkFekKvwXGxqbExUUTFRVGVVUVp04dJyYmkpEjvR5JAEeJRMKyzHxiqh980qlMJGZ5Zr70D/W+4Dbx3kJpebL/Omuq8+ewgQ/dD93dPdizZwcnTwbg4+NLaWkJmzdL46OUlBS3Wq9v336sWfMen3/+EaWlJYSEXGTjxm0t+mn26WPA6NE+qKioExh4Ah0dHezs7Dh16iTa2lpYWdkiFktkkwqRkWFkZKSze/chDA37A/DBB5+wdOl8kpISsLaWWq9JJGLef/9jWaA3P78pREaGA9KJhS1bNvHDDz9jZ+cASPOWx8bGcOjQfpydXVq9Ni0tbdnKfUsIBAJUVdUYOHAQP/74P9LSpL7it27dIijoJBoaahgaGuLtPZZ58xa267leUlJCnz7NTZmbnp0lJSUtVaG0tITevZu/35WVldHR0W1mLdBZXLhwjldfXd1s2+zZ8xg7VqqEvvHGO4SGXsbf/xBLliwHYNOm7fcc5060tFoP0vfzz+sxMDDA1dVNts3d3QNvb2kmhLy8XH777b+8+ear/PLLphbdNXJzr7Fv3y7+9a/XWjxHXV0dgYEBPPnk8vvKeTdHjx5iwoRJqKmpd6heE/v27eb333/m66/XNeuLXl5jmvlMt0Tfvn0f6Jyt0Z6+13KZPlRVVVFXV0tFRQUikajFMtnZWbJjqKio3OOj3qdPnzbOI1/joCP0KOA99NAKNjb2hIdfpri4iMLCAgYMGNjdIj00Njb2JCXFc+NGIWfPnmDGjPkKHewLwNzcipKSYqKiwjhzJhANDQ2MjIa1XVGOMTe3QllZhRMnjpCTk83hw3uZPn1ul+Slf1TY2jpiYNCPEyf8uXXrJnv3bmfs2AlYWFh3t2gPhEAgwNLShv79B3Dq1HGuXy8kOPgMWVnpjBvnd8+HhCIgEAiwsXFg6NBhBAefJT09jdTUJDIzr+Li4o6Dg7PCTQQpKSnh5OSKjY09V65EERMTSXHxDfz999OvnyFubp5d/rx41NMx5eW3qKrSfWhffje3kbzyyqt8++1XfP75R6ioqLB8+XNcuRIte2/cuVI7ceJk1qx5DwAfnwmcP3+GrVs38+ab7zBkiJGs3JNPzuf69QIAHByc+e67/8hW2hcsWE5ubhbvvruG+Ph4lJWVaWiovz1pPISMjHT69TOUKd8Aw4aZoK2tQ1ZWpkwB799/YLMo6/r6BpSVlQFSxau2tpbXX2/uN9rQ0NBm9Hdv73F4e49r897Z2Nihra2Ls/MInJxc0dTU4YcfvkUikXD9+nWuX7+Oiooq5uYWWFhY0b//YIV9F2dlZVJSUoSLS/O0oE2TGyBVeiwtrWUKF8DgwQ/mH79ly2aCggJZv/7XZsHuJkzwk/3f1NQMU1MzFiyYRXR0ZDNFHaCo6AZvvLGSceMmMGPGEy2e5/z5M1RXVzF58rR2yxYfH0tWViYffPBpB69KytmzQZSVlfK//22Q9eUmNDW15DpzQA8do0cB76GHVlBX18Dc3Irk5ARiYyMfCwVcIBAwdux49u7dQX5+PmlpyQq/Ygzg7j6K4uIb5ORkERh4lNmzF9Knj0HbFeWYYcNM8fObSmDgMQoLC/D338+UKbNaja6rCBgaDmDu3CWcPHmUvLxrnDp1nNzcLMaM8VXYfOG9evVm9uxFxMdf4fLl8+Tm5rBr15+4uXlgZ+eskB/VWlo6+PlNl00qXL9eQEhIMPHxMXh6jlHIaOmqqmqMGOGBnZ0TkZGhxMfHcOPGdfz9D2BkZIyb2yj69TPs9PMKBAL+HDaQmtsruAIB6OtrU1JS2WoU7OSaur9XvO/gz2EDsdK4d/yLRSJSUxOJi7vCzZtlKItFbA1RwszMnOHD3R7qWbhw4ZMsWLCEkpJidHR0KCgo4Ndff2LgQGm+9TtXMe9csaytrSUlJQklJSWuXbvW7JjffvujzB//7ueZkpISdnZOvP7623zxxUeySMrV1VVcuHCGjIwM6upqqaqqvK9Vxt3PE4FAgEQideepqakBYO3aH+4JotgVk5wCgYC+ffshEAhYsuRpCgtzWLduHampqc3KKSkpIRAIaTJcOHnyAgD6+vokJSU0K9u0eqev37IVUZ8++rIJhyYaGxupqCjvdMuj4OBzuLq6d/jddOfkTUvcOaHTxPbtW9i2bTM//PAzZmbm960/aNBg9PT0yM291kwBLy4uYuXKl7Czc+Ctt95vtb6//yE8PUd36H4dOXIQc3MLrKwebGLZ3NyS1NRkjh49jJWVTTMrlsDA4/c1ywf49tv/dMhcvi3a0/f09fUpLS29q0wpWlpaqKmpIxQqoaSk1GKZO4/R0NBARUVFs8nru8vI8zjoKIr5xdNDD48IW1sHkpMTyMi4SkVFOTo6rfsKKQoGBoY4O48gMjKUixfPYWQ0TKEjiIP0A2fixKns37+D0tJSjh8/zJw5i1BXV+zrGjbMnBkz5nD06CEKCvI4fHgP06bNUej20tTUZPr0OVy6dJbY2BiSk5MoK7uJn980hYu+3YRAIMDe3okhQ4Zy6tRxbtwoJDj4HJmZ6fj4TFLY54ahYX9mz15ISkoily6do7KyksDAY6SkJDFq1FiFdGHR0NDAy2ssdnaOhIUFk55+lZycLHJyshg2zAwXlxH06zegU88pEAjQvP0hLRCAlpISNUJhqwq4+u1JGwEgueNfdaEQzZYmdIRChts64mzjQE5OJpGRYRQW5pOamkxqajKmpha4uLhjYPBg5qkCgUBW99SpE/TrZ4iFhXQSprVVzJ9++h6hUMi33/7Im2+uwtPTS7ZC2r9/2/fXx2cCO3b8RWpqKqqqqgwdaoyWlhYaGhqUlZXxyy8/YmVljaOjC/X1jVRWVjBsmEm7rmfYsGGoqqpy/Xrhfc3NH4bExOaKQkJCPEOGGNG7dx/MzYdiaChdzU9JSSAvL1cW60MoFGJkZMzQoSaIxWKEQiG2tvb89ddGyspKZRGjw8ND0dLSwti45Wu2s3OgsrKC5OQkmTIYFRWBWCy+b1CuByE4+HyLq8gJCXE4OQ0HpEpPSkoSc+bMl+3vqAn6tm1/8tdfG/nuu5+a+fS2xo0b17l16xYGBn9PQBUV3WDlypewtLTivfc+anWCND8/j6ioCP7979Yjv99NdXU1p0+f4qWXWo/I3RaDBg1mxYrXWLnyRYRCIatXvy3b1x0m6O3pe7a29oSENI/BEx4eiq2t1AJCRUUFCwsrIiPDGDNmLCCN5RAZGc7s2dL+YGlpjbKyMpGRYTK3hZycLK5fL5QdR97HQUdRvKn5Hnp4hBgaDkBfXx+JREJiYmx3i9NpuLqOpE8fA2pra7h48Wx3i9MpqKqqMX36XHR0dLl16ybHjx/u0gjBj4oBAwYza9Y8NDQ0KCq6wb592ykvv9ndYj0UQqEQLy8fJkyYdPtDuIA9e7aSm5vT3aI9FHp6vXniiQW4uIxAKBSSl5fLzp1/Eh9/RWEj2gsEAqysbFm8+Glsbe0RCoVkZ2eyc+efXLp0jtpaxQyop6fXm4kTp7N48VMyN4jMzKvs3buDY8cOcvNmWRtH6Dr6KCuhr6yEjYYa/zfQABsNNfSVleijfP+0YwKBgKFDTZg9eyHTp89mwACpopuensru3Vs4cmQf2dkZHQrsuH37X6SnXyUjI53Nm/9g69bNvPbamvumQLt0KZijRw/z4YefM2LESBYvXsYXX3xMeXl5u88L8NJLKzl69DC1tbWYmlry5JPPsWzZcxgY9CU4OJjo6Cg2bvyVN99ciYWFVZsrok1oamqxcOGTrF+/juPH/cnLyyUlJZm9e3fek0f6bs6dO8PixXPuWwbg+vVC1q9fR05OFidPBrBv3y7mzl0o29+njz4uLm4sXvw0K1asZvLk6Rgbm6ClpUVJSRFRUaFs3foHERGh2NraYWw8jM8++5C0tFRCQy/z++//Y/bs+TLT/cTEeBYvnkNRkTQYpLHxMNzdPVm79nMSE+OJjY1h3bq1jB8/sUMTMQ0NDaSlpZCWlkJDQwNFRUWkpaWQmyu1aigrKyU5ORFPz3tXs/fv38O5c2fIzs5i3bqvqaioYOrUvyODDx485L6/O1N4bd26mT/++IV33/2QAQMGUFJSTElJMdXV1YBU+f3vf38kPj6OgoJ8IiLCeOedNxg0aAhubtJUWFLl+0UMDfuzYsVr3LxZJjvO3Rw9ehh9fQNGjvS8Z19rfeD06UBEIhETJ05p9/1tCSOjoaxf/wvnzp3mxx+/k23X1NRq857d6XdeUlJMWloKeXm5AGRkXCUtLYXy8luyMoWFhaSlpXD9eiEikVjW1k331c1tZJt9b9asOeTn5/Hzzz+SnZ3F/v17OHPmFAsW/J0vfuHCJRw5cpDjx/3Jysrk22+/oqamhqlTpRYu2traTJs2k/XrvycqKoLk5CS+/PJT7OwcsLOzb7csXTUOuoKeFfAeemgDR0cXTp8OJCkpAVdXj07PvdodKCkpMW6cL/v37yQ1NYlhw0wwNb2/75sioKWlzdSps9i/fycFBXmcPHmMiROnKaQZ8J0YGPRj1qwFHDy4i/LyW+zfv5OZM+d3a47RzsDCwgZDw4EEBByhpKSII0f24ezsgpubl8K2mZKSEu7uozE3t+Hs2ZMUFuZz/nwQKSkJjBs3sVmeZUVCXV0Db29fHBxcuHjxLDk5WcTERJKcnIC7uyc2NooZqLJXr95MmDCZ4cPduHTpLDk52WRlZZCdnYmlpQ0jRng8cguG/irKBFoMRUUgVarn9dalQQKqwvbf3yFDjBkyxJgbNwqJjo4gIyONa9eyuXYtGz09PZyd3bCwsG7zfRYScom//tpIfX0DZmbmfPXVd3h4jGq1fFlZGf/+92c888wLWFpKV8mfffZFwsJC+Pbbr/j006/afQ0uLiNwcRlBWFgIIB1b5uaW/O9/G/n3vz8lKCgIgAEDBmBra82ff/6OqakpNTXVbR77+edfRk+vN1u2bCI/Pw9tbR0sLKxYtuzp+9arqqokJye7zeNPmjSVuro6nn9+OUKhEnPnLmTmzNktltXQ0MLBYTj29s4UFd0gLi6K9PQ0KisrCQu7SHj4JSZNmsyFC+d56aWn0dDQYNKkaTz77IuyY9TW1pKTk90s1d5HH33GunVrWbXqFYRCAd7ePrz22ppm5/bycuW99/429b+b4uIinn56iezvHTu2sGPHFpychvPTT79x8eJ5rK1t0dPTu6fuSy+tYOvWzVy9msqgQUP4+ut1LZZrDwcP7qOhoYEPPni72fann36eZ599ESUlIenpaRw/7k9lZQUGBn0ZMWIkzz//kkw5Cw8PJTf3Grm513jiieZKcnBwhOz/YrGY48f9mTx5Wovjo7U+4O9/GG/vcS3G/ygoyGfevBmsX/8LEye2HUPAyMiYH3/8RbYSvnLl623WuZuDB/exadPvsr//9a/nAZq194YNvzSbdGpq6//85xeGD3dFSUmJtWt/4Ntvv2q17w0cOIi1a39g/fp17Nmzk759+/H22x80y40+fvxEbt4s448/fqG0tAQzMwu++259MzPwlStXIxAIef/9t2hoqMfNzYM33vi7vdsjy4OOg+5AIFHUaflWKCqq6G4R2kQgAAMDHYqLK1o1QetBfhCJRGzZ8gfV1VX4+Exql+nT/ZCn9j97NpDExHg0NTVZtOipB47aKW9cu5aFv/8BJBIJDg5OeHn5dLdIMh6m/W/eLOXIkX1UVFSgpqbO1Kmz6N9f8WMTNDY2cO5cECkpiQAMGWKEr+801NUVuz+KxWLi42MICQmmsbHxtnI+ivHjvSktrer28f+gSCQSsrKucuHCGSorpami+vbth6enN4MGPVhgJXmhoCCPqKgwsrOlKdiEQiGmpmaMGDGqU0zuu+v5X15+i+jocJKTExCJRIB0wtLRcTjW1na88carmJtbsmrVG49OqE6gpqaaxMQ4EhJiqaz8+/tv8GAjbG0dGTbM9KEm8zZs+JULF86xefP9zaXvZMWKF1q9l+1t//r6Oq5eTSUlJZGCgr8j3EvNea2xsrKjXz/Dh5r0ys/PY9Gi2WzduqdZkLyO8Pbbr+Pg4CSLbA5/K5ubNm1rM6jdP4WoqAjee28Ne/YcwsRkkFx8//XQNfTt2z5XunYr4E0v2bbQ1u7eVCU9CngPXUFkZBihocH06aPP/PlLH+qFLk/tX19fx44dm6mqqsLOzokxY+RHUX1YYmLCuXRJGsTG23uCzI+ou3nY9q+pqebo0YPcuFGIsrIyvr6TGTasfaaX8s6VK+FcvnwRsViMrm4vfH2nYGjYuf643UFpaTGnT5/gxo3rAAwePJjRo8fTu7dipmFrorGxgejocK5ciaK+vh6AIUOG4uExGgODfm3Ulm8KC/MJC7skc4sQCoVYWdkyfLjbPbmHO0J3P/+rq6uIj48hISFOtlKsoqLCuXPnyc29hoqKCr/8sglTU7NHL9xDIBaLychIIz4+mvz8vwPYaWlpYW5uiZ2dE7q6eu0+XmFhIUuXzqOhoQFjY5NHroDfSVlZKYmJsaSmJskCyAH07q2PmZkFlpbWHbq2Jvbt201WVmazVcaOsm3bn0yY4NcsKn2PAn4v//3vj/Tu3ZslS5bJzfdfD11DpyvgVlZW951pk0gkCAQCkpKS2idhF9GjgPfQFdTU1PDXX78hEomYPHn6Qyk88tb+OTlZ+PvvB2DGjLkMHvxgM+HySEjIBaKiwhEIBPj5TcfEpPs/Kjuj/RsaGm6nKMtCIBDg6TkaR0fXzhW0m7hxo5DAwKOUl99CKBTi6urO8OHuCmuS3oRYLL6dY/sCDQ31CIVC7OwccHcfrdDp5UA6KRQefpmEhFjZt4C1tR3u7l4KHTAQIDs7g4iIy1y/Lp08EQqFWFhY4eTk+kDRxeXl+S8SNZKamkx0dDg3b5ZRXV2NRCLByGgYY8b4KHTWj1u3bpKYGEdycrxMYRUIBBgbm2Jn58jgwUZtrhw3NjZSWChNlaaiotJMwWyLzlbAmxCJROTmZpOamkxGRprMkgGkK/7W1vYMG2ba7RklehTw1pGX8d9D19HpCnhYWJjs/xKJhBdeeIHPP/8cQ8PmaTvc3NzurvpI6VHAe+gqTp06RmpqMoMHD2HGjHkPfBx5bP9z54JISLiCtrYO8+c/qfDRw5uQSCScPXuSpKR4lJSUmDJlBkOGdG+O8M5qf5FIxKlTR0lPvwqAm5snLi7uCumHezd1dbWcPXuK9HRpmp4BAwYyceL0e6LiKiKVlRVcunSGq1el7aajo4uPj5/Cm24DFBffIDj4DPn5UpNZVVU1XFzccHBwRklJsUPOFBTkERERwrVrUt9PgUCAiYkZ7u5eHTJNl7fnv1gsJj09hbi4GJnCCdIxZ2fniKmppcJOfkknGZKIj4+hqKhItr1XLz0sLW2wsbF/5HmVO6v96+rqSEtLIjExjuLiv69NTU2NYcPMsLS0YsCAIQrbdo8r8jb+e+h8Ol0BvxtnZ2cOHz7MkCHy9dHQo4D30FWUlpawc+efACxcuPyBcwjKY/s3NDSwa9dflJffwsTElEmTZrZdSUGQBlQ5RHZ2JioqKsycObfT0wx1hM5sf7FYzMWLZ4mLiwHAzs4RL69xj8VHl0Qi4cqVCEJCpCbpmppaTJgwWeEtNAQC6NNHiwsXLhMSEiyLIm5lZYun55jHYvLr2rVsLl8+L1MMtLS0GDHCAysrO4XvmwUFeYSEXKCgQGrmLBAIMDOzxMXFvV3vBHl8/jdx40YhMTGRpKenyqL26+r2wsFhOFZWtrJgVopIcXERiYmxpKQk0dAgdZcQCoWYmJhja+vAwIGDH8nkZVe0f2mpNNp1SkpiMz94Xd1e2NjYY2FhrbApHh835Hn899A59CjgckzPAFRcjh8/RGZmOjY29owd6/tAx5DX9s/JycTf/wAAfn5TH4uo6E3U19dx4MAuSkqK0dLSZvbsRS1GKn0UdEX7x8ZGExx8BpD64E6cOPWxCah340YhQUEBlJWVAjB8uBsjRihuNoI727+mpobQ0IskJEhTHKqpqePu7oGNjaPCK6pisZjU1CRCQi7IUtr069cfD4/Rj8Vqf37+NaKjI2TB2gCGDjVmxAiP+07wyevz/05u3SojOjqctLRUmbKqqqqKubkV9vZOD2R6Ly80NNSTlBRPfHwMN2/elG3v1UsPCwsrrKzsujTqfVe2v0QiITc3h7i4aK5dy25moj5gwCBMTEywsLBFQ0Ozc0/cQ7tRhPHfw8PRo4DLMT0DUHEpKMjjwIFdKCkpsWTJ02hrd/xFLc/tf+FCEHFxV9DQ0GThwmWP1Yu6urqSgwf3cPNmGb1792HWrPndcn1d1f7p6amcOnUckUiEnl5vZsyY80D9Ux5paGjg4sWzJCbGAWBg0JeJE6d1SlTqR01L7V9QkM/Zs4GySYaBAwczbpwvvXop3vXdTX19HeHhl0hIiJOlhjEyMmbEiJEYGiqun3ETRUXXCQ8PISsrXbZt2DAzhg8f0WIAQXl+/t9NQ0MDKSmJxMZGNcuLPnToMJycXB/ZqnFXIBaLuXGjgOTkRNLSkmloaACkFg1GRsbY2TkyZIhxp0+EPar2r6urJSPjKsnJCc2iqAuFQoyNTbGwsGLo0GEK7xqiaCjS+O/hwehRwOWYngGouEgkEvbs2UpxcRF2dg6MGTOhw8eQ5/YXiRrZs2c7paXFmJiY4ec3XWE/sFqioqKc/ft3UlVVib5+X2bMmPPIlfCubP/c3GxOnPCnrq7udk70JzAw6Nu5J+lGUlISOXfuFI2NjaipqTF2rC+mphbdLVaHaK39GxsbiYi4xJUr0YhEIpSUlBg+3A1n5xHdHlSpM6iqqiQiIpSkpDjEYjEAxsbDGDVq7GMx0VBYmEd4+GWuXcuRbRs4cDAODs4YG/+dCkuen/+tIU07l05MTDgFBX/7ievr98XOzhELC2uFDiTY0FB/21f8CiUlxbLtWlraWFpaY2Vli55en045V3e0f0VFOQkJMVy9mkp5eblsu6qqGkZGRlha2mBkZPJYvevlFUUc/z10jE5XwFesWNHs7zNnzjBy5Mh7Ipz+9NNP7RSxa+hRwHvoalJSEggKOoGKigpLlz7f4VzF8t7+xcU32Lt3O2KxmDFjfLCzc+pukTqVsrJSDhzYRW1tDQYGBsyatQBVVbVHdv6ubv+yshICAo5QVlaKiooKvr5TMTY26fwTdROlpcWcOhVAcfENACwtbRg1aqzC5Axvq/1v3izj/PnT5OZKg31pa2vj6TkGMzOrRyxp13DrVhkXL54jKysDkK7I2do64OLi/sgDYnUFpaUlt823k2UTDfr6Bri6jmTYMDOUlIRy/fxvi5KSYuLjr5CSkiCzaFBTU8PKyhYHh+Fdar79KCguvk5ychIpKYnU1dXKtg8aNBg7OyeMjU0fyv2lO9//YrGYkpIi0tKSSUtLpqqqSrZPW1sHc3MrLCys0Nd/fCZt5Q15//7r4eHpdAX8nXfeadfs2FdffdWuE3cVPQp4D12NWCxm584/uXmzDHd3L1xcOhb5XxHaPyzsIhERoSgrKzN37mKF9vlricLCPI4c2U9DQwODBg1h6tQnHtkq46No/7q6WgICjpCXdw2BQICbmwcuLiO75mTdgEgkIiIihKioMCQSCZqamowbN5GhQ+V/oqE97S+RSEhPTyU4+IzMf9rY2BQvr7EPlYNanigoyCU8PESWZ1tZWQUbG1tcXT0ei0B05eW3CA+/xNWrqTJfXD293jg5ueLpOYJbt2rl9vnfHmpra0lMjCU2NkrWR6WpvkywsXFgyJChCh3HoLGxkYyMq8TFRXH9eqFsu4aGBmZmllhaWj9QME95ef+LxWJycjJJSUkgJydH5usPoKenh6mpOTY2jgo/oSJvyEv799B1dLkJurzSo4D38ChISUkkKCgADQ0NnnzyuQ6Z3ylC+4tEIvbt205xcRH9+vXniScWKGzQq9bIzc3h2LFDNDY2YGxsgp/f9EdyjY+q/UUiEWfOnCA1NRl4vCKkN1FQkMfJk0eprKwEwMnJFXd3T7n2a+xI+9fW1hIScp6kpAQkEgnKysoMH+6Ok9NwlJUV1+T3TnJzcwgJucCNG9I822pqari6jsTW1vGxMb2Pj79CfHwMdXV1gFSJc3BwwsHBBRUV+YgsvmLFC8TERAF0KH+zSCQiPT2F5ORE2WQKSC03bG0dsLV1UhjrlNYoLS0hNTWJ5OQEqqv/XjW+ceMGp06dAmDevEUt5v2+G3l8/zc2NpCdnUlqahLZ2Zkyyw2QulGYmVliYmL2WFiodDcP2/5eXq58+eW3jBkzttNl66Fz6HQF3NramuDgYPT1Hyz10qOiRwHv4VEgEonYvn0TFRXleHqOwcnJtd11FaX9b926yZ4926ivr8PZeQQeHqO7W6ROJy/vGv7++xGJRJiamjNhwpQuV8IfZfuLxWLCwoKJiooAYPBgaYR0Rf8gvpPa2lrOnQuU5UPX1++Lr+9kubXaeJD2Ly0t5vz50+Tn5wJS5WbUKO/HJlOBRCIhJSWB8PDLVFRI3+FaWloMH+6OtbXtYzHZUF9fR0JCLNHR4bLUc2pq6tjbO2Fv73yPO9+jZsWKFxgyZCjPPfcivXrpySY/fvjhG2Jjr5CZmc7QocPYvHn7PXWvXk1j3bqvSUpKQFNTE1NTU6yspC4TysrKmJtbYWvrSL9+hg8l44YNv7Jp0+/MnDmbNWvek21PS0vh6aeXsGfPYQYM6LrAfk2rxnFx0eTmXqOhoYGGhgYuXLjAsGGmvPLKCkxMLO77DunK539UVAQ//fQ9mZkZ9OtnyPLlzzJlyvT71mlqu+TkxNvBO2fh6OhIRsbVZiv/AoEAQ8P+WFraYGpq2ewdcu7caQ4e3EdKSjLl5bfuO4Ezb94M3nrrfUaMcO+ci75NY2Mjv/32MyEhF8nPz0NLSxtXVzdefnllszgoc+dOb5bvHuDFF1ewdOlTgPQe7t69naSkBKqqqhg82IjFi5cyceJkWfk7J6vuxMNjFN9882OL8n3xxcccP+5/z3ZjYxO2bt3d7uvsbAW8rfHdnvsBcPr0Kf74438UFhYwePAQXn55JR4eXrL9EomEDRt+5ciRA1RUVGJv78ibb77DkCF/pxUtL7/F999/w8WLFxAKBXh7+7Bq1Ztoav4dp+fu/jpnznyWLFneIVla4kHGTmu0VwFv91LIY7ZQ3kMPD4WSkhIODs4AxMREyHzhHid69dJj3DhpqrXo6HBycrK6V6AuYNCgIUyaNB2hUEh6ehqnTh1rNvuv6AiFQkaOHIOf3zSUlZXJzc1m795tFBVd727ROg11dXX8/GYwadIM1NU1KCkpYvfubYSHX3ps2rJPHwNmzpyHr+8UNDQ0qKys5MSJoxw/fohbt252t3gPjUAgwMrKjsWLn2HsWF+0tXWoqqriwoXTbN26gZiYiGYplRQRVVU1nJ1HsHz584wfP55evfSoq6slIiKEv/76jZMn/WVxDZpILKzg5d1XSCx8NAsL6urq6Osb3GN5MHXqDHx8Wk67WVVVyerVK+jffwAbNmzl9dffIiEhAbFY2m8bGxtJSopn795t7Nr1JwkJVxCJHvx9qaqqhr//oWbB7h4VTRHEp0+fy7Jlz+HtPUFmal9efpOTJ4/z55+/cunSOUpLi9s+YCeSn5/HW2+9hrOzK5s2bWf+/EV8/fXnhIZebrXOnW33xx9beOWVV9myZTM5ObnMmbOYpUufw8NjNAYGfZFIJBQWFnDuXBCbN//C0aMHSU6Op7a2lpqaGhwcnHj55ZX3lfHq1TQqKspxdnbp7MuntraW1NRkli9/jo0bt/LFF9+Qk5PN22+vvqfsc8+9xKFDAbLf3LkLZPvi42MxNTXn88/X8uefO5kyZTqff/4RFy9ekJX58stvmtX/6y9pZpxx41oPyrtq1ZscOhTA4cMBBAcHc+DAUXR1ezFu3PjOvREPwP3Gd3vuR1zcFT755H2mTZvJxo3bGD16LO+++yYZGVdlZbZt+5O9e3fy5pvv8ttvm9HQUGf16pUyqyCATz75PzIzM/j++//y9dc/cOVKNGvXfiHb31J/3bjxNw4d2t8hWe7mQcZOZ6D49l099NBN2NjYExERQnV1NampCdjYOHa3SJ2OqakFNjb2JCbGcerUMRYsWIqWVvfkz+4qhg41wdt7PGfOnCQ9PQ1NzbN4eY17rCLCmppa0KtXb44fP0R5+S0OHNjFuHG+mJtbd7donYaJiRn9+w/g9OkT5ORk3fYvvsb48ZMeC79pgUCAubkVQ4YM5fLl8yQnJ5KZmU52dhYODk4MH+6m8L7TSkpK2NjYY2lpTWJiPOHhl6murubSpfPEx1/B1XUkFhbWCu1GoaysgpeXFxYW9ly9mkZMTDhFRTdIS0slLS0VY2NTnJxcGDBgEMcSrxNx7RbHEq9j0797nruvvbYGkAYHbLIyuZPAwAAaGhp4990PUVFRwcTElLS0VC5cOMu2bXspLMwnLi6GjIw0SkpKOHcuiLNngzhy5Ahz5szj+edfAaQfzitXvsi33/4HV9fW46oYGQ2ld+/e/Pbbz3z22b9bLRcdHcnPP//I1atp6OrqMmnSNJ5//mXZ5MKKFS9gZmaOqqoqR44cQkVFhZkzZ/Pssy/KjlFRUcF///sDwcHnqK9vwMrKmpUrV2NuboGWlg6OjsNxdBxOUFAQuro6qKmpUVtbS0xMJDExkfTta4iJiSnW1vb3mG+PGuXKG2+8Q3DweaKjI9HXN+CVV1beV4m7HwcP7mPAgIGsXPk6IM0wEBsbw65d23F392ixTmttt2vXNmbOnI2Oji7OziNwdh4hC96WlZVBaWkJ2dkZZGdnIBSeYsiQoYwe7Y2a2v0tq4KDz+Hu7oGysjLHjh3hP//5jvfe+5iff/6RGzeu4+Q0nLff/gBDw/4dvn5tbW1++OHnZttWr36L559fTmFhIf37/31MTU1N9PVbtpBatuyZZn/Pn7+I8PAQzp07zahRUivAu98nQUGBqKmp37fttLW10dbWlllAXLgQQkVFOVOnzujQdd7Nhg2/cvjwfr777ifMzMw7XL+t8d2e+7Fnz07c3T1YvHgZAM8//zLh4aHs27ebNWveu509aAfLlj3L6NFjAfjgg0+ZMWMiFy6cZcIEP7KyMgkNvcQff/yFlZWNTLY1a1axYsVrGBj0bbO/tkeWlniQsdMZdEgB37NnTzNTgJZYtmzZQwnUQw+KgoqKKo6OLoSFXSI6OhIrK3uF/jBsDU/PMeTmZlNeXk5QUADTp899rJRTAGtre0QiEefPnyYuLgbgsVPCDQz6Mnv2Ao4dO0RR0Q1OnjxORUUFzs4jHpvr1NTUYsqUWcTEhBMeHkJBQR67dv2Fh8cYbG0dHovrVFfXYNw4PxwdXbh48RzXrmUTExNJUlI8I0aMxM7OWeGfQ0pKytjbO2FlZUNMTATx8bGUl9/i9OkT/D977x0e13Ue6L8z6B0YYHpH72DvKhQpUtW2LNlSrNhx1inejbN2Nv23TuzYiZ2NHe/GSezYiVNdJNuSbInqpCQWUawA0TswvaN3TPv9McCQQ4AkSKLMDOZ9Hj6Q7r0zc+Z+8517vvO1y5fPs2XLdqqqYme+DQaDzPpC0RgCYHrex5wviEpXikJTjMVioKXlCjablaYBK+f6HeTnFfDaaKjI11tdbg5XhMJo89KTkeXe3NBJTxau22+9ra2FLVu2RtRB2b17Lz/60X8wMTGBXK5ELlcyMTFOW1sTPT3dTE1Nsn37Nv7rv/4dn2+OvXvv4Wtf+ypPPvnxmxrfi3z2s7/Lb/7mp+jq6ggv1q/F7Xbxh3/4eR5++HG++MWvYDQa+Ju/+UtSU1MjDOzXXz/G008/y/e//++0tbXwta/9BfX1DezcGSpY+Wd/9sekpaXxzW9+m6ysbH75yxf5whf+Oz/5yYsRRlhKSgoqlZZf+7XfxmQy8M1vfg2Hw8Hhw4fDfeJ1uhIqKqrRanXh1/3Lv3yXz372d/n853+fN998jS9/+X+j15eg0+kB+NVf/ThOZ2S49LXU12/lb//22wC0t7eyY0dkWPeuXXv59rf/9oavv5nsxsfHyc29WoCtsFBMYaGYPXvuYXjYQ29vNz09HUxMTGA0DmI0DjI7G/JmGgz96PXFS1JHzpw5xdNPfyL8/7Ozs/znf/4rX/ziX5CcnMLf/u1f8+Uv/39897v/CkBzcxN/8Af/84bjB/jDP/z/loRDLzI5OYlAICAnJzvi+A9/+B/8+7//AKlUyoMPPsTHP/6Jm9abmJycRKvV3/D8sWO/5NChI7eVRnLs2C/ZsWMXMtntF/KD0Jzy//7fNzh79gz/+I//gkoVagn9jW98jbfeev2mr3377dM3PX8rrr8fbW0tPPPMsxHX7N69l1On3gNCHuahoSF27ryq29nZ2VRX19LW1srhw0dpa2shOzsnQp937NiFUCikvb2N++47uKLf663Gshx3ojurwW0Z4M8999xNH3gCgSBhgCfYVDQ0bKOlpYmxsVF6ejqprKzZ6CGtOqmpaTz44CP84hc/w2Ix09LSREPDto0e1qpTW7uFpKRk3n33LVpbr+Dz+bjvvsMxs8hfCVlZOTzxxDOcPv0OnZ1tnDt3hqEhN/fffySm+/hei1AoZNu23RQXl/Puu29ht1s5deoEPT0dHDz4IAUF0ZkbfruIREU89thHMRgGOH36HSYnJzhz5iRdXZ0cOHA/CoVqo4d416SkpLJz5z62bNlJW9sVmpouMjY2ysmTJ7hy5TJ79hyguLgsqjdWgsEgv/FcMy228VtcKV34t4AbIJT6NzLj5Tefa17xZzYocvnnZxrW5b4MDw8tybsuKBCFzy0acTk5uezdex+7d9+DwdBPW1szNpuNl19+mTNnzjAzM8PWrdsYGxslLy//pp9ZUVHJwYOH+e53/56/+7vvLjn/4os/QyKR8r/+1x8hEAjQanV4PG6++92/59d//TfDc3pJSRn/7b/9FgBqtYYXX/wply5dZOfOPTQ3X6Gzs51XXnmb1NRQobzPfe4LnD79Hu++eyLscbuW5ORkiotLqa/fhkRiZ/fufXR3dzA6OsrAQC8DA72kpaVTWloCwP33H+Lxxz8CXPXU/fznz/MHf/AnAHzzm3930/S2tLSr7TOHhoYQiSJ7lYtEIqamppibm13WO71S2V2PSFTE7t1F7Ny5F6fTjsHQT19fD5OTNgAuXPgAg6Gf4uIySkrKUas1DA8P09/fy549++lwTPCfF0z4fD5+7/f+iJqaWgC++MW/4Nlnn6Kjo43q6loqK6v4t39bWnPg+u+4HHNzc3z3u3/P4cNHycq6aoA/9dTTlJdXkpubR1tbM//0T//I0JCH3/3dpaHqACdOvE1XV8cNvacdHW0MDPTzJ3/yZzcd57U4nU7OnTvLn//5X674Ndfi9/v4ylf+jN7ebr7znX9BLJaEz/3Gb3yWX/mVT97R+66E5e7H8PBQ+HezSEGBiOHhofD50LHCm15TUFAQcT45OZmcnNyIa271e73VWJbjTnRnNbgtA/yFF16I+iJsCRKsJykpqWzduoMPPjjNpUsfUFZWGXfVwgGkUgX799/HqVPv8MEHp5BKZchka1fsZqOoqgotBN599y06O9vw+7088MDDcWWEJycnc/DgEcRiKWfOvEtvbzdut4uHH348boxTCLV8+shHPk5raxMffHAah8POT3/6Y/btu5fa2vUxTtYagUCAXl+CWq3lypWLXLnSiMfj4he/+Cl6fQl7995Dfv7yC9RYIiUlha1bd1JdXc/lyx/Q3t7K2Ngob755DJGokO3bd92y+NVGEvu/tDvnei/moseyuLiMHTv28NnP/jfMZjMPPfQQLS2NtLQ0kpGRyQ9/+F/hefeTn/z1JaGwv/Vb/4Nnn32KCxfOLVm4G40GamsjI17q6hqYmZnG5XKFw5FLSiJDdgsLixgZGQagr6+HmZkZHn00Mkd3bm4Oq9Vy0+/82c9+Lvzf27fvwe120tPTSW9vN9PTU7S3twMwPj7KhQvvU1ZWRUGBiNraOnp7e8KvvVPv6HohFArDEQ579txDW1szL7/8MqmpaXi9Xrq7O+ju7iA1NRW73UFJSRnp6em8dtHI4PAMqcIkqqquejy1Wh3Z2TkYjQaqq2tJS0sPe3ZvB5/Px5//+Z8AwfBmxiLPPPOr4f8uLS0jOTmFb3zja/z2b38uvNGySGPjJb7+9b/gj/7of1NcXLLsZx079ktKSkqprq5d8fh+8YtfkJ2dfceF1P7+7/8vKSkpfO97/05+fn7EuYIC0RIDdLVYyf1IsHJWbIDHw2IlQYK1oLZ2C42NFxgfH6e9/Qr19atfYCQaqKlpwGo109/fyxtvvMzHPvZs3OWDQ8gI93rnOHPmJD093aSkpHHvvYfibg6srW2goEDEG2+8zOjoCC+88BwPPvjoTUPtYg2BQEB9/TaUSjXvvPMmbreL06ffob+/h4MHj9zS0xYrJCcns2PHXmpqGjh//iydna0L+eGD1NdvZefOvVHT7upuSEtLY9+++9m2bTctLU20tDQyPDzE22+/Tk7OmbCRHk0bZgKBgH9+piEiBL2wKJshzyQ3Km3b7Zpc1uP9cGonRUmzaDQaGhp2IJXKl52X1jMEXSQqDButiyz+v0hUiFwuj/BiXutpmp2dZXJyCoFAQHl5FWlpqZjNRqamJjly5Ajp6eno9aVs3bq0y4hSqeLxx5/gn/7p72/L+3gt14cdCwSCcMHhmZlpCguL+Pu//96S12Vn395zTyyWIhZL2bv3XkymQXp62sOfcenSeS5dOk9hYRFOpz2i2ODthKAXFhYyPBwph+HhYbKysm7owbuV7G4HgUBAUVHIE/uhDz1FdnZW2Os/NTVFU0srBTI13/iX/+CtuVIgFB3S5ZxAIBSSn5GC/LrUijsJQff5fPzZn/0JDoeDb3/7uxHe7+Worq7F7/fjcNjQaHTh401Nl/njP/49fvd3/xcPP/zYsq+dmZnhxIm3+MxnPnvTz7iWYDDICy+8wNGjj9xx1NmOHbs4fvwtLlz4YEn4/VqFoN/sftzod7T4G1r8OzIyRFFRUcQ1paXl17zHSMR7+Hw+JibGI97nVr/XW41lOe5Ed1aDFRvgiSroCRIsT0pKCnV1DVy6dIErVy5TU7Mlaj0xd4NAIODgwSO4XA4mJiZ4881jfOQjT0fVYne1qK/fTlJSCidPHqe9vYVgMMh99x2OOyNcqVTz1FOf4I03XmZoaIhXX32JnTv3smPHnrj6roWFYp588hO0tV3h3Lkz2GwWnn/+P9m+fSdbt+6Om99wRkYm999/mOrqGk6dOoHL5eLKlcv09HSxa9deKitr4+K7pqdnsGvXvnAK0JUrl5mYmODUqXe4cuUy27btoqKiOmrmYYFAQEZK0sJ/Q2ZqMtOpSTdsQ5WeHJKRgFAQ+uJfaWEBglELNtMgNtMgYrGE2totlJZWbFgKSW1tPd///nfw+Xxhg/bixfNoNNpwCPNyXkyv18tXvvLnHDr0IBqNlv/4j3/jP//zOQQCaG1tor+/l+npaSwWIxaLEYlEitvtjFiL/vqv/wZPP/0Rjh9/K+K9tVodJ0++QzAYDM9jra3NZGZmIZFIWAkVFZUMDw+RlJS0aq3NhEIhen0JO3du4Stf+QoZGVloNHrMZgNDQx7a2loRiUQcO/Yi5eVVfP3r37zpPHxtCHpNTR3nzr0fcf7ixfPU1NTf8PUrkd2dfU8BSqUapVLNgQMH6e/v5kfP/RRz3a/TMi0CgqEWTMEAn/6HlwmKtAC88DENk5MT4Tz52w1BXzS+LRYT3/7291a0wdrX14NQKIyIFGpsvMQf//Hv8dnP/u6yqQaLvPvucbxeL0ePLp+DvhxNTZcxGo385V/+nxW/5noOHLiP/fvv5S/+4osIhUIOHz4aPrcWIei3uh+1tfVcunSRj3/8an7/xYvnqa2tA0ChUFJYWMilSxfD7emmpibp6GjjIx95Mvwek5MTdHV1UllZFf7cQCAQTlFYye/1VmNZjjvRndVgxU/iz33uc7cswJYgwWZly5adZGRkMjk5SXd3x0YPZ81ITU3j6NHHSEpKwuGwc+nSuY0e0ppRU1PPoUMPIRAI6Oho5cSJ1+OmrdW15OUV8NRTz1JTE6rif/HiB7zyygtMT09t8MhWF6FQSH39Np5++lMoFCp8Ph/nz3/ACy/8+Kb5YbGIRCLnox/9BEeOPEpubh7T01O8995xfvKTf6O3tyNufsdpaens3LmXT37yM2zbtpP09AzGx8d47723+dGPfkBj43l8Pu9GD/O2KchMpTAzhSppNn96uJQqaTaFmSk89fiH+ehHn6GyspakpCTcbhfvvvsW//mf3+fMmXeYmppc9bFYLGZ6e7sZHh5ibm6W3t5uenu78XpD9/XBBx8iJSWFr3/9KwwM9HPixFv87Gc/4emnn73p+37/+99hamqSL3zhD3j22V9Drdbw9a9/hfx8Effcc4hPfeq3ePjhD6HV6hEIBLhcTgyGAUZGhjhz5l08HjciUSFPP/0sP//58xHv/dGPfgyXy8n//b9/g9Fo4PTp9/jXf/0eTz/9iRVvQO3YsZuamjr+9E//gAsXzmG322htbeZ73/tHurpu/oz/p3/6B7761T+/5Wc0NV0GhDzwwEMMDQ0zPDxMeXk5JpOB48df5/XXf0FLy2Xm52dRKJSoVOqIf9fm/n7kI09is1n5znf+DqPRwIsv/ox33z0eUfTshRee5/Of/+/h/79T2V3P+PgYvb3dGAwDAJhMRnp7uxka8iAQCDCbLUjlKpJyFr2QoU2FoCCJ5JaXEA4b2D51gT/4g89TXFyCXh+KwloMQb/Zv8Xq8j6fjy9+8Y/o7u7kz//8LwkE/AwNeRga8oR/q21tLfz0pz+mt7cHq9XCW2+9zre//S2OHHk4bMA1Nl7ij/7oCzz11DPcf/8D4fcYHx9b8r2PHfsl99xz37KG/o1+A8eO/ZKGhgaKi0tv6x5fz333HeTP/uwv+NrXvsK77x4PHy8oEN3ynl3LrfR7JffjYx97hvPnz/KTn/wQo9HAD37wPbq6OnjyyY8DoQ3Ij33sV/iP//gBZ86cpL+/j7/8yy9RWCgOV0XX6fTs3r2Pv/mbv6Sjo42Wlit861t/w6FDR8J93Ffye73VWJaTzUp0Zy0QBFfo2v7nf/5nPvnJT5KeHnLHX758mbq6unDOxOTkJN/85jf58pe/vGaDXQlu9/r0y7wbFtsQeDwTN9wBTxB7NDdf5v33T5KTk8snPvFpkpKWDzCJB/l3d3dw4sQbADz22BNoNPETtnw9PT2dnDjxBsFgkOLiEo4cefyuvIjRLP+urnZOnjyO3+8nKyuLhx/+EBJJdOch3gmBQICmpvNcunQRv9+3ULhtF9u377qh3q4W6y1/v99HW1sLly59EO65Kpcr2LfvPqTS+JKt1+ulvb2FpqaLzMxMA6GWQ9u27aKqqi4qCg2uVP7zvgApSYJwWLTXHyQ1+eq8MzMzQ2dnKy0tjUxPh76rUCikpKSM2tqtSKWy25qnPve536KsrILPf/73lxy/cqVxyfU/+9nLYc9wX18v3/rW/6Grq4O8vHyefPLj/OqvfvqGn9XYeInf+73f4dvf/h4NDVsAsNttfPrTv8JnP/u7PPHEUxHXj42N0NZ2heef/wkDAwM88sgjABQUFKDRaPna1/6KsbGxiDGtpA3Z9d/3T//098nOzuF//+8vAzA9PcX3v/8d3nvvHUZHRxCJCtmyZRu//du/E9Eq6/r3+qu/+jJ2u41/+IfvL/nui/KvqKjgf/2vP+b06fdobm6isLCIz372d9m+fQc9PZ309HRGGDkZGRkUF5dTWlqOXK5cVraNjZf4+7//FgZDKDri05/+DR555PHw+R/84Hu8/voxfv7zV8LHbiW7xsZL/M//+dmIe3s9r732Cl/72l8sOf7rv/6bfOYzv81Xv/pnSKVy7v3wJ/nkD5sAEBovkNz6C3xbnyG/8yVmpiaQSCTs3r2b7OxsFAolpaWV6PUlS1q4LYfdbuNjH1u+pde3v/1PbNu2g+7uLv72b/8ak8nA/LwXhULB0aOP8PTTz4Ztmb/6qy/z+uvHlrzHli3bIuRpMhn4xCee4v/+338IV82/luV+A5OTk3z4w0f54he/yAMPPLxE/xfv45kzl274PQ8c2MHXvvbNcP74iRNv81d/9WW+9KWvct99D9zwdTfiVvq90vvxzjvH+ed//g4Ohx2VSs3/+B//k717D4TPB4PBhZZpLzE5OUFd3RZ+//f/GI1GG75mfHyMb33rb3j//dMIhQLuu+8BvvCFP4xw/q5krrnVWJaTza1053YQi1eWorJiA7yqqoozZ86Ei7Bt27aNX/7yl6jVod0Uj8fDPffcQ2dn5x0NeLVIGOAJNgqfz8sPf/ivTE9PsWfPfrZt273sdfEi/8Xw7LS0dJ588pm4KPZ0I9rbmzl1KhTSqNeXcOTIo3dsqEW7/B0OK2++eYypqSmSkpK4554HqKqqjauQ9EXGx8c4ffodjMZBINTf9Z57DqLVFq/ZZ26U/Gdmprlw4X06OzsIBEJ5piUl5ezatW/NivZsFF6vl5aWS7S0XGFmZgYIha3X1TVQU9OwogX9WrHa8vf7/fT0dNDV1Y7dbgsfF4lE1NY2UFVVt6K56kYGeDQRCAQwmw10dbUzONgfjuQQCpPQ64uprKxBrdate5rF7dy7aw3waw2p6wkEAlitZrq72zGZDMzOzobPZWRkoNOVUF1dh0QiW9O5+dVXX+a//uvf+OEPf3bTVl03wufz8aEPHeWb3/w7hIVaPvnDJgSAYMEAn3/sa/zns1uRps7R19dDb28nY2OR3maJRIZaraakpCKcZx6r3Ez/f/CD79HUdHnZjZsEscOqG+CVlZW8//77YQN869atvPzyywkD/A6I9gV4gjtn0QuelpbGs89+Jhwxci3xIn+/38cLLzyHx+OioEDEU099Ii4KPd2I/v5u3n77DQIBPyqVhocf/tAdfd9YkP/MzBTvvPNW2DAtK6vknnseWPb3HOsEg0H6+3s5ffpE2FirrKxm//7716QAy0bLf2JinAsXzoZTZUIFsCrZu/e+uEsz8/m8dHd30tR0MexNTEpKorKyhu3bd992Ma3VYC3l73a7aG1toqenM2ycZmRkUlVVS01NPTk5N87r/dznfou2thZSUlL4p3/6N0pK7i5Edq2Znp6ks7OV3t6eiBSSkKe4lNrarRQWrm1Xh7feep1vfONrzM3N8eSTT6+qAX4tfr8fq9VMX183/f094fBgCLV3Ky2tQK8vQSK5vaiHlfDFL/4xDzzwIA88cPiOXj8yMswvf/kiv/Zrn8E1Oc+v/bARaU4apZPtvP3T75P5sb/hP351G9Kca1uquTAYDAwO9uFyOSLer6BAhF5fil5fglgsjbmaFjfT/9/8zU/xe7/3R7dVUT1B9JEwwKOYjV6AJVg7fD4fP/7xvzI5Ocn27bvYvfvAkmviSf6jo8P8/Oc/Zn5+nrKyCg4ffiQuPaWLWCwmXnvtl/h8XoqKinj88SfJyLg9b1qsyD8YDNLUdJHz598nGAySk5PDgw8+Gpft5yDkIT59+gR9fb0AZGZmceDAQUpKVrfPdLTI3+Nxc+bMu9hsoZZKqampbN26k/r6bVERqr2aBAIB+vq6uHjxHGNjo0AoXLu8vIotW7YjEq1f+731kP/U1AQtLY309HQxNTW18LkCFAoFNTUNlJRULPlNu92ucIqCVCqLqd+Ax+Omq6uN7u5O5uaueoqlUjlVVTWUllaQmpp2k3e4M6anp8LVk7Ozc5a0hFqOOzHAr8Xn8zIw0IvBMIDBMBhR4yAnJ4eKihrKyiqjNqplMbXi9deP8e1v/y0vH3snIrXieiYnJ+jt7WRwsB+n00kweLV+RXp6BhqNhvLyGpRKddQUXbwZ0TL/J1g7EgZ4FJNQwPimp6eT48dfJyUlhWef/cwSr1K8yd9g6Of1118mGAyyb9+9bNmytGVMPOF02nnllReYn58nPz+fj3zk6dsKaY01+YeK1bzCzMwMSUlJ7N9/PzU19XG70WK1mjl58jijo6GWKAqFinvvfWDVjLRok//AQC8XL55jaMgNhDym9fUNNDTsIDk5doywlRAIBDAY+mlpaQpvPECoSve2bbtRqTRrPob1lL/f78dg6Ke9vQWLxRQ+npubR3V1HVVVtWRkxE/Ug8/no6+vi56eTqxWS7hielJSEmq1lurqWjSa4g31mq6m/L1eL0bjIN3dbZjNpojiioWFYnQ6PWVllTecu9pnZvmWY4j/JSukJiP6o5vm5mYxmQwMDPRhNEZuPqSmpqLV6lGrteh0JaSnZ2zgSG9MtM3/CVafNTHAv/CFL4SNiW9+85t85jOfoaCgAICpqSm+/e1vJwzwFZBQwPgmGAzy85//GLfbSX39Vg4cOBhxPh7l39LSxJkz7yIQCHjkkY/EVS/p5XA6bbz66i+YnZ0lLy+fD33oqZuGd15LLMp/enqS48ffCC/iS0rKOXjwwTXxKkUDfr+Py5cv0Nh4gUAgQFJSEtu27WLr1p13lAd5LdEo/2AwSG9vFxcunA2HamdmZrJr134qK2tiLsxzJTgcNpqaLjI42B8+plCo2LZtJ2q1bs02mDZK/h6Pi5aWRgYG+pifnwdCudMajZba2gZUKm1cyXlqapKenk66utoj+gJnZmZRVlZJeXlVRBXx9WKt5D87O8PgYD8DA72YzcYIY1wsllJaWk5xcVlExe6v2zz8eHiMZwvz+BP5+kWBrAY+nxeDoR+j0YDZbIzo2iEUClEq1RQXl6HTFd+yF/h6Eo3zf4LVZdUN8AceWFl1vXfeeWdF160VCQM8QTRgNht55ZUXEAqFPP30r1JQcPXhFo/yDwaDvPfe23R2tpGSksITTzwd88VSbsXo6AivvPICExPjZGVl89hjT1BYKL7l62JV/sFgkObmy5w7d4ZAIEB2djaHDj2EUrn2XsONwuNxcvLkCZzOUB5ibm4e9977wF1V/Y9m+fv9flpaGmlqusTsbCgfPi8vn1279lFSUh5XBtoibreTxsYLEUW9RKJCamrqqKqqv+sNl+vZaPl7vV76+rppa2vG7XaGj4tERdTWNlBeXhWuCB0PBAIB7HYzXV3tGAyGiBD1vLw8yssrqaqqX7d6AOsh/9nZGfr6uunu7sDliuydniSVk6vUoNUW86ejcwz7/YiSkviuTk4QKEgSokiNrciXYDCI02mnv7+HgYFeJiYi7YDCwiKUShUlJeXIZMoNjd7aaP1PsPasugFuNpvD4ebRTMIATxAtvPjij3E4HGi1Oh599KPh4/Eqf5/Py4sv/gSPx0Nubi4f+9gnSUuLTw/pIpOTE7zyyguMjAyTkpLCkSOP3rKCdqzL3+Gw8eabrzA1NYVAIGDnzr1s27YrLo0zCC3g+/t7OXv2vXA+rVqt5p57DpOfX3Db7xcL8vd652lvb6Gx8UK4+nLIEN9DaWlVXKYfTE5O0NzcSHt7Szi0NRSOv5WamvpVC2mNJvnb7WZaWpowGAbx+0OV8VNSUtBq9dTU1COXq+JKr/1+PybTIN3dnRgM/RFeYpVKQ1lZJXp96ZoWm1xv+U9NTWIwDNDf34vVauI791zTqisYDA3oOlprS9Z+YGtEMBhkaMiDyTTI4GBfePN0kczMLLRaPVptMSqVet2juKJJ/xOsDWsSgq5QKNi9ezd79uxhz549SKXSuxrkWpAwwBNECw6HlRdffB6AJ554GrlcCcS3/CcmxnnhhZ8wPT2FRqPnkUc+HFcLuOWYnZ3h5Zd/jsfjRigUcvjww5SWVtzw+niQf6hK+hsYjUYA5HIlhw49RG5u3gaPbO2Yn5/n4sWztLQ0EQwGSUpKZufOPTQ0bL+t4j+xJP/5+fkFj/jFcOVlqVTG7t0HUCrVcWmIz8zM0Nx8kc7O9nBV/OTkZMrLq6itbbjryJ5olP/s7Czd3R20tzeHax9AyCteXV1HeXll1ObU3ikzM1N0d3cwODiA3W4NH1/MF6+paUCtXv2w/I2U/8zMNP/W28f3BJkEltFdYTDIn+Rl8IxaETe6PT09RV9fF0bjAA6HI6KCvFAoRCaTU1paiVarX3Ea2d0QjfqfYHVZdQP8/PnzXLhwgQsXLtDc3IzX60WtVrNnzx52797N7t27KSra+ByShAGeIJp455036epqRyqV8dGP/goCgSDu5e9yOXnppefw+/3U1W3lnnsO3vpFMY7XO88bb7yM2RzKkd6//34aGrYte228yD8YDNLT08mpU+/g9c6TkpLK3r37qa3dutFDW1NcLhsnT76D2+0CID9fxIED96PR6Fb0+liU//T0FBcvnqW7uxOfzweATKZg27btaDQlcbnJ5vP56O/vobm5EY/HFT6uVmvYtm03CoXqjoyUaJZ/MBjEYjHS2noFs9kY9oonJSWh1eqoqqpFrdbHnbzHx8fo6emks7ONiYnx8PGMjExKS8vR60tQKNSr8r2jQf4dM3M83W9ZcvypxvcQT46Rm5tHcXEZWq0urqIg/H4fVqsFo3GAgYE+pqYmI84XFhahUCjR60uRy1VrUlU9GuSfYG1ZdQP8Wubm5mhsbAwb5C0tLfh8PoqLi3n11Vdve7CrScIATxBNTE1N8qMf/Rs+n5cHH3yEsrLKTSH/vr4e3nrrGAC7du1hx459GzyitScQCHDmzLu0tTUDUFe3hf3771+yeIk3+Y+Pj/H226/hdNoBKC4u5eDBI2vSQztaWNx8OHv2FDMz0wAolUoOHHjglnUAYln+U1OTNDZeoL29lUAgZJyJxRL27LkHlUoTN16zawkGg1itZi5fPofVetVoKSqSUF+/ldLSitvKE48V+c/OztDb20VHRytDQ57w8by8PKqr66moqL6t7g+xQCAQwOGw0NfXS19fT7gOAkBWVhbl5dWUlVVSWFh0x7/1aJD/ogEuAIIQ/vs/HX0EB7rDm2wQKsZYUlK+YJQqY6LV10oIBAJ4PE7MZiMmkxGHwxaRK5+enoFOV4xWq0el0qza8ywa5J9gbVlTA3yR+fl5GhsbOXXqFM8//zzT09OJKugrIKGAm4tLl85x4cJZMjOzePbZXyc1NXVTyP/ixbNcvHgOgCNHHr1pWHa8sNg7+9y5MwBotTqOHn08op1TPOq/3+/n3LlTtLRcIRgMkp2dw+HDD6NQqDZ6aGvK3NwsFy6cpa2tmWAwiFAopL5+Gzt27L5hbmE8yH9ycoLz58/Q29sdzqOVyRTs2LEHlUoTNx6z6xkactPe3kJXV3vYSElPT6empo76+h1kZNw6TDvW5B8MBnE4bLS2Ni70nQ59b6FQiFqtpbKyGp2uNG4Ms0X8fj9ms5Hu7raIHHmAggIRen0xZWVVKyq8eS3RIH+H18cz/RZkKcl8tCCHF0cmcHh9PFeiopDgQp58R0QUBEBaWhpKpQqdrpTi4rK4KtY3MzODwdBHf38PdrstIlRdIBBQVCRGpytBry+N+Q2YBGvLmhjg8/PzNDc3c/78ec6fP09LSwsymYydO3eyY8cOdu3ahUKhuONBrwYJAzxBtDE/P8+PfvQDZmZm2LZtB3v33rsp5B8IBDh+/FX6+npJTk7mIx95Gokk+upGrAVtbU2cPv0ewWAQhULFQw89Hs6hjGf9t9ttnDjxOuPjYwgEAmprG9i795646yd9PR6Pk/ffPxn2kGZkZLJz5x6qq+vjOgJifHyM5ubLdHS0hhfqhYVF7Ny5B72+LC494hDyDre3t9DcfDlcpC4pKYnS0grq6rYgkchu+NpYlv/8/Bx9fT10drZGFLfKysqmqqqGioqaiDZX8cL8/Fy4kJnJFGmMFxVJKC+vpLS0YkWV1KNF/vOBICmCkHEZDAbxBiFVGKmvXu88ZrMRg2EAg2EgIiIglCuvQ68vQavVx1U0hN/vx+Gwhr/32NhoxPmsrGxUKg1KpRKttnRFG2+LRIv8E6wdq26Af+pTn6KlpQWVShU2uHfu3IlEEl2thhIGeIJopK3tCqdOvUNycgrPPvtpdDrFppC/3+/ntdd+gdlsJDMziyef/AQ5OevT7mWjMRj6ePvtN/B658nLy+fRR58gP78g7vV/fn6eM2fepaurHQiFrD744KM3NUriBaNxgPffPxkuZFVQUMA99xxCpbraqi0e5R8KTb9IR0dL2DiRSmXs2LEXjWbtempvND6fj66uVjo7OyJaehUWFlFX10BFRe0Sz3C8yN/tdtHaepmBgf5wX3EAqVROaWkZFRW1a1pNfKOYm5ujv7+b7u52HA5HRNiyVCpDry+hoqKarKzln3OxKv9AIIDVaqavrxOz2cTk5NX86UUPcUlJGaWllXFXjHN42MPgYB8Ohx2r1RwRoi8QCJDLFWg0ejQaPSJR4U0jgGJV/glWzqob4DU1NYjFYg4fPsyuXbvYuXMnBQW334LlWr73ve/x1ltvMTAwQHp6Olu3buUP/uAPKC6+2sZnbm6Ov/7rv+a1115jfn6eAwcO8KUvfemGBd8SBniCaCQYDPLSS8/jcNgoLa3g2Wef2TTyn5ub46WXnmN4eIj8/AKeeOKZ29oxjmWGhty89tovmZgYJzU1lUOHjlJcXLYp9L+7u40zZ04yNzeHQCBg+/ZdbN++J+5CVa/H7/fT1HSRxsYL4YVaSUk5e/YcIC8vP67n//HxMS5fPkdv79U80qIiMfX1Wykvr47b0PRgMIjL5aClpYn+/p5wWH5GRiY1NfXU1NSTlZUNxN/z3+v1YjD009XVjtlsDB9PTk6muLiMysqauK2YPz09xcBAH319XdhsVyupCwQCVCoNpaUVS9qaxYP8F1t9DQ72MTjYH1GkEKCwUIxOp0er1SORyONK730+Hzabhf7+HiwW45Ke4+npGSiVSkpKKlCrtUtyx+NB/gluzqob4NPT01y6dIkLFy5w/vx5Ojs70ev17Ny5k127drFr1y5EItFtDfIzn/kMjz76KHV1dfj9fr71rW/R29vLq6++SmZmJgBf+tKXOHnyJF//+tfJycnhq1/9KgKBgOeee27Z90wY4AmiFY/Hxc9+9iOCwSCf/OQnyc0Vbxr5T0yM8/Of/4iZmRkkEgkf/vDTpKTEd1jyItPT07z22ku4XE4EAgEHDtzPAw/cuyn0f2pqgjNnTtLf3wOEPIP33XcYmWxjU5XWg6mpCc6fPxuOBBAKhVRUVLFnz340Gnlcy396eoqmpku0tzeHDfG8vDy2b99DWVllXG/CTEyM09Jymd7eHqanQ33jBQIhGo2GurptaDRaxOLcuJT/xMQ47e1X6O3tjjBMsrOz0etLqK6uv+2c6VhhYmKczs4W+vv7GBkZDh8XCATIZDJKSsopL68mIyMjvP6bmmrH7vh/yGVfIDOzZgNHf3eMjg7T19eNxWLBbrdERAVkZmai15eh0+lRKjW3VbAwFhgbG8VsNmA0GrBaTUu84zKZAqVSiVqtQypVkJQkTKz/45w1L8I2OTnJ5cuXw+3Jurq60Ol0HDt27E7eDoDh4WH27t3LD3/4Q3bu3MnExAR79+7lm9/8Jg899BAA/f39PPLIIzz//PNs2bJlyXskDPAE0czJkydob28mLy+PZ575NZKS4uthdDMcDhsvv/wCPp8Xvb6Uo0cfi6ud8Zvh9Xp5++1jGAyDAOzevZtt2/YiEGyO79/X182pUyeYnZ1FIBCwZct2du3aH9eG2CIej5uzZ09hsYS8gykpKdx3332UlFTHvf5PT09x+fI5uro6wkWNsrNzaGjYTlVVzQ0L1cUDfr+fgYE+2tquRPSZLiqSsHfvbuRyXdzWRggGgziddrq6Oujr62Z+fi58Ti5XUlFRTWlpedzKf3R0hL6+bvr6ehgevlpBftEz3tBQR1GRnJHR7zA09BMKC38FpeKPN3DEq8fs7AwGwwC9vZ3YbNaIfPnk5GSkUhlarZ7S0soV5czHEl6vF7N5ELPZhNVqYXR0OOJ8eno6arWWqqoK8vIk69J3PMH6s+YGeCAQoLW1NVyQ7fLly8zNzd1VFXSj0ciRI0d45ZVXKC8v54MPPuDTn/40Fy9eJDf36g/14MGD/Nqv/Rqf/vSnl7yH2z1BtEc6CQRQWJjD0FDCAN9sTE9P8aMf/Rvz8/Ps3r2XHTv2bvSQ1hWLxcyxYy/i9/uprq7j/vsPx2Vo4nIEAgEuX77AhQtnAdBodDz44MPh4mzxztTUBMePv4HFYgZC7asOHXqIwsLl04nijf7+Hj744Ey4oE9OTi67d++nrKwi7jei5uZmaW9v5cqVy+G2bWlpadTW1rN16864blkHYLdbaW5uxGAYCBskqamp6PXF1NVtRSqVb/AI1w6fz0tPTyddXZE508nJyahUaioqqiguLo9bHfB4XPT0dGIyGRka8pCWNklyyhwEoa7+XZKTp0lKKqBY/x0gSHJyPqmp8REh5PXOY7WaMRgGMRoHIvLGAcRiKTpdMRqNFolEFne/gfHxMQyGAQYGenE6HRHecYDc3FyUSjXFxWUoFKq4qiq/mSkqWmUDPBAI0NbWFja4GxsbmZmZQSqVsnv37vA/pVJ5RwMOBAL89//+3xkfH+cnP/kJAK+88gp/+qd/SltbW8S1Tz31FLt37+YP//APl7yP3x8gKSm+lDhBfPH+++9z/PhxUlNT+dznPrdpipIt0tnZyc9+9jOCwSA7d+7kkUce2eghrSsdHR289NJL+Hw+cnNzeeaZZ5DL43cBfi2BQIDm5mbeeustZmdnEQqF7Nmzh/vuu29TLD78fj8tLS28++674RBdkUjEoUOHqK6u3uDRrT0+n4+mpiZOnjzJ1FQoPDstLY0dO3awZ88esrOzN3iEa8v09DRNTU1cvnyZkZGR8HGNRsP27duprq6OuxDdaxkfH6elpYXm5mY8nque4aysLGpqaqivr0ehUMTtpuzQ0BBXmneF/z8YDDlkFv8ucuiB/g0Y3doSDAaxWCy0tbVhNBpxOp0R5zMyMigrK6O6upri4uK4S1EL5Y7b6O/vZ2BgAKvVGhGqH2rrp0YqlVJRUYFWq90UEWKbmRUb4Nu2bWNmZoaioqIIg1uj0dz6xSvgS1/6EqdPn+bHP/4xMlmoWu6dGOAJD3iC6CfIL37xU6xWK8XFpTz88Ic2ekDrTltbMydPngDYdJEAAgFMTg7z3HPPMzs7Q0pKKkeOPIJOV3zrF8cJU1OTvPfeCQyG0EIzNzeXgwePolKpN3hka49AALm56bzzzkkuXbqAzxcKzdZq9ezde8+miAjw+/10drbS2trM8PAQEFqA6vUlbN++C7E4ftsVCgQgEmVz6VITra3NWCzm8EI8LS2dkpIS6uq2UlQUXR1mVpNgMIjNZqazsw2j0RBu5QahfPHi4lJqaxsoKCjcwFGuDSOjr2I2f4lg0LfkXCAgoLdnP8nJBygpKae4uDRuw5Snp6cwGAYxGPoxmQwRoepJSUkoFCpUKhUlJeXk5d1dwedoYnH9bzY7MBoHsNvtWCxmxsfHIq5LS0tHrdagVmtRKtVx2d4vXll1D/hzzz3H7t270ev1dzWw5fjKV77CiRMn+OEPf4hafXUBdqch6NFOIgd8cyMQgN8/zfe//30CgQAPPvgIZWWVGz2sdefs2fe4cqURgEOHHqKiIv49gHBV/wcHrbz55rFwP92dO/eyY8eeuPX+XE8wGKSrq42zZ08xNxfKEa2paWDv3gNxmxsKkfP/5OQE586dpqenh2AwVDm7vLyKbdt2IhLFvyEeDAYxGAZobLyA02kPH9dq9WzZsgOFQhV3+nD9839qapLOzjY6OlqZnLy6flEq1dTUNKDXl8S1J8zv92OxGOnp6WJgoA+//6phKpHIKC+voqSknKys+OgzLRBAapqRixc/vOTc4MAnsFojIyBEokI0Gi1lZVUUFUniTh9gMXfagMViwmAYiNADAJGoCK1Wh1qtQyZTxHSUyI3W/2NjowwO9mEyDeJ0OsI1MxbJyclBrdah1RajUKhIS4vfZ2Sss+Y54KtBMBjkq1/9Km+//Tb/9V//hU6nizi/WITtb//2bzl69CgAAwMDPPzww4kibAlilkX5//KXx7hy5TLp6Rn8yq98etO05lokEAhw5sy7tLU1IxAIOHLkUUpKyjd6WGvOtfrv8/l5//33aGtrBkClUvHgg49vqt/C9PQUH3xwmu7uDgCysrLZu/cA5eXxuSGz3Pw/OjrCuXNnGBjoXbhGQFlZBXv23BN3hYqWIxSeauDKlcuYzabw8aIiMTU19VRU1MT0ovtabvT8DwQCDAz00NbWHNHSKiMjk5KSUqqr6+PaKw6hWgG9vZ309/dis10N0Q1Vk5ZTWVlLaWlFTIcnRxrgAiAY/lta+hN8XgWDg30MDPRFFO8DyMvLR68vQa8vRSqNr/ZeiwSDQYaHh+jt7cBkMkSkKkCodoBcrqCkpByNRh9z8+NK1v+BQACn04HFYsRkMuByRfabX+y7LpXK0Gh0qFTauC3oGIvEhAH+5S9/mWPHjvGd73wnwrOek5MT7pv4pS99iVOnTvH1r3+d7Oxs/vIv/xIg0YYsQcyyKH+7fYgf//jfmZycXChI9uBGD23dCQaDvPvuW3R1tSMUCjl8+CFKS+M7GmA5/e/oaOXUqRMEAgFyc3N59NGPUlBwe20dYx2LxcR7770dDsVTq7U88MDRcP/keOFm87/Taefs2ZPY7TYgFIpZV7eFrVt3bZpNmdHREVpaGunqag8XLcrKymLLlh1UVdXFfK2AlTz/x8fH6Oxso7OzLdzKDEIVxKuqaikpKY9pI3QlTE9P0dvbTU9PB2731T7Tyckp6PXFFBeXodXqY87wEAggO3uS8xc+TEqKDFHBEwyPvITX66C09MekplxNv5iamqKvr4PBwQEcDgeBwNUw7bS0dLRaHeXlVSiV6rjtqDAzM4PZbMBkMmAyDUakK0AoQkChUKDRFC8YotF9H+5k/T8zM4PJNIjDYcdiMYYLeS4iFCYhk8lRKtXIZDLkcnXU34d4JiYM8IqKimWPf/3rX+ejH/0oAHNzc/z1X/81r776KvPz8xw4cIAvfelLiMXL95JMGOAJop1r5W8wDPDqq78A4IknnkEuj4/qp7dDIBDg7bdfpb+/F6FQyEMPPYZOV7rRw1ozbqT/VquJt956lZmZUF74Aw8cpaSkbOMGugH4fF7Onj1Je3srwWCQ1NQ09uw5QHV1Xdx4e1Yy/5tMA1y6dAGHI2SIp6SkUFVVw44dezdN1fzp6WmuXLlAZ2d7OEUhNTWVqqo6amvrYzYv9Hae/36/n/7+bjo6WrDb7WEvWEpKqIJ6ZWUNCoU6bnTjRoQqiXcwMNAfkSubnJyMTldMRUUNKpUmJkL1F+Xvcg0BKQgEAoLBIMGgF6HwxptL8/PzmEwGBgf7MBj6I0KUU1NTFzyhaoqLy+N2jggEAjgcVsxmIxaLOSJtBULzpEqlQaPRo9HoojJ/fjXW/xMTExgMfVgsRlwuZ7ig5SLJyckoFGpUKjUqlYbCQnFcpi5EKzFhgK8FCQM8QbRzvfzfeedNurraKSgo5OMffzZud7Jvhs/n47XXXsRisZCcnMLjjz8Zt5sRN9P/qalJ3n771XAIam1tA/v23bfpdrMdDhunT7+L2x2qlCsWS9i//z4Uitgv0rbS+T8YDGIyGTh//n08npAHMC0tjW3bdlNX1xBznr87xev10tvbxZUrl8N9dQUCATpdMdu27Yq5Fl53+vyfmBinp6eTzs62CCO0oEBEdXUd5eVVZGRkrsGIo4dgMIjL5aC3t5ve3k5mZmbC59LS0hfCs4vRaIqj1hhfjfWfz+fDaOzHbA7lTF8bJSEUClGpNOh0Jeh0xTEXon07zM7OYDSG2nzZbNbwRt0iubl5aLU69Poy5HJFVKytVnv9HwwGGRsbxWIxYTINYrNZmJ+fj7gmNTU13H9drdaTn1+QMMjXkIQBHsUkDPDNzfXyn52d4Sc/+XdmZmbYsmU7+/bdt9FD3BB8Pi+vvfZLLBYTqampPP74kzG3uF4Jt9J/v9/PuXNnaG6+DEBhYSEPPfShmPX43Smh1pdXuHDhbHhBUVlZzb5994dTlGKR253/A4EA3d1tXLp0gYmJcQAyM7PYsmU7NTX1pKTEdkj2Slks2Hb58ge4XFdDkiUSKXV1WykpKYuJTYm7ff6H8uWNtLZewWw2hqtHh9oYaamoqEKvL4taA3S1CAQCWCxGDIYB+vt7w/3lAdLT0yktraC0tAK5XBlVxsZaGGBOp53e3k4GB/uX9NouKBChVmsoLa1EKpVH1b1YTYLBIG63E5PJgNE4uFDc9OoNDuWOK5FKZeh0JYjF0g25F2u9/g8EAng8Lmw2K1arCZvNsqSgW1ZWNnK5EplMhlqtIz9fFLe/i40gYYBHMQkDfHOznPw7O1t59923EQqFfPSjzyCRyDZ2kBuE1+vl1VdfwmazkJKSyiOPPI5Sqd3oYa0qK9X/np4OTp48gdfrJS0tnUOHHtpUrcoWmZiY4PTp4xgMg0CoX+zevfdSUVEdk4uGO53/A4EAPT2dXLz4QdgQT09Pp6FhG/X12+M+J/ha7HYLHR1t9PZ2h/Ni09LSqKysYevWnWRmRm/F7NV8/s/OztLX101nZ1s4WgRCGzRVVbVUVFSTnx//G3eBQACbzUJnZwtGoyHCA5iVlY1Go6G8vAq5/Gq4vsvl4OzZU+zbd++6Pm/Xcv0XCAQYGRnGYBjAYOhfEqKdmZmFTleMWq1FrdbGdbeJUJuzPmw2GxaLKSJKAEJ1JdRqHSqVBqVSvW61RtZ7/e/z+bDbLZjNRlwuF06nLaLlG0B2dg4KhWrBKJdTUFAY92kta0nCAI9iEgb45mY5+QcCAV5++WfYbFaKiiQ8+eSvxL0H40Z4vfO88soLOBx2kpOTefTRj6BUajZ6WKvG7ej/yIiH48ffCBch2rp1J7t27duUvw2z2ciZM+8xMhLqGy2RSDlw4CAyWWylKtzt/B/qod3GpUsfMD0d8vplZGSydesOamoaNpUhPj09TUdHK62tjeFwZKFQSElJOXV1W5HJoi+CZq2e/263k9bWRgYG+iMMUIlESnFxKZWVtVG9MbFa+Hw+LBYT/f09DA72RdyL7OwciotLKSkpp7e3i9bWK9TXb+Weex5Yt/Gt5/pvamqS/v5uTCYDdrstwhMa6rWtpLi4HJ2uOO6KXV5LqLK6h4GBPsxmA263a4kRmp9fgE5XjEajX9NWZxu9/vf5vDgcdgYHe7HbrQwPDxMIBCKuSU/PQK3WolCowj3IY3Gze6NIGOBRzEYrYIKN5Ubyn5yc4Pnn/5O5uTl27NjDrl37Nm6QG8zc3Bwvv/wz3G4XKSmpPPbYR+MmJ/x29d/v93H27ClaW68AoXzoo0cfIzc3f03HGY34/X5aWhq5ePEcPp8XgUBATU0Du3fvIy0tNsLSV2v+9/l8tLc309LSFOERr6mpY+vWXXHt3boen89HT087nZ0dEV6/wsJCamsbqKysi5pNq7V+/vt8XgyGAbq62jGbjeHCbUKhEJ2uhIqKajQaXdTcj7XE5/MxONhLT08nVqsVr3d+yTWpqWl86ENPIhAISU/PIDd3bQt3bdT6z+/3YbVaMBj6GRjoDW/eLVJUJEapVFFcXIZMFl1h+6tNyCscKuZmNhsYGlra6kwqlSGXK9HrS1e1/3q0rf+9Xi8Ohw2bzYLFYsLtdi5rkEskEtRqPWq1loKCRMj6zUgY4FFMtClggvXlZvLv7e3m7bdfRSAQ8MQTH0cmU27MIKOA+fk5Xnvtlwvh6CkLRnjs34871f/e3i7effctfD4faWlpHDx4lOLi+K0WfzPGxkY4depEuGd0enoGu3fvp6qqNupD51Z7/vf7/XR3d3D58vkIQ3zLlh3U1W3ZNDnii7hcDlpbr9Db2xVeSGZmZlFdXUtVVT05ORtblGo9n/+TkxN0dLTQ19fN6Oho+Hh6eqiFVVVVLXK5elMspn0+L9/73rdved1v//bn17ToZTSs/wKBAC6XA4vFtJAvHRmqvhierdXqUSrVcVtVfZHJyfFwlIDZbFwSrp6ZmRUOVVcolHdVjyUa5H8zvN557HYrDocdm82C02lfEi2QkZGJTKZYMMp1G5ZPH60kDPAoJtoVMMHaciv5v/nmMfr7e8jJyeGZZ35t0y2gr8Xr9fLaa7/AajWTnJzM0aOPotWWbPSw7oq70f+hITfHj78e3rGvqaln3777NlXY8bWYTAbef/89RkZC1bHz8wvYt+9edLro/Y2s1fzv8/no6GjmypXL4UJMIY94A/X1W8jIiP/w42uZmBintbWRnp7u8IJaIBCgUCiprW2guLg8Losw3QiPx013dwe9vV0RBkZ+voiKimrKy6s2fHNirenu7uTEiTcIBgM3vCY1NRWtVk9ZWSVqtXbVC/tF4/pvenqK/v5uBgf7cTjs+Hy+8DmBQEBRkXih73oxhYVFcW1sLYar9/f3YLWacLvdEfcDICcnB41Gj1KpQalU3Vb3gWiU/83wer3YbCYsFhMejweHY2kOeXp6BnK5ArlciVgsRSqVb7rOLdeSMMCjmFhTwASry63kPz09yXPP/Sezs7PU1NRz332H13+QUYTX6+XYsRex260IhUKOHn0MvT52Pb+rkQN8/vz7XLlyCYC8vDwOHXo45nKhVwu/3097e3NEtfTi4lL27buP3Ny8DR7dUtajCm5PTyeXL59nbGwUCIVUVlXVsG3b7rjO9VwOv9/PwEAf7e3N2GyW8PHc3Dyqq+uoqqpd1/ZdG/38DwQCDA720tXVjsVijlhMS6VSysoqqaioJS0tPlMY3G4nP/3pD5ccLykpw2azMDs7Gz6WkpKy4AnWoteXr0r3hY2W/63w+33YbFZMpkEMhoHwHLJIVlY2CoUStVqDTlca995xn8+Hw2ELt/nyeNxLrsnPz0cuV6DTlaFUqm6a/hPt8r8Vfr8Pl8uJwdCPzWZhaMizZIMiKSkJmSxkkC9Wnt9MKVEJAzyKiXUFTHB3rET+/f3dvPnmqwB8+MNPxVURsjvB651fqI4eMsIPH36E0tLyjR7WHbFa+m82Gzl+/DVmZmYQCoXs3Xsv9fVb49o7cTOmpib54IOT9Pb2EAwGSUpKoqFhO9u27SA1NXryw9dr/g8EAvT2dnLp0lVDXChMorKymi1bdmyK6tjXs1yhMqEwCbVaTV3dFlQq3ZqnMETT839+fo7+/l66uzsiNieSkpLCXmCNRh9XETY3MsA//vFfRSQqwmo1YTIZ6O/vZWrqakuvUH9t7UKv8ZI7LmgXTfJfCSMjHoxGA1arBavVdJ13XIhcrljoL61DJIr/6tkzMzPY7ZaFnGkzw8OR+eMCgQCJRIZcrkChUKBU6iL0J9bkfyv8fj9utxO73YrNZsZuty3pQy4QCMjPL0ChUKFSaZHLFXFdEDJhgEcx8aaACW6Plcr/vffepqOjlezsHJ5++lNx65FYKT6fj3feeZO+vm4EAgH33/8gVVW1Gz2s22Y19X9qaoLjx1/DarUCoNHoeeCBI3H9cLsVQ0Nu3n//JBbLYn54Ojt27Ka2dmtULA7Xe/4PBAIYDH1cudKIw2FbGIMAjUbLjh17kEo3X+SE1+ulr6+b9vZmXK6r7bsKCgqpra2nvLx6zebbaH3+j44O09HRisEwwOjoSPh4cnIyarWGqqp6NJq136BYayYnJ/jZz35IdnYOVVV1dHa2Mjk5wcc+9qtkZ19dOAeDQVwuB11dbRiNg0v6axcWFqLV6ikvr0EkKlzx50er/FeCz+fDZjPT19eF1WphYiJyvZ2RkYFKpaGkpByVSrMpvJ6TkxOYTAPYbBYcDgfj42MR54XCJORyBSqVBoVCjVQqRSrNj0n5r4RAIMDwsAen04HdbsVut4Zrk1xLXl4eRUViFAoVGo2e3Nz4qbSeMMCjmFiegBPcPSuVv9c7z/PP/xfj42PodHoeeujDMb/4uVsCgQAnTx6ns7MNgF279rBjR2xVi19t/Q8Gg7S1NXP27En8fj9paens23cPVVV1d//mMUowGMRg6Of06XfCC+fCwiL27r0XtVq7oQ/6jZz/bTYLly+fx2w2ho9pNHq2bduJQqFa38FECXa7hdbWJgyGwbB3Lzk5Ga1WT1VVLSqVdlXn3Wh//geDQYaGPPT2dtHT0xnhBc7IyKCkpJySkjLkclXMPo/8fh9CYRICgYBgMEgg4Ccp6cY5q6H+2kMYDAMMDvZFbNrAYgurEjQaHXK58qYV5qNd/rfD2NgoJtPggofcFJHOIBAIkErlSKVStNpi5HLVpqi8PzExjsViYnCwD4fDFpHSAKG5RS6Xo1LpUChUiMXSmNWjlTI2NrKQQ+7GbrctiRqAUKE7uVwRNsolEnnM/l4SBngUE08TcILb53bkb7db+cUvfkowGGTfvnvYsmXn+gwyigkGg5w6dZz29lYAtm3bxe7d+2Nm93St9H942MPx46+Hc9SKi0u4//6jq5K3GKv4fF4uXz5Pa2sz8/NzACiVanbv3rdhHQaiYf53OKw0Nl7EaBwMt6kSiyXU1jZQXl4dswufu2Fubo6eng7a2lrCveYhZFxVV9dRXl5NZubd54pHg/xXSiAQwGIx0tfXg9E4EO61DpCZmUlpaQWVlTUUFopjZv5dDcbHx+jr68JsNmG3WyPaNqWlpaHXl1BcXI5KpV5SxC2W5H87eL3zmEyDWK0WzGbjktzx1NQ0VCoNarUWpVK9KVJgAoEAo6MjWK1mrNZQIbPrw7NTUlIoKhIjlyvQaIqRSmPX8Fwps7OzWK3GhbZnLjweD4FAZGG3lJQUpFI5MpkciUSOVConIyM26g0kDPAoJl4n4AQr43blf/78aS5fvkhSUhJPPfUshYVFaz/IKCcQCPDBBydpbm4CoKqqlvvuOxwTO8lrqf8+n48PPjhJW1sLwWCQrKxsDh48gkajW90PijFmZ2e4fPkCra1Xwg/64uJS9u+/n5ycte37ez3RNP+PjY3Q1HSJrq6O8H3JycmhoWEHVVU1m7IDQzAYxGo109bWhNFoxO8PecWFQiFqtYaKimr0+rI7XiRHk/xvh5AxbqKnp4OBgb6IXOCCAhF6fSklJaWIxbINHOX6Mz8/h8lkYGCgF6NxEK/XGz6XnJyMUqlGrdZQXFxGdnZuzMr/dhkfH8Ng6MdoHMDpdCwxPLOzs9Fo9Gi1xbcsXBYvhPKl7YyOehgYMGK3W5ibm4u4Jjk5BZlMgUwmQyZToFCo476iuM/nw+12LmxSGHG73RF6tMju3fvZvn33Bozw9kgY4FHMZpmAEyzP7co/EAjw6qsvYTYbKSgo5KmnPhFXRXHuhvb2Fk6dOkEwGESj0XHkyKNR/yBfD/13OKy8885b4VzOyspqDhw4GPX3Zq0ZGxvlzJl3MBoNQKjYVH39VrZt20Va2vpECkTj/D85OUFT0wW6uzvDC+W0tDQqK2uoq9tCbm7+xg5wg5ifn6Ovr5uOjjZcLkf4eFZWNlVVtVRW1tx2pf1olP/t4vXOMzDQy+BgP0bjYETocV5ePmVllZSWliMSLd0sDjim8Z2ykXyvAqFs/arPrwc+nw+LxYjZbGRwsJ/Jycj1qEQiQ6fT09BQS3JyFgJB9G8YrwaLfcfN5tC9cTrtXGt6CIVCxGLJQkG34phOb7gV1+q/3x/A43FhMg1gt9twuVzMzUWGrC9WFFcoVAuh2bK4X/+FUj6GcThsC8XdLExOTlBVVcvBg0c2eni3JGGARzHx8ABOcOfcifynp6f56U//i+npKSora3jggaNrO8gYYnCwj7feehW/349IVMjjj3+UrKzo7We7Xvrv9Xo5d+40ra1XAMjKyuLQoYdQqbRr96ExgsNh5dy598OVn1NT06itrWPbtt1rvkkRzfP//Pw8PT2dNDdfDoeQCgQCSkrK2LZtN0VF4o0d4Abicjloa2uKqKAOoFAoKS+vpKysekUL42iW/50wNzfHwEAv3d3t2O22CMOqoECEWq2hvLwKiUQOgO8dC/4mD0lbi0h+IH7rDgSDQdxuJz09HZjNJkZGhiPOp6dnoFKpKSurRKXSbKpok5mZGUymQZxO+7Lh6mlpoXB1pVKNXK6koCB+qqvfTP8Xe5DbbJZw5MD1HnKhUEhRkXihD3koVzreDXIIzTOpqakxkeqSMMCjmHh7ACe4Pe5U/haLiZdf/jkA999/iOrqhjUaYexhsRh5441XmJ+fJy8vn8ce+yh5efkbPaxlWW/9Hxzs4733jjMzMw1AdXUde/feu+mr6geDQYzGQT744FR4cZyRkcmOHbuprq67aVGmuyEW5v9Qr+g+Ll8+H9H3VqXSUl+/BY1GHzcL4tvF5/MxONhHZ2dbuNI+QGpqKqWlFVRU1CCTyW+4UIwF+d8pMzPTGI2D9Pf3YjYbw2kN2YF0xDmFqNQaSjuzEM4GIDOZlI8WAyDISEaQG98G6NTUJEbjIEbjAGazMSKEXyhMQqlUoVAoKS4upaBgc6WZjY2NMjDQi8ViXDZcPTMzE7Vah1KpQaVSR1SrjzVuR/8XPcF2u3Uhj9zM7OxMxDVCoZCCAhFSqQy1WotCoYmZXOl4JWGARzHx/ABOcGvuRv6nT5+gtbWZ5OQUPv7xX90UhUxWisfj5LXXXmZycoKMjEwee+wJxGLpRg9rCRuh/7OzM5w7d4aOjlDhuqysbPbtu4eysqr1GUAU4/f76ehoprHxUrjic3Z2Dtu376aysmbVC+LE2vxvs1lobb3CwEBv2LuZnZ1Nbe0WamsbNnVaw+joCK2tjfT39zI9PR0+npubS3FxKdXV9eTniyJeE2vyv1Pm5ubo7e2kr6+bh/srwseDBBEgCP9dJO33t2zAKNcfgQByc9NoamrFbDZhNhuXtK4qKBCh1Raj1eqRy5WbarMrMlzdgNPp4HozJTc3F5lMjkZTjEajIz09dgzOu9H/xRZfNpsFp9OOzWZhampqyXX5+SGDXCKRoFJpyc8XxYTnOF5IGOBRzGZ5ACdYnruRv9/v5xe/eB6n04FIVMiTT/7KpgpduxVTU5McO/YSQ0NukpOTOXjwMGVl1Rs9rAg2Uv+tVjPvvfd2OORPpyvm4MEjZGTEVy7mneD3++nsbOPy5XPhRU1OTg47d+6joqJ61RYwsTr/j4+P0dzcSGdna9h7l5KSQmVlDTU1DbfVCzneWCzc1t3dQX9/Lz7f1QJCCoWKiopqSkrKF0IoY1P+d8Nci4vgcRuCZb5vgCDG0hlydqg3hbF5vfyDwSAjI8MMDvYyMNCHx+OOMDhTUlKQyeTodCXodKXk5MSu9/dOmJ+fw2azYLfbFqpmO5dcU1QkQaFQIJMpUKt161bP405YTf0PBoOMj4dawTkcNjyeoYgODouEWnwpkcsViMVSJBJZ3Fda30gSBngUsxkfwAmucrfyn5qa5Gc/+xHT01OUlJRz5Mijid3Na5ifn+P111/GajUDsHPnXnbs2BM192ij9X9+fp6zZ9+joyPUSz09PYN77jlIaWlF1NyjjcTn89LS0khj48VwKGRhoZjdu/ej1erv+h5ttPzvlrm5WTo6Wujs7GB09Gpeq0wmp75+GyUl5Zv6dzQ/P0d3dzs9PZ04nVeNheTkZFQqDdXVNWzfvoXh4amYlP+dEnBO4/1hz5Ljv0i7wJAwFHmSnp6+UE29HKVSHZdGwq30f3Z2BrPZhNE4gMk0uKSPtEhUiEqlQaFQoVbrNkX+77XMzs5gNA5gsZhwuZxLcusX+4+rVGqUSg1SqWxJK7iNZK3n/5mZGRwOGybTAA6HnZGR4Yg2ebDYi1wZ/icWS0lNTThyVouEAR7FxPoCLMHdsRryt9ut/PKXPyMQCLBjxy527TqwuoOMcXw+H++88wZ9faEFX1VVLffeeygqFnTRov92u5WTJ08wPOwBQKPRcc89B8nLS6Q1QKhXaXPzJVpbr4QNcbFYwrZtu9DrS+/YUxct8r9bgsEgFouJlpYmjMaB8PHc3Dzq6rZSWVmz6esMTEyM09PTSXd3R7gjAYRCaEtLKygvr940kQM3MsAd96XTPdyHwTAQkRedmpqGWq1Fq9VRXFwWN6kOt6P/fr8fh8OCwTCAw+HA5YoMx05KSkalUqPR6NBodJty7p6ensJiMWEw9GOzWZmejgzJTkpKoqhIvNDuTI1EIl2z+h4rYb3nf5/Pi9PpwG63YbOZcDjsEXoWGpMAkUiEQqFCqdQgkynIzMxa+8HFKQkDPIqJlwVYgjtjteTf1HSBDz44A8Cjj34ErbZ4lUYYHwQCAVpamvjgg1MEg0EUChVHjz624eHW0aT/fr+fxsYLXL58nkAgQFJSEjt27GbLlp1RsVkRDczOztDUdImWlqZwT2iJRMrOnXvRaG7fIx5N8l8thoc9tLRcpq+vj/n5UNXe5ORkiotLqK/fjkSyuXpDX08wGMRmM9HZ2YbRaIiobJyfn09JSRlVVfW33dIslghOzDP/wx4EOSkk1RXibx0iOOEl9VfLEeSk4vN5MZkMmEwGBgf7w0UjIWREaTQ69PpSdLrimMr5vZ670f9F7/jAQM9CQa5I73hWVhZKpZqSkvJNV1l9kbGx0YWCZSYsFhMzM5FFy5KSkhCLJUilMjQaPXK5al37bG/0/O/3+xkacuN02rHbbdjty+eR5+TkUlgoQiZTolLpKCwsSqwJVkjCAI9iNloBE2wsqyX/QCDAW2+9wsBAP+npGXzsY8+Sk5O7egONE4zGQd5661W83nmys7N55JEPU1S0ccXZolH/XS4H7733drjitUhUxH33HUIuV27wyKKHyclxLl48S09Pd7jvsVgsZevWHRQXl63YIx6N8l8tvN55urs7aW1tiggNlcuV1NTUU1xctq6L3WgkEPAxNGTn4sVGTKbBiPBQuVxJWVklxcWlcemBCvoCkCRAIBCEPLn+IILkpXoTCARwOGx0d7djMhkiDASBQIBEIkGnK6G8vDrmnnmr+fwfHvZgNhsxmQzY7daI35JQKEQuV6JQKFGrdUgksrjPr7+eQCCAx+PEarXgcjmw2SzLGuRSqQyZTIFUKkOp1KxptEW0zf+BQIDx8VEsFiMejweHwx6OiruW5ORkJBIZIpEImUyBSqWNyzlqNUgY4FFMtClggvVlNeXv83l56aXncbtdiMVSnnji6U2/wF2OoSE3x469yNTUFCkpqRw9+hgajW5DxhKt+h8IBOjsbOP8+TNhz0pZWTn7999PZmb2Bo8uepiamqS5uZG2tivhUL78/Hx27ty3ojz6aJX/ahIIBDCZ+mlpuYLVagmHzaalpVNSUkJd3TYKCzdnT/Fr5T81NUVPTweDg/3Y7bZrrhEgl8uprKyjpKRsU3oyFwkZmkMMDPQyONjH0FCkcVBYWIROV4JKpUYuV0W9kblW+j87O4vJFMqNtlotTEyMR5xPT89ArdaiUmlQqTQxt3GxGoT6bA9hNPZjt1txu10R3QsgtHEhkchQKFQoFCpkMvmqGuSxMP/Pzc1hs5mx2cx4PB7cblc4sula8vLykUrlSCShwm5isTThJSdhgEc1saCACdaO1Zb/xMQ4P/vZD5mdnaW4uIQjRx6P+kXIRjA1NcFrr/0St9uFQCBgz54DbNmyY90LRkW7/s/OzvDBB6fp7AwVaUtNTWXfvvuoqqrd1MW1rmdmZprGxgu0t7eEDXGRqJAdO/bc1CMe7fJfbaamJunsbKO9vSXc5g1ApdJQU1OPTleyqRZtN5L/5OQEfX099PR0RPReT05ORqcrobi4FJ2uZNNvsA4Pe+jt7cJiMS/JiU5LS0evL0GnK0Gt1kZlgbL10P9gMMjY2ChG4wADA724XM5w1M4iOTk5KJVqdLpSlEr1pqzXsHifrFZzuJL49R7yxfxojUaPQqFGLlfclUEei/P/YqV+u92CxWLE7XYvaZ0HkJycck00Qcgw34xe8oQBHsXEogImWD3WQv5ms5Fjx14kGAzS0LCV/fsPrs4bxxl+v4+TJ0/Q1dUOgFar59Chh0lPX7+2JbGi/yaTgdOnTzA2FnrQymQK7r33EEVFm9NzeSOmp0Me8fb2lnCxttzcPBoatlJVVb/EYIoV+a82gUCA/v5u2ttbsNms4eMZGZmUlpZSV7dtSc/seGQl8vd4XPT2djEw0BduGQihllTFxaWUl1ejVKo3/UZrqCL2IAMDvZjNxojiUklJSchkctRqLaWlFeTm5m/cQK9hI/R/sRCXxWLCYjHicjkjNi5CYf1SpFIZarUOpVKzKTd6QuHYY9jt1oU8cnPEpiGE7lVBgQixWIJSqUGt1pKVtfIIsXiZ/2dnZ3G57DgcofZwHo97SXE3COWSKxQqJBIZUqkMkago7n9bCQM8iokXBUxwZ6yV/K9cucjZs6cBePDBRygrq1y9N48jgsEg7e0tnDnzLoFAgNzcXB599KMUFKzP4j+W9N/n89HaeoWLFz/A5/MiEAgoK6tg3757E2Hp1zE7O0traxPNzZfDhnh2dg4NDduprq4Le+NiSf5rxcTEOB0drXR2tkVULdZodFRV1aHTFcetV/x25B8MBnG7nfT0dNLT0xlRdCs9PR2drhidrhitdmkUgcfYT+Mvfsy2j3yCIm3JWnyVqMLn82G1mjCZjBiNA0s8dEVFYnS6YjSaYiQS6YZtXkSD/s/MTGM0hjy+NpslokI/hDyZoTZnGpRKFSKReNNu9oyODodbntlslmU9v7m5eUilcsRiMUqlhqIiyQ2jxaJB/muB3+9nZGQYpzNklNvt1mXvlVAopKCgALlchVyuRCKRkZubF1fRdQkDPIqJVwVMsDLWUv7vv/8ezc2NJCUl8eEPfwyZTLG6HxBHmM2DvP3268zOzpKamsqhQw+j16/9QjUW9X9iYoL333+PgYFeIBSWvnv3AWpq6jftwuxGzMzM0Nx8kY6OdmZnQ+GMaWnpVFXV0NCwnezs7JiT/1rh9/vp7e2kvb0Fp9MRPp6enoFeX0xtbQNicXxVUL9T/ff7/VgsRgYH+xkY6Av/tgDS0tIoKSkP988WCoVc+Nm/03XyTSrvf4hdT/3aGnyT6CWU6+uht7cTk8mAxxOZN56eno5KpaG4uBy1WkNa2uaOgJqYGMdo7F8wyh3MzUVWV09PT0epVC94x9VxZzDdDhMTE5jNg9jtVoaGPAwNebjejEpPT0cmUyKXK5BIJEilyrDXNxrlv1ZMTU3idNrxeNy4XA6cTntEB4hF0tPTEYlESCRyVCoNEokspjsdJAzwKGYzKWCCpayl/AOBAG+88QoGQz8ZGRk88cTTmyKs806ZnJzg7bdfw24PhcRu376LHTv2rqn3LZb132Do4/33T4bD0kWiQvbvvx+1WrvBI4s+fD4f3d0dNDVdDHsCkpKSqKqq49Ch+/D5kmJO/mvJ2NgIHR1tdHd3RHjFJRIZ1dW1lJZWxEUv6NXQ/0AggNVqpqurFaPREI64EMzPkZokRCaVMX7xNN6ZKdKzczn0O38CwSBp2TlkizZfCsmix9dgGMBkGowIlRUIBMhkCuRyOTpdCRKJfE03FaN9/g8GgwwNhaqrWyxGbDbLkvzxrKxsJBIJKpUWna5kUxZ0W2Rubg6n047ZbMButzA0NLTkfgmFQqRSOQqFCrlcQXV1GVNTvqiU/1oSCAQYGRnC4bAyPDyM0+nA43ETCPiXXJuXl09BgSj8OwsVeIuN0PWEAR7FRPsEnGBtWWv5e73zvPjicwwNecjNzeOppz4R07uJa43f7+fs2VO0tjYBIJPJOXr0MbKyVjaJ3i6xrv9+v3+hWvr7YU+JWq3hwIH7KSgo2uDRRR+BQICenpAhPjISCvUUCASUl1fS0LBtQ1viRSOhXPEeOjtbIyqoJycno9FoqaqqQ63WxWzkxWrrv9/vx2Yz09/fi+nn/xo+HgSW81F+6h9+cvcfGsOE+o0PYrNZMZmMjI4OR5zPyspCrdah1epRKjWrXh8k1uZ/n8+L1WrC6XRgtVpwOu0R7c4gFIKtUKiRSCRoNLqoybffCPx+Px6PC7vdis1mwWazhDfIriU/Px+ZTIFSqUEmk5Obm78powr8ft9CT3ILHo8Hj8cdUfdiEaEwaaFw7vb1H+RtkjDAo5hYm4ATrC7rIf+xsRFeeOE5ZmdnUCrVPPbYEzGze7hRdHS0cPr0u/j9fjIzs3jwwUdQKtWr/jnxov+zszNcuHCW9vYWgsEgSUlJNDRsZ9u2XaSmbt62STciEAhgNhtpbr6MxWIKH5fLFWzbtguNRr8pF2A3Y3p6iu7uTjo72yIMpdzcfKqqaqmoqCI7e202ytaKtdT//vOnOfujfyJ4nYEEEERA3pbd1D/wKBqNluTk6KsQvhGMj48xMNCLwdCP0+nE74/0jhcViRcqq5dSWFh01zoa6/O/1+vFbDZgNhtwu1243a4lIdh5eQUolWqUSjUKhfK2ipTFG4teX6fTgd1uvWFudHp6BoWFIqRSOWq1HolEFpVV/NeD2dmZhQ0MMx6Pm6EhD7Ozs5SXV3H48MMbPbxbkjDAo5hYn4AT3B3rJX+73cKxYy/h9XopKSnnyJFHEwv8W+By2Tl+/A1GR0cQCATs2LGH7dt3r6q3Ld703+Wyc+bMezgcdiBU1XrHjt1UV9fHbSGtu0EggLm5cU6ceIfBwYHwcZGoiIaGbZSVVcZ9ldjbJRgMYrWaaW9vxmi8GkIc6petoLS0nPLy6pgIUV9r/R8yD/Lq//n/lhyf1lcTyAi1BApFE+jQaHTo9aVkZGSu/kBiEJ/Ph91uxWgcxGQaYHR0NOJ8VlbWgmGpQqstuaMWS/E2/8/Pz2G3WzGZDFgsJkZGhpdck5ubi0qlQa3WIZcrN2VrqkUEAkhK8tHW1onH48HpdOB2u5aEYS9u/hQWFiGRyFCpNOTlFWzKNVwwGGRmZpr09IyYiHxKGOBRTLxNwAluj/WUv9ls5NVXXyIQCFBb28CBAwdjYgLbSLxeL6dPvxNuVSaVSjly5DFycvJW5f3jUf+DwSCDg3188MHpcPhYTk4Oe/feQ0lJxaZcNNyIa+Xv8bhpbb1CT08XPp8XCBVsq6ysYsuWnZvac3QjvN55+vp66Oxsw+GwhY+npKRQUlJOeXkVSqU6an9z62aACwQQDIb/bvvU/8AzPYvJZGBy8uo6SSAQoFCoKCkpR68vSfzmrmF42IPROIDNFmpLdX2bJYlEhlqtRaXSIJXKV7RxFo/z/7WEvJe2cBuvoSH3kmvy8vLDFcM1Gv2myiFfTv5+vw+HI3TPPB4Xbrd7SfszCG1uy2RyJBIZYrEYuVxFSkoi2izaSBjgUUy8T8AJbs56y7+3t4u3334NgG3bdrBnz71r/6FxQFdXO6dOncDn85Gens6DDz66KsXG4ln//X4/ra2NXLp0Ppz3plAo2bv3XqRS+QaPLjpYTv5zc7N0dLTS0tIUXnglJSVRXl5FQ8M2RKJEbv1yDA976Ohoob+/L2LBmpWVhU5XTE1NfdTl2K+1/k+NDPHqN/43WfmFlO07SO/Zd5kaHeLRP/wrsgoKF1qbuejv76G/v5vx8fGI10skUtRqDWVlVYnf3TX4fD5sNgv9/d1YreYl922x77heX4ZarSU/f3lvZTzP/8sxNTWJ2WzA5XKGK4dfT3Z2DgqFkqIiMSqVFpGoKG4dBSuV/8TEBA6HFbN5EJfLxejoyJLce4FAgFgsQSpVIJPJEYsl5Obmx+29ixUSBngUs9km4ASRbIT8L106y4UL5wC4//4Hqa6uW58PjnE8HidvvfVqOBRx69ad7Nq1765CqzeD/s/MzNDYeJ62tuZwRVidrpg9ew5s+kX9zeTv8/no6Wmnra0Fj+eq50ihUFJb20BxcXlicbUMwWAQh8NGd3cHfX09zM9fbXUjFkupqKiirKwyKkKt10P//V4vwuRkBAIBwWCQgM9H0g3ySYeGQl7egYE+XC5HxDmRqBCdrgStthipVJb47V3D5OQEFosJs9mI2WyI6NEOIaNSJguFDmu1pWRlhcKuN8P8fzNmZ2cwm41YrSbcbhcej3tJDnlGRiYKhRK5XIlMpqCwUBw36Ux3Kn+fz4vb7cLhsGO1mnC5HEt+cxBqSSiTKZBKQ55yiUSaKMK7ziQM8Chms0/Am52Nkv+ZM+/Q0nIFgUDAQw89jl5fun4fHsP4fF7OnDlJR0cLEFqUHjr0EGLxnXnWNpP+T05OcOHC2XA4v0AgoKamgR07dm/aPMCVyD9kUNppabnMwEBfeIGam5tHbe0WKitrVr06c7zg9Xrp6+uip6cTu90W9hot5ouXl1dSVla1YaGb0az/k5MTdHe3YzAM4HI5IwyjtLQ0VKqQZ1yt1m7aAlHLEQgEcDrtWK1mbDYLdrt1SSsqsVi6EK6uoqamgvHxuaiT/0bg9c7jcNixWIxYLCaGhjxLPL0pKSnIZHJUKi1yuXKhJVVsGuSrpf+BQICJiXFcLgcOhw273cbQ0NLNDIDs7GykUhlyuRqpVEZhoThRZ2QNSRjgUUw0P4ATrD0bJf9gMMi7775FV1c7QmESDz30ODpd8foNIMYZGOjl3XffZm5uFqFQyN6991Bfv+22c003o/47nTbef/9kuFBbcnIy9fXb2LJl+6bbnb9d+Y+MDHPlykX6+nrxekNh/cnJyRQXl1Jb24BMplzjEccuMzPT9PZ209PTgcvlDB9PTk5Gqy2mrKwCjUa3rhXBY0X/Z2dnInpne73e8LmkpKRwMbLi4jLy8go2cKTRh9frxWo1YzD0YrNZlxRzWwxX12hCrc6KisSJ6IIFFj29iy287Hbrktz7pKRkRCJR+B5KpYqY2ZBcS/33er24XA6Ghtw4nQ5cLscNWnoJycvLRyKRoFTqkEplN0yZSHD7JAzwKCZWHsAJ1oaNlH8gEOCtt15lYKAXoVC4YISXrO8gYpjx8TGOH38tbEhqNDoOHjxyW4WLNrP+m80Gzp8/Gw51TUlJoaamjh079sZEBevV4E7l7/V66e3tpLX1SkQepVQqo75+G8XFZTHrFVoP3G7ngnd3MKINUEpKykJ/8XpUKs2aG0KxqP8+nw+zeRCTyYjZbFzSRqmwUIxeX4xWW4JEIk0s5K9jamoyHK5uMg0uCR1OTU1bMIZU6PVlFBQUJu7hAn6/H6fTFs4ht9mszM0tDb0WiQopLCxEKlWgVuui1qBcb/2fnp5cyL0fwu124nQ6mJ2dWXJdamoaIlEhYnERCoUauVy1aaPU7paEAR7FxOIDOMHqsdHy9/l8HDv2AjableTkZB5//Enk8oQXbaUEAgHa2pr54INT+P1+0tPT2b//Pioqalb0+o2W/0YTDAYxGAY4d+4UIyMjQKgH6vbtu6mpqY/70Li7lf9iS64rVy5iNpvCIYeZmVlUVlZRXV1Pbm7+6g46jlgsQtbb20VvbyfT09PhcxkZmZSUlKHXl6BUro0xHuv6HwwGGRkZor+/l8HBXjyeyKJaGRkZC57xcrTa4kSo+nUEgwHm5sbp7u7HarVgs5nDBSsXycjIRKlUI5VKF4xJUcJDvkAwGMTjcWK1mnG7XbhczmW9vKGK4QokEgkSiRy5XLGukS43YqP1PxgMMjo6gt1uxu0O9dh2u51LUiYAsrKyKSoSU1AQ6k+uUKiioo5GtJMwwKOYjVbABBtLNMjf6/Xy6qsvYrNZSU1N5UMfegqJRLYxg4lRhoeHOH78tXCxrOLiEu6//8gtQ6qjQf7RQCAQoLOzlaamS2GPWlZWNg0NW6mt3Rq3hvhqyn9ycoLOzjba21uYnp5aeH8BarWWurotqNW6xML9JgQCAcxmA4ODfQwM9Ed4hjIzMykvr6KsrIqiIvGy3rRh6xTNb5ppOKpGpFyZtyje9H96egqTyYDBMIDZbIgIVRcKk1AoVKjVGtRqDSJRItT6evkHAgEcDhsm0wBOpwOn07Ek5Do7OweVSoNCEQr730xtu1bC9PQ0drslXG19eHh4SV9toTAJqVQWLlAmlco2pOVeNOq/3+9neNiDxWLE5XIwPDzCyMjQstdmZ+cgkUjJz89HLJYljPJlSBjgUUw0KmCC9SNa5B8ywl/CZrOQlpbG449/FIkk0SrqdvD5fLz//ru0t7cCIS/kffcdRq+/cVh/tMg/WvD7/XR3d3Dp0rlwf+LMzCx27NhDVVVt3IVVr4X8/X4//f09NDdfwu2+Wj09OzuHiopqKiurE3m6t8Dv92O1mujqChUhu9YIysvLR6vVUVxchkymDBuRja8a6TvnomyPhK2PrqxFYTzrv8/nXcgb78dmszIxEdmqKysre6Gqug6lUrMpveO3kr/f78PpdITD1T0eD8FgZFGy7OxslEo1Go0ehUKV6N1+HT6fD7fbicNhCxvl10cZAOTk5KBUahYMcjkiUWEiBWWB+fl53G4ndrsFp9POyMjIktSTRXJycpFIpAtpAGLkcuWmNsoTBngUEysKmGBtiCb5z8/P88orL+B02klNTeXRRz+CXK7a2EHFIDabmffeO8Ho6DAApaXlHDhwcNkcqmiSfzTh8/lobr5Ec3NjOEcyOzuHbdt2UVlZHRXhg6vBWsvf43HS1dVJd3c7c3NX23Gp1Rrq6rah0SS84rfC653HYOhnYKAfg6E/IjwzO02ERlGMSqWl/dVh5qZ8pGUlc++nygkGIS0rmaz8G9cz2Cz6vxjqajQOMjDQi8vliKhuLRQmIRaLUau1lJZWbJq859uV//z8PE6nHYvFtBB2HVmdHkIbREVFYhQKJTpdacJDfh2BQICxsbAZzjkAAIYwSURBVFGcTvtCHrll2bD15ORQcTe5XIVcrkImk696HnQs6//c3Bwejwun0xbOK1/cNL+e3Nw8xGIpYrEEkagAqXTzGOUJAzyKiWUFTHD3RJv8Z2amefnlnzE0NERqaiqPP/4kUmnCE367+Hw+Ll48y5UrlwkGg6SlpXHvvYcoK6uMuC7a5B9teL3zdHS0cuXKJaamQmHVGRkZ1NdvpaFhR8yHpq+X/H0+H/39PbS0NOJ2u8LHs7KyqaysSXjFV4jXO8/gYD89PR1YrRYKLPvC54IEEbDUaPz4V3fe8P02q/7Pz89isVjCnt3rveM5ObloNDpUKjUqlY60tPgsyni38p+ZmcFiGcThcGC32/B4XEuuycnJRaFQIZFIUCjUFBSsvWc31ggVJ7Ph8bhxOu04nY5wl4lryc7OWai4rkCl0lJUJLmrZ1C86f/c3Cxutwu324nNZmZoyMPk5OSy1+bl5V9jlBciFkvjstBbwgCPYuJNARPcHtEo/9nZGY4dewmXy0FKSiqPPfZEojDbHWKzmTlx4s3wArOsrIL9+w+SmRna/Y1G+UcjPp+Pzs42Ll8+Fy6UlZmZxdatO6mpqYtZj/hGyN/jcdLd3UV3d3tEBWalUk1d3Va0Wn3chfqvBfPz81x5rxfDmSkILuOtFQQpO5hP/b0lN7yfCf0PeceHhtwMDPRis1lwOBwRObtCoTDcYkqtDhk98eIdX235z83NLlRYD4VaDw15lnjIMzOzUChUKBQq5HIlBQWJom7X4/f7GRpyYbdbGR4exul0MDzsWXKdUCikqEiMSCRCIpGjUmnIy1t5xfXNoP+zs7N4PC5cLgdOpx2XyxHeTL+e7OxsxGIpRUUSiorEFBYWkZ2dG9O/z5gwwC9evMgPfvAD2tracLvd/OM//iOHDx8On/+TP/kTXnrppYjXHDhwgB/84Ac3fM+EAZ4g2olW+Xu987z66i+w2SwkJ6fw0EOPotEk+oTfCV6vlwsX3qelpWnBG57Orl17qalpIClJGJXyj1Z8Pi8tLY20tjYzNRXaWU9Pz6CqqpotW3bGXFjbRuq/z+djcLCPlpbLOJ1X+2JnZGRQVlZJaWkFMplifQcVg4zYpnj7ux1Ljxc14k+ZIi0tDa1WR3l5NUqlmqSkqx6zaJ3/N5LFvtlG4wAGQ/+SxXpaWjpSqRStVo9OV0ZOzsoWuNHIWsvf653Hbrdhs5kxmQwMDw9FhP4DpKWlIZPJUat1yOUqCguLYtrgWSvm5+ex2cw4HFY8Hg9ut4uZmekl16WnZyCVyikqEiMWS26aA71Z9X9mZhqPx43b7cTlcuJy2W/oKU9PTw8b5WKxFJFIFFOdAGLCAD958iSNjY3U1tbyuc99blkD3OPx8PWvfz18LDU1lby8vBu+Z8IATxDtRLP8vV4vr7/+SywWE0lJSTz44MMUF5dv9LBiFqfTwXvvvc3QUKgwlkQi5fDhhykr00al/KMZv99PV1c7jY0XwtEFycnJ1NY20NCwPWYKEUWL/ns8Lrq7O+np6YxYVBYUiKipqaesrIqMjJtX9N+shA1wAXCNDPN3jGFyd0UUfEpJSV0oOqamuLiczMyMqJB/tBIIBBgZGcJqtWCxGLFazRGV1QHy8wtQq7XIZDLU6mLS09M3aLS3z3rrv9frxeVyYLNZFqINbEtaTqWkpCz00Jaj0RQjk8lJSUld+8HFGMFgkImJcex2K1arEbfbzcjIyJKK6xAKt5ZIZOFwa5lMQWpqWtTM/9HAzMwMw8MePB7XQks5O6Ojo8tem5KSwt6991Bbu2Vdx3gnxIQBfi0VFRXLGuDj4+N85zvfWfH7JAzwBNFOtMvf6/Vy7NgL2O02hEIhDz74CCUlCSP8TvH7/Vy+/AFNTZfx+/0kJSVxzz33UFnZgFCYCPu9XUKGeCtXrlxmbCxUlVUoTKKiooq6ui0UFUk2eIQ3J9r0PxAIYDIZaGu7gtlsDIevCoVCtNpiSkvLKC4uT4SoX8P02DzH/6mDjLwUireLGbjsZmbMy+HPVpOaJcRo7MdkMmI0Dobbw0GoRZxSqaa+vhaxWElWVux6cteLxer0JtMgDocdt9sVEWItEAiQyRSo1VpUKg0SiSyqPWUbrf8+nw+bzYzLFcohdzrtSyqECwSCBe+jGKlUhkqlJSfnxo6vzYzf78PjceNw2BeMctcNwq0FiESFSKVSiot1pKVlU1QkjfmaJquN1zuPxxPqTx4yzENpFYFAgLKySh588JGNHuItiRsD/Pjx46SkpJCbm8uePXv4whe+QEHBjQvHuN0TRHuqkEAAhYU5DA1FxwIswfoSC/L3+by89dZrDA72A3DffYepra3f4FHFNsPDHs6cOYnZbASgoKCA/fvvQ6tNhPnfCYuGY2PjRex2a/i4RqNl1679SKXR2dc+mvV/enqS3t4eurs7Igq3paenU1FRQ1VVDYWFRRs4wujB7wsgTBIgEAgIBoME/EGSkiMNv2AwiNPpoK+vi8HBfsbHIwuPFRYWoVZrKC+viqs857VkdnYWq9WMwdCPxWJaEsaakpKCVCpDq9Wj0egpKBBF1X2NNv0PBAK43U4sFhMulwOXy7VsZevc3DxkMgUymRyJRIpYLI3qjY6NZGZmZiHUOrTJ4XI5ImpvLCIUCiksLEIqlYe95QUFosRm53X4fD4mJsbIzc2LSOeJVoqK4sAAf/XVV0lPT0elUmE2m/nWt75FZmYmzz///A1/oH5/gKSkxKSQIMHdEggEePXVV2lsbARg9+7dHDlyJPHQvQuCwSBtbW28+eab4V3y8vJyHn/8cbKzYyOEOhoxm82cOHECo9EYPqbX69m/fz96vT7xm70DnE4n58+fp6OjI6KdmVwup6ysjIaGBkQi0QaOMPZwu9309PTQ3d2N2WyOOFdQUEBFRQVlZWVoNJqEZ2yFDA0NMTg4yMDAAIODg0sMnaysLNRqNXK5nPLycqRSaVQZ5NHI2NgYJpOJrq4u7PZQWPD1pkJqaiparRa1Wo1Go0Eul5OamghbvxGjo6M4HA5sNhtWqxWLxbJsb/KkpFB7Pp1Oh1KpRKFQkJ+fn3iGxSFRbYBfj9ls5vDhw/z7v/87e/fuXfaahAc8QbQTS/IPBoOcO/c+jY0XAKiqqubgwaOJBcxdIBBARkYSL730C/r6eoHQYmbXrn3U1W1JPGjvAqfTTkvLFfr6usOFh3Jz86ira6C2tiEqKqfHkv5DyPtgNA7S3d2B0TgYUdBJqVRTUVFNSUkpqanx2TZqtVmUv8lko6enC4NhAIfDEZGXm5KSgkqlpqSkHI1Gn8jFXyF+vx+7PdTqzOUKVbS+Pt85OzsHlUqNQqFGoVCseyu+WNN/gPn5ORwOO3a7DYslFGZ9/X0VCAQUFBSgVKqRyZTIZHJycnITa4XrWJS/2z3G8PAwQ0OesLfc5XLi8/mWvCYlJYWCAhFyuTIcfZCXlzDKo5W48IAvx2IY+jPPPLPs+UQOeIJoJxblf+nSWS5cOAeE2mo98MDRmAgFikaulb/NZuX999/D5QpVpM7PF7F//72JsPS7ZGJinObmy3R0tIYXNOnpGdTW1lNbu2VDe4/Gov4vMjMzQ09PB93d7Xg8V1v0JCUloVZrKSkpo6SkIuG9vQnLyd/rncdkMjA42I/BMMD8/FzEa6RSOQqFAr2+DKlUnjBqVojf78PhsGMw9C/0KF5aETw7OxuNRo9SqUapVK/53BDL+r+Iz+cL9892OKzY7dZwq8hrSU/PoKioEJlMiVIZys9PSdn4TdCN5GbyX2yF5vF4Ftp4OfF4XEt+sxAqQJqfX4BEIkUmU1JUlAhfjxbiIgf8ehwOB/fffz//+I//yKFDh5a9JmGAJ4h2YlX+3d0dvPvuWwQCARQKJUePfijhmbkDrpd/MBiks7OVc+fOhMMnS0rKOHDgYMxU9o5WZmamaW1tpKurI5wrKhQmodPp2LJl54a03IpV/b+esbERent76OnpZHR0OHw8NTWN0tJyysurkMuVCWPxOm4lf7/fj81mwWIxYTIZwh0UFsnKykanK0arLUahUCXCfm8Dr9e7UMHajNlsxONxLbkmLy8fmUyGRqNHpdKuepvDeNH/awkEAoyNDeNw2PF4PDid9mUNR4EgVIhMJBItFM7Tk5eXv6nmiNuVf2izI9RTe3R0BLfbxdCQe1lPeVJSEnl5eRQWFqFQaBCLpRQWFiacJetMTBjgU1NTmEwmAD7ykY/wp3/6p+zevZu8vDzy8vL4h3/4B44ePUpRURFms5lvfOMbTE1N8corr9zwoZMwwBNEO7Esf7PZyJtvvsL8/Dw5OTk8+ugTiESJoky3w43kPz09yfvvv0dvbw8Q2uHeunUnW7bs2PReg7slEAgwMNBHc/NlnE57+LhCoaahYRs6XfG6LQJjWf+XIxgM4nI56ehoZnCwPyIHNysrG61WR0VFNTJZwhiH25f/xMQEAwPdDA7243RGhqoLhUnIZFKKi8vR6UrIzU1Uqr4dZmZmFvo827BYzEs2OwAKCgrDhcfUai25ufl39Znxpv83wufz4XBYsdksDA8P4XI5ly3uFurxLqeoqBCJRIZcro7rjf3VkH8gEGBoyI3TaWNkZCRcMXy5nHKhUEheXj4ikQipVIFMpqCwUJxYU6whMWGAnz9/nk996lNLjj/xxBN8+ctf5nd+53fo6OhgYmICiUTC/v37+fznP09R0Y0X/AkDPEG0E+vy93jcHDv2AtPT06SlpfHoo09siCcxVrmV/F0uB2fOvIfDYQMgIyOTHTt2UVOTyA9fDaxWI01NlzCbTeHCQnl5+ZSXV1Bbu4WMjEQI6p0SCASw2Sz09HTS39+L13t1QZibm0dpaQUlJWUUFoqX/S17uzqY/s7fk/k/fpeUyur1HPq6cTfy9/m8WK0WjMYBDIb+JRXA8/Lyw6HUWq0+kZd/m0xPT2My9WOxmBd6PA8tuSY3Nw+FQoVCoUIqlZGXV3Bb83I86/+tmJycwGYzY7NZwq2mrs8lh9Cmh0QipahITFGRGKlUHhX1O1aDtZJ/MBhkdHQYu93K0JCHkZER3G4nc3NLq68LBALy8vLJz8+jsFCCXK6iqEi8oalZ8URMGOBrQcIATxDtxIP8x8dHee21XzA8PExSUhKHDz+c6BW+QlYi/2AwSH9/D2fPngp7DcRiCfv3349CoVrH0cYvExPjtLZeoaOjNZxzm5SURFlZFXV1DYjF0jX53HjQ/5Xg9Xrp6+uiv78Hm80aETKZk5ODXl9CVVUdIlFR2DM++f++yewLPyX9qafJ/vzvb9TQ15TVkv9i+yijcQCr1YLTaY8I+RUKhSgUKtRqHWq1FpGoMLGBd5vMzMxgt1sxmQaw263LVgPPyMhApdKiUKiQy5W3bHu2WfR/JYRynt0LEQgG3G73sj20Q+26xEgkMqRSGSJRIYWF4pjMd15P+QeDwfCmh9vtZHR0FI/HzfT0cn3KQ5v9+fmL3nIlEomM/Pzb22BKkDDAo5rEBLy5iRf5e73zvPXWaxiNAwBs3bqD3bsPJCbrW3A78vd6vVy+/AGtrc14vV4AiovL2L17HwUFhesw2vjH652no6OVtrZmxsZGw8elUjmVldVUVFSvqvclXvT/dvB6vRgMA/T3d2M0DkZ4veTJKegLJSiVKoRf+wrBkREEBQXkfePvgCCCvHySZPKNG/wqs1byn5+fw2Ix0d/fjdVqWVIUKyMjA6VSRXFxOSqVhvT0+A3zXSvm5uZwOGzYbBas1pBRc/0SOi0tHYlEgkqlQaXSLon22Iz6fztMT08vVAR3YLdbcLuXD61OTk5GLJYilcrCPbRzcvKifv0RDfKfmprE4bDhctkZHR1hZGSE0dGRZa9NSkoiP19Efn4+YrEEmUxJYaGYtLREdM2NSBjgUUw0KGCCjSOe5B8IBDh79iQtLU0AqNUajh59PBH6eBPuRP7T09NcuHCWzs5WgsEgAoGAyspq9uy5Z9WLBG1WAoEADoeNtrZmBgZ6w97E1NQ0amrqqK3dQk5O7l1/Tjzp/50wOztLX18XRuMgZrOJp370o/C5ILCc77Do9IV1G99asx7yDxXFGsVkMmA2G7BazRGbHgKBYCHfVo5Go0cuV8WkN3GjmZ+fw2634nQ6sNutOBy2JSHVKSkpSCTShcJYKtRqLQpF0abV/9slEAgwMTEebtXlcNhxu53Lhq6npqYiFksX2nWFDPPMzOh6Pkbr/O/1ehkaci2EsLsZHx/H4/Hg83mXvT4nJ5e8vFxEoqKFEHYJubl5iTofJAzwqCZaFTDB+hCP8m9uvsTZs6cJBoMUFhbx8MMfThQEugF3I/+hIQ+nTh3Hbg/lh6emprJly04aGraSkpKohrxaTE9P0dLSRGdnKzMzM0DIaNFq9ZSXV6HXl96xwRKP+n+nzM3NYXvuv8j6139BuEyrnaBQiPezn0P29Cei3rO1UjZC/l6vF5NpcKG6unlJbnNqahpKpQqVSotSqSI/XxQ393s98fm82O2L3vFQm67lvLdSqRSxWEZhYRFKpZrc3ERP59vB7/czPOzB43HjcoUM86Eh97LtujIzM6+pCi5BLJZuaJG3WJr/g8Eg4+OjC95yB2NjYwwPDy1bTA9C65H8/IIFb7kUiUSOSFS06bzlCQM8ioklBUyw+sSr/C0WI2+//TozM9Okp6dz5MhjqFSajR5W1HG38g9V9O7h8uULDA2FejFnZGRSX7+FhoYdiR7Mq4jf78dg6KO9vRWLxRQ+npGRQVVVHTU19bftFY9X/b8bfN1djP7G0oKsbx09wqhIRGZmJsXFZej1pSgUse2tjQb5T0xMYDT2MzjYh8NhD6e3LBIKV1ej1RajUmkS7RDvkEAgwMjIEGazMVx4bDnjJTMzC7lcgUymRCqVUVQkSczjt4nX68XlsjM05MHtDrXtGhkZXvbazMxMRKLChargcsRi6boVIIsG/b9bZmdncLtdOJ1WhoaGwoZ5ILA0KgEgOzub3NxcCgoKkctViERFcd2zPGGARzHxoIAJ7px4lv/ExARvvPEybrcTgUDA9u272LFjb2J3/xpWS/7BYJC+vm7On3+f8fExINT2ac+eA5SVVSbu+SozMjJMa2sTPT2dEV4ttVpLRUU1xcVlK1o0x7P+3ylhA1wggGAw/Lft1z9Nr98fYSCmpqahUqkoLa1ApyuJuerI0Sb/xWJuFosZi8WI3W5d4knMzxchlYbacGm1JZvOo7WaTE9PMjU1QldXL1armZGR4SV55ElJSRQViVEqNcjlCqRSBenp6Rs04thldnYGh8OGx+NieHgYt9sZUefjWjIzM8nPL0AslqJQqBGLJWRlZa96SHW06f9q4ff7r6nC7mJ8fILh4SGmpiaXvV4oFJKTk3uNt1yGSFRETk5uzIexJwzwKCZeFTDByoh3+Xu9Xk6ceJ2BgT4A9PpSDh06msgLX2C15e/3+2lpuUxT06VwD2aRqIjdu/ej1eoThvgq4/N56e/vobu7M8IrnpaWRkVFNbW1W8jPL7jh6+Nd/+8Ev8vJ6G9+GqFEQvpjH2b22C8JuFzk//O/ExSJsFotDAz0YjD0h1MCAJKTU9Bqdeh0JajV2phooxPt8vd65zGbjTid9oV2XM6I84v54yqVBrlcjkKhjrlNkI3kevnPz8/jdjtxOGzY7TbsdsuSiASA3NxciookqNW6hUrgRYm5/Q6Ym5vF4Qjl7Y+Pj+F2u27oKV+sCl5UVIRcrkYqlZOdnXNXBmK06/9qMzs7i8fjDEckjI+PMzTkCXceuZ6UlBRyc3MXIhSUFBYWUVhYFFNFIxMGeBSz2RQwQSSbQf6BQICmpgtcvHiOQCBAfn4BDz30OCJR0UYPbcNZyyrIra1XaGq6FH64FRYWsmPHHoqLy2N+VzkaGRsbpb29ma6u9vDmB4BCoaK8vJKSknLS0iI9V5tB/++E4Pw8pKQgEAhCHkGvF0FqZF0Dv9+PxWKkv78bi8Uc0QdbIBAgFkvCnvGbbYJsJLEm/9nZGYzGAUymQZxOZzjaZhGhUIhcrkCp1IR7YyclJcKnb8St5B8IBBgacuF0OnE67TgctmW9tsnJyYhEhYjFYhSK0L1PpArcGV7vPE6nHafTxvDwMENDQ4yMDC2JTIBQlfvCwkLy8wuQSGTIZIrbqpkQa/q/FoTao03idFrxeFxMTIS85SMjw8vm8UMoLWbPnnuoqqpd59HePgkDPIpJKODmZjPJ3+Gw8eabx5iamiQ5OZn9+++lpmbLRg9rQ1lr+c/OztDUdJGWlqZwpVipVMbOnXtRq3UJQ3wN8Pl8DA720dPTiclkCC/ckpKS0OtLqK6uR6lUIxAINpX+ryXBYBC328XAQC8DAz2Mjo5GnM/LK0CpVKLXl6BS6aIm3zDW5T8xMY7FYsJkGsRiMTE3F+nJSkpKorCwCJVKg0ajTxjk13En8p+amsBms+ByORka8uB0OvB6lxZ3y87OQSyWUFhYiFyuRC5XJaIT7hCfz4vb7cJut+DxuBgdHWN42LOsgZiUlIRIVLQQpRDylhcViZeN+ot1/V9LFovrud0ORkZGFnLLPeFNv5KSco4efWyDR3lrEgZ4FJNQwM3NZpP/zMw0b7/9Wjhct6ysnPvvP0pKyuZcGKyX/Ccmxrl8+QN6errx+XwAiMVStm7dTnFxeSJ8cY2YmJigu7uNjo7WCA9tdnYO5eWVlJdXUlFRvGn0f70YGfFgMhkxGg3YbOaIhXJaWhoajT4cqr6R+bTxNP8HAgGGh4ciemPPzET2H09KSkIqlYd7YyuVmk1tkK+G/BeLu1ksoVSBkZERhoeXemyFQiGFheKFkHURMpkyEbp+F/j9PoaGhrDZTGGjfGRkaNmUAYDc3DwKCgooKBAhkciRSuXk5OQgFufGhf6vF3Nzc4yODiMSFcXEujFhgEcx8fQATnD7bEb5+/1+PvjgJC0tVwDIzy/gyJFHKSqSbOzANoD1lv/09BRNTZdob28OG+JFRUXs3n0PGk3CI75WBAIBbDYzfX099PX1ROS8yWQyKitrlw1RT3D3zM/PYTD009/fg81mjfDShnKYJej1ZRQXl5GXl7+uOhDP838wGGRoyIXJZMDtdmOzWZY1yGUyRThcXaHYXF7atZK/1zuPy+UMG+VDQ56IegmLpKWlIRbLwr3JJRIpOTl5CaP8Dlls1eV0OnA6bYyMDDMyMnLD4mNpaWlIpVIyM7MRiyXI5SoKCgqjJkInwd2TMMCjmHh+ACe4NZtZ/mazkXfeeYOpqSmEwiR2795HQ8P2TfXw3yj5T01NcvHiWbq7O8Oh6RKJlK1bd6HXl2wqGaw3Pp+XwcF+2tquhHu4w9UQ9ZKSMnS6O+8tnuDGBAIBnE47BkM/g4P9jI6ORJzPzc1b8Myq0GqL17xY5Gaa/4PBIKOjIxiNA1gsRlwuF7OzkUahUChEKpWjUKiQy0NtuOJ5U2q95B/Ks53A6bRjt1ux2y0MDy+fY5uenrEQpSBFLJYiFovJylqZEZFgeWZnZ/B43NjtZjweN2Nj44yOLn//hUIhBQWF5Ofnhb3li63REhvksUfCAI9iNtMDOMFSNrv8Z2ZmePfdtzAY+gFQKJQcOfJYTFQwXg02Wv6TkxO0tDTS1nbVI56Tk8OWLduprm5IGIFrzMTEKHa7icbGJoaHh8LH09LSKCurpKysCplMnlh4rRFDQ24GBnqx2axLWm4JhUKUSjUajR6NRkd+fkGiDdEqsmiQW61mLBYTVquZubnZiGsEAgF5eXnI5UrUah1yuTKuiottpPx9Ph/Dw0O43aGq1Ha7lbGx0WWLjWVmZiKTKZBIZAtGuSSmKlFHI36/j5GRYSYmhhgcNDAyMsLo6MiSOgqLpKenU1AgIjc3j6IiMVKpgsLCIlJSUpe9PkF0kDDAo5jN/ABOkJA/hBZiTU0XuHDhAwKBAJmZWRw+/DAqlWajh7bmRIv8p6enaWlppLW1KZzDlp2dQ0PDdqqr62Ii1yoWWZS/2z2Oy+Wkre0KAwN9Eb3Fc3Jy0Wp1lJdXI5UmjPG1Yn5+HqvVRH9/DxaLienpyHDprKwslEo1JSUVqFSaVdGJaNH/aGAxl9npdCx4aa1LqqxDSB9Cxa0UaDQlFBSIYlYnok3+8/NzDA15FozyUOX1G/XKzs7ORiqVI5UqFrzlkoQxeJtcL//FSIVQwTczw8NDjI9PMD6+/MYIhKJ2cnNzKSgQIZUqKCqSkJ9fkIhiixISBngUE20TcIL1JSH/qzgcNt59961wH87a2i3s2bM/rnuGR5v8Z2dnaGm5TEdHW9gASUtLp7Kyiq1bd22ayIT1Yjn5+3w+rFYzvb1dDA72RRT1KSgoXPCMV5CXl78xg94EhIzBYcxmAyaTAZvNcp13PAmFQoVCoUCt1iIWy+5owRtt+h9tjI+PYrWacLs9OJ02PB73EkMkPT0dmUyJWCxGLlcikylJTo6Nwm6xIP/Z2RncbicejweXy4HbvbT93CI5OTkUFobkIBZLKSoSJzzlN2Gl8vf5vAwPD+Ny2XG7nYyNjTE6OsL09NSy1yclJZGXl09eXh5FRRKkUjkiURFZWdkxu1kVqyQM8CgmFibgBGtHQv6ReL1ezp49SXt7CxDaZT948AhqtW5jB7ZGRKv8fT4f3d0dNDVdDC+2kpOTqa6uo65ua8L4WyVuJX+fz0tfXw89PR3YbJEh0oWFRZSUlFJRUUdOztKHfPdoJ9/r+kd+u/J3qMivWsuvEffMzc0u5C6bsFotTEyMR5zPyMhApdKiVmtRqTRkZ69w0RWl+h+tzM/PYbOFQtZdLicejzucOrNIUlLSQk9mORKJDIlERk5O7gaN+ObEqvynpyex20NFxha95TcqNJaZmYlIVIhcrgqHr8dTGsHdcLfyn5mZweNx4XRaGR4eZmJinKGhIXy+5Suxp6WlhauxS6UKRKIiCgoKyczMvMtvkuBGJAzwKCZWJ+AEq0NC/stjMg1y4sQbzMzMIBAI2LJlOzt37osZz8ZKiXb5+/1+urvbuHLlcri3skAgQKvVU1vbgEqlTYS63QW3I/+5uVkGBvro7e3CajVHeAIVChUlJWXo9aVh4+/v27/FS8af81Hdx/hc9e+t5dfYVCzmLhsM/RgMfbhcrnAhw0Vyc3NRqTTodKUoFCpSU5cPzY12/Y92/H4/Ho8Lm82C2TyIy+WKSN9YJDs7G7lchUwmXzA8CqPiWRJP8p+cHMfptDM8PLSQW+66oac8IyOD/PyChY0SBWKxlJyc3E3nnV0L+Ycqsf//7d15mBxndS/+b+9bLV29zvTsGlnbjLXZjm1FYJs9MU4w63VCEmxyCfdyL/DYuQ9LQoiBgElyCTHX4QdhuVyWEBIICTEkgRAbglfwJluStWvW3ru6q/el6vfHW11SaxaNpJmeXs7nefTY6q7uqdGZ6unT73nPyeoVI3Fks1l9jnZmxTL2ZmLu9wcQDLIxdV6vHy6Xi36/XyFKwDtYL70Ak0tH8V9ZqVTET37y7zh58jgAwOfz42UvezVCoYFNPrP10y3x1zQNs7Nn8dxzT2Fm5oxxeyAQwL5912Ny8ir6RX0ZLjf++XwOR48+j1OnTiKZTBi3FywFuP0ejIyM4su5LyFbk+G1S7jvuk8B0CDYRQy4Btf/G+lj9XoNsdgiZmdn9O7esZb7m529w+EwRkcnMDg4bDQ37Jbrv1uoqopsVkY0uoBYbBELC7PGB4fns1gs8Pn8GB4excBABOFwZFNWAXs9/uVyCdHoglE2nUjEIcvpZRNBu90Br9er7+8fRTDY+3uZ2xl/1nQvYcyKVxQFmUxqxQ9JAMBut8Pr9epJuR8+nx9erwSXy9PTcVlPlIB3sF5/ASaro/hf3OnTJ/DQQz9CqVSEyWTC9PTVuOGGm3qiMVg3xj+VSuAXv3gMp06dNEqiOY7H1VfvxY4d03C5aM/fWq1H/BUlh5Mnj+PkyWN4wPWZc3doAJZZUPrxrz5yeV+IrEmxWMDZs6cQjS5ifn52yRtcu92BoaFhjIyMYXBwCNu2jSOdLnTN9d9tSqUS4vEo4vEoYrFFRKMLK6yS8wgEAohERjA0NAKfL7DhUyC68fX/StVqNcRiC4jHo5DlDFKpJFKp5LIjuSwWC7xeCV6vF6EQ21IQCAR7ZjRdJ8S/VqshmYwhmYxDURTIckZv/rZ6Yi5JfgQCQUiSH5Lkg9crwePhKDG/ACXgHawTLkCyeSj+a8PGlf0rzpw5BQAQRQk33/wKDA2NbPKZXZlujn+hkMfhw4fw/PPPoFRi83wtFgu2br0Ke/f+Evz+wCafYedb7/j/0/Hv4P7jn4KKpW9mTZoJd0hvxZum7qA9/G2Uzco4c+YkZmZOIxaLLkn+nE4nIpERjIyMYWhoBKLo7btS3HZSVRWpVALRKGvq1iybvpDFYkEgENL3yw5ieHgUgrC+senm1//11NxKEI3OI5VKQpZlJJPxJfv7mziOhygKesO3Yfj9wa68bjo5/s2O+GyVPId0OoVMJrViV3yAJeZ+f1BPyH3geQ6S5IcoSn070pQS8A7WyRcg2XgU/0tz9OjzeOyx/zQ6dO/cOY0bbzwIp7M7m4j0Qvzr9TqOHTuCp59+AtnsuU/NI5EhTE3twcTE1o7Yb9mJNiL+x7Iv4p0/u3PJ7S9feDmkqgQA8PkCGB4exuTkNoTDEVq1aBNVVZFIxDE3dxZzc2exuLiwZOXP7XYjFApjeHgUY2OTEASx6xKLblOpVDA3dxbRKGtmxT4oWTqP2eFwIhQKQ5J8CIXCiERG1txwbzm98Pq/UTRNQzYrY3FxDslk3EgCL2yA2GS12uD1eo0GY8FgGH5/cMX+C52gG+Nfq1WRSiX0veVpZDIpJJOJFeMCNLuyS5AkH0RRBM+zD0/8/mBPVDKuhhLwDtaNFyBZPxT/S1epVPDYYz81OqU7HA7ceONB7Ny5u+veqPZS/FVVxczMaRw9+gJOnz5p7PNzOl3YsWMn9uy5lrrfXmAjE3ATTNCgGf/9/fD7UJurYmFhrmUPJsfxmJiYxPj4JAYHu2eEUy+o12vI5RI4efIM5ufnEI0uQlVbG7pxHI9IZBihUAijoxPwen2bdLb9o5n8zc/P6kk5ayx2YbM9gMWnWRodCAQxMDAEp3NtJdK99PrfLpVKWd9SwPYyZzIZpNPJZWMDsLnx58ZxReD3ByAIYkd86NhL8a/Vqshk0pDlDGQ5oyfmrKx9ue0FTRzHQ5J88Hg88HolY7+52+3puvdzy6EEvIP10gVILh3F//ItLs7j3//9X4y9SmNjE3jJS14GQRA3+czWrlfjn88rOHz4OTz//LMol8sAWDOqLVuuwtTUbgwODnXEG6DNthHxT5TieOcjdyHkDONXR27D92e/h3g5hv/vwJcQdIVQLpdw8uQxnDp1HIuLCy1lnjabDUNDw9i6dQfGxyc7evWoF1wY/3q9hrm5s5idPYt4PI5EIrbkzSvPCxgaGkEkMoxweBCi6KVrqQ0ajQZSKTaPfH5+BslkcsV9spLkRzjMRqD5fD6EQgOwWpeu9PXq63+7qaoKWU4jGp3XV8vzSKUSK45Gs1gsEAQBXi9bLQ8EgpsyJ7sf4t9oNJDPK5DlNDKZDJLJmF7JoKBSKa/4OLvdoa+W85CkAIJBVnkiCGJXlbNTAt7B+uECJCuj+F+Zer2GJ574GZ577lmoagMWiwX79l2Hffuuhc3W+clDr8efzRN/AS++eBjR6KJxuyiK2LFjF6am9q15tagXbVT8q40qbGYbTCYTNE1DTa3Bbll6PbCEbxanT5/A6dMnUS6XjPvMZguGh0cwOjqOsbEJiKK0fidIAFw8/rVaDdHoAmZmTmNu7izS6aUdpJ1OFyKRIQwNjWJwcAh+f6AnVo66QbVa1edgR7GwMItEIm5sjzqfyWSC3x9EMBjSS6MDCARYeXQvv/5vtlKphFhsEfH4IrJZGbIsI5NJrbi33GazQxTZOK5QaBA+nx9+fwBO58Y0Fu313/8XUyqVIMtppNNJJBJRyLKMfD4PRcmtODLNZDKB4zhcf/1BbNu2s81nfOkoAe9g/X4B9juK//rIZNL4yU/+HfPzswAAj8eDAwdeiq1bd3T0m9F+in8yGcfzzz+LF188gkaDvQGyWCzYsuUq7Np1dV+uindS/BuNBubnZ3DmzEnMzs4sabYjST5MTGzF2NgEwuHBvovVRrjU+FcqFX0FdhYLC/OIx6NL3qiypC6ISGQIo6NbEAyGu2rFqNsVCnkkEnHE46zjejweW7bruslkgtcrYWxsFDwvIRAIwe8PwG53bMJZ94/mqLp4fBHpdBK5nIJ0OrXieDSANUpkndhZCbvP54ck+a+4QqiTXv87Sb1eRzYrI5mMIZVKQFEU5HJsz3nzw5MtW67Ca15z2yaf6cVRAt7B6ALsbxT/9aNpGk6ceBH/+Z//YXTlHh0dx8GDt8Dr7czVu36Mf6lUxOHDz+H48Rdbug9zHI/t23dgenpf3+wV79T4a5qGTCaNU6dO4OTJF5FKJVvudzgcGBwcxNjYJCYnt23YClGvu9L4V6sVLCzMIZlMYGFhHtHoAur1WssxVqtV36McQCQyjOHhMUry2khVVShKFslkEskk21YQiy2iUlna5A1g1UEDA0MIBEIIhcKUlLdJo1FHKpVAPB5DLpdd0zguj8cDvz8Avz+kJ+U+iKIEh2Nt8erU1/9OpWka8vkcslkZweDAmv+dNxMl4B2MLsD+RvFff5VKGU8++Qief/45qKoKs9mC3bv3YP/+Gzqu3Lmf469pGuLxGI4cOYRjx44aiYPZbMb4+Bbs3Hk1RkbGenqltVviXyjkMTc3g7NnT2N29kxL8mAymRAOD2JsbAuGh0cQDIZ7Ombrab3jr6oqotF5zM3NIJGIIxZbNHownPuaJgQCIQwMDCIYDGFgIAJBoH3k7dRMytPpFAoFGWfPziIejxofHF+I5wV9T/kgAoEg/P4AXK7unPzRbSqVsr4S2xzHxeaWl0pLtxo0ud2elhnZoijC51sas255/SeXjxLwDkYXYH+j+G8cWc7gpz/9MWZnzwJgq3a/9EsHMDW1p2PebFL8mUqljKNHn8exYy8ikYgZt7vdbkxObsXU1F74fL03V7wb46+qKubmzuL06RNYWJhHJpNuud/lcmNiYhKjoxMYGhrpilWKzbLR8W9WMszNzWBu7gzi8TiKxcKS49xuNwYHhxAORxAODyIYDC7bNIysrwvjn8vJSCTiSKdTSCRiSCRiKBSWxgsAXC4X/P6A0UQsEAiC5zuju3c/KBQUJBLxlr3l6XRyyQde53O73fD5AvqcbAmiKGDr1gnUauauef0nl4YS8A7WjW/AyPqh+G+sZln6o4/+BPk864jq8wVw4MBLMTo6vrknB4r/clKpJI4cOYSjRw+3zOINhwewffsUJie3weXqjZLnXoi/ouRw9uxpPSGfaxkHZDKZEAyGEIkMYWJiK80cv8BmxF9RcohGFxCNsm7emUxmyd5Xs9kMn8+P4eFRDAxEMDAQgdvtac8J9pG1xF9RcojFFpDJZJBKJZBMJlYsi7ZarfB6vfoc7BD8/uC67FUma1co5PW95Tk9KU8jlYqvWN0AsEaKkuSDJPnB8xwkyYdAYAA8z3d0DxtycZSAd7BeeANGLh/Fvz3q9ToOHXoaTz31hFE+G4kM4cCBlyIUGty086L4r6xWq+H48SM4ceIY5udnjSTBbDZjaGgYO3dejYmJrV3dYKrX4l+rVTE7exbz87OYnT0LWc603O9wODE8PIrh4REMD4/2fWf1Toh/tVoxytWj0QUsLi4sOx7I4+EQDAYxNDSKSGQEfn+APky5Qpcb/3K5hHg8inQ6hUwmjWQyseIsbJPJBJ7nEQgE9RL2EAKBIH2g0malUgnZbAaZTFqfkZ1AJpNascIBYF3ZvV4JgiCC5zn4fAEEAmF4vV6qUOkSlIB3sE74BUw2D8W/vcrlEn7xi8dx6NAzxnzdnTuncd11N4Lj1vZCuZ4o/mtTLBZw/PhRHD36QktDMKfThauu2oHt23cgEOi+vce9Hv9sVsapU8cwNzeDWCzWUtEAsIZTY2OTGBkZQyQyDJutv95UdmL8VVVFJpPSxzfFEY0uIJ1OLjnOarUaHaEHBiIYGhoFzwu0YncJ1jP+bE55HMlkHLKcRTKZWHXl1eFwQJJ8CIcj8PvZvnKvV+q7a3AzmUyAIDhw8uQs0mlWwh6PR5HNsnFcq6VkPC+A4zgIgohgMAyfj8Wv3bPMyeooAe9gnfgLmLQPxX9zpFIJPPLIw5idnQHAxmFdffVe7Nt3LVyu9q0MUPwvXTS6gBdffAGnTp1saYTD8zy2bt2OnTuv7tiu9xfqp/irqopYLIrZ2TM4c+YkkslEy/1mswXBIOvUPT5+FcLhga77QOVSdUv8y+UyFhZmEI0uIJViyflyo7VcLhdCoQF4vV4MDEQQiYz2zHaRjdCOHgCKoiAeX9C7eqf1BD2z7PHNGctsZnlY/4AlAEGgveUbYbX4NxoNfX95GolEHJlM0hjHtVIHfQCwWm3geR6SJOmr5RK8Xh8EQaBu+puAEvAO1i2/gMnGoPhvroWFOTz++M+wuDgPgK3qTE1djWuvPdCW5lEU/8unqipmZ8/gxRcP49SpE0ZFAwAEgyFMTm7D5ORVHV3m3M/xLxYLmJ+fw9zcWczOnkU+3/r72mazIxIZxsDAAIaGRhEK9V5C3q3x1zQNspzB3NxZxGKLSKfTSKeTLddgkyh6EQoNwO/3IxQaQDgcoVVW3WbFv1qtIB6PIpVKIpfLIpVinb2X23oAsA+oz8WRrZZLkq9vxkVulMuJv6ZpKJdLeqO+KGQ5g0KhCFlOI5fLrrpq7na79UoHPyRJAs8LEEUveF7s6q1cnYwS8A7Wrb+Ayfqg+G8+TdMwM3MGjzzysNHR2el04ZprfglTU3tgtVo37GtT/NdHuVzC8eNHcebMaczNnW15ExIKhbFjxzQmJ69adnSPNf4sPI/8CQoH/gD10J52njbFX6dpGlKpBM6ePaU3CFs6J9npdGJoaBTDw6OIRIYhit0/OquX4l+vsznKCwtzWFycRyqVhKLklhxnMpn1/cgDCAaD+r7W0Ia+znaqToo/Wy3PIpGIIZtlDcRSqSTS6RRUdenecoCVsfv9QQQCbA52cxa2w9FZ4z471XrHv9FoIJ1OIp0+t1qeyaQhy+lVV83NZjNE0QtRlCCKItxuNyRJgt8fBsdRI7grQQl4B+ukF2DSfhT/zqGqKo4ePYSnn/45slnWZdbt9mB6+mrs2XMtbLb17yRL8V9/pVIRJ08ex9GjzyMePzfSzGQyYXh4FGNj49i6dYfRhMjzkw/BfejLKO6+C4WXfKSt50rxX56qqkilEpibm8GZMycQj8eXNJhyudyIRIYwNjaJoaFh8LywSWd7+Xo9/qxZWAzxeBTz8zNIJhPLJgJmsxmBQAjBYBjBIEvm+iEp74b4NxoNZDIsEZdlWU/Kk8hm5RUf4/F4jA7sPp8fgiDA7w/C6aTtCOdrV/w1TUOxWDASc1nO6FsSksjnlWUrV5qa1Q8cx+uN4ILGfnO320PJ+UVQAt7BuuEFmGwcin/nYYn4C3jyyUdRKLDRZU6nE/v3X4+pqd3rWj5J8d9Y2WwGp06dwIkTx1rmi3uhYCwkYnh4FPteuBeWcgqqy4/sbV8DNA2q0wdVGN7w86P4r029XkciEcPc3Azm52cRjS4sedPI8wICgQAikSGMjk7C65U6/s1hv8VfVVXk84qelC/qe8qTqNVqS441m83w+wP6SnkYgQB7499LSXk3x79arSCZjEGWs0YDsWQyvuocbI+HM1bK2YqriEAgvGxlUj/ohPg3Gg3k82y1PJvNGLFUFAWFQn7V5NxqtYHjPBAEFkdR9Opd2wW4XJ6ur1BaD5SAd7BOuADJ5qH4d65Go47nnnsKzz77FIpF1uzL5XJjz55rMDV19bqU2VH820eWMzh69BBOnTqB92T+yLhdA2A6779NiXfNbfg5UfwvT7VawdzcWUSji1hYmEciEVuy99Ht9iASGUYoFEYkMtSRXfIp/iwpz+VkJBIJJBIxJBJRxOOxFZPyZufuYDCkd3/2d21S3ovxLxbzSKfTyGZlI5lLpRIXScw9kCRWvn6uCdxAzzfw6/T4q6oKRckhm80gkYhBljMoFgvIZrNQlNyq+82tVquekPsgCCIEQYDHw8Hr9UEUvR3/4eh6oQS8g3X6BUg2FsW/89XrdRw7dgRPPfUEcjlWmm632zE9vRv7919/RZ1FKf6bo/H0VxF69A9h1pbubVRhxuFt74Hr+t+FIIgbeh4U//VRq1WxsDCLmZnTiMViSCaTS/atOhwORCLDiERGMDjIRi9tduMhiv/yVFWFLKf1RlMxfU55FLXa0s7rJpMJXq8X4fAQAoGgsVLudHb+PuR+in+pVIQsy3o5e1pP6NIrjkkD2AfebLVc1CtcQvD7gz0zaqub48+6tGeQSiWQy2VRKBQgyzKy2cyyvR/OZzZbIAgCBMELj8cFjhPg8wUgSWy7Qi/NOKcEvIN18wVIrhzFv3s0Gg0cP34UTzzxiNGx2eFwYGpqD3bv3mfsKb4UFP/NY00cgvStX1ly++fwm4iawgAASfJhcvIqTE5uh8/nX/c3fRT/jVGv1xCLRbGwMIeZmdNIJhNL9pBbrVaEwwMYHh7H4GAEwWC47d25Kf5r10zKU6kkksnmanlsxeZSHo8HgUAI4fCg0bmb4/iOqoKg+LMRd7KcRiaTRiqVQCIRRTabNarOlmOz2fSZ1x54vRJCoUFIkg+iKHVVNUSvxr9eryGTSUNRcvoKuoxMJo1sNoNisbhqWTvAqpc8Hlba7vcHIYpeYxXd6XR31YcvlIB3sF69AMnaUPy7T6PRwJEjz+G5554x5qlaLBZMTExi//5fQiAQWvNzUfw3TzMB12CCCZrx3yf2/QWeianGaLomQRAxOjqO0dFRDA9PrMsbPYp/ezT3kC8uzhtdui8scWblzRJCoTCGh8cRiQxv+Jgliv+VUVUV2Wwa8XhMbxCWQDKZWDLSrslms8Hn82FgYAh+fwiBQBBe7+YlbRT/lVWrVWQyaWQyKcRibI55Pp+/6KgtjuPA8wL8/gD8/pA+B1uCy+XuqA9fgP6Mf7MPBNtzLiOZjCKXy6FYLCGXyy5b5XI+m80GUfTimmuux+Tktjad9eWjBLyD9eMFSM6h+HcvVVVx+vRJPPPMk4jFosbtExNbsW/ftRgYiFz0OSj+m8ecX4D3726FykVQ3nkHnEf+Bub8AuQ3PQiVi0BRcjh58pgxq/r8FVSbzYbx8S0YH5/E6OjEZc+Mp/hvjkajgXh8EYuLC4jHY4hGF1AsFpYcx/MCQiHWmXtoaATB4PrOIqf4b4xiMY94PIpMhiXlqVQC6XRq2cTNbDZDEAS92dsAAoEAJCkAt3vjG4NR/C8dK32W9aZvMWSzWeTzeWQyaVSrK4/astlserOwELxeHyRJgiB44fV6N63kmeLfis04Lxtd9/N5BYVCwUjWz3+NnpiYxK/8yq9v4tmuDSXgHYwuwP5G8e9+mqZhdvY0nn76SczPn1s1HRiIYHp6N7Zu3bHim3aK/yZrVACznQVC0wC1CliWJtO1Wg1zc2dx/PgRzM7OtJS9ms1mBIMhjI9PYOvWnRBF75q/PMW/M2iahmxWxtzcGcRii0gmU0ilEkuOs9nsCIcHMTAwgEAgiEhk5IpGK1H826deryGRiCOVSiCTySCViiOZTK6YtDmdTkiSD6HQIPz+gL5H1UdTMDqUpmkolYpIJGL6eK0Cslk2bqvZu2UlPM/D6/XB65XA8wI4jtNHbfk2dNWc4n9pqtWK3jegjHB4oCvG2lEC3sHoAuxvFP/ekk6n8MwzP8exY0eMfU48z2PPnmuxY8euJQ3bKP7dh62eRnHmzCmcOXMSmUy65X5J8mN0dBzDw8MYGhpbtbyV4t+5qtUKYrEoZmZOIRZbRCqVWrYztyT5EQ4PIBwe1JuAhdbc3I3iv7maHdhjsUVks1l9tTy5asLG8zwCgRACgZAxUksQvJfV0I/i3x61Wg3pdAKyLENRcshk0pDlDDKZFOr1+oqPY9URIkRRgsfj1vcks7hzHH/Fe5Ep/r2vKxLwJ598El/84hfx/PPPI5FI4IEHHsArXvEK435N03D//ffj7/7u75DL5bB//3788R//McbHx1d8TkrASaej+PemfF7BU089hqNHjxi/4G02G3bsmMLOndPGPnGKf/dLp5M4ceJFzM3NIBaLtpS5Wq1WDA2N6KXq4+B5oeWxFP/uoaoq0ukUotF5zM/PYnFx+bJ1i8WCYDCEgYEIwuFBhEID8Hi4ZVfSKP6dqVwuI5mMGYlaKpVEOp1ccZSWxWKB1+tFMDgAny8Avz8ASZLgdi8f9yaK/+Zq7kduNgpjc7CTxn7zCxs3ns9isUAQRKMRXCAQhtcrQRS9cLs9a0rOKf69rysS8IcffhhPPfUUpqen8T/+x/9YkoB//vOfx+c//3ncd999GB4exl/+5V/i2LFj+P73v7/i/jtKwEmno/j3tkqljGPHjuLQoWcgy+dWSiORCPbtux5jY+MIBgWKf48ol8uYmzuLM2dOYWbm9JI37F6vhEhkCOPjWzEyMgar1ULXfxcrFPKIx2OIxRaNP8utqDmdTgSDIUQiowiHBxAKhWG3O+j1v4uoqopCIY9EIoZcLqfPt2aJ+UqJmt1ub1kpF0UvfD4/PB72ppzi37k0TUM+ryCblSHL6Zbu7LlcdtVO3larFRzHw+fzG3OweV6AIAjgedH4UIbi3/u6IgE/3/bt21sScE3T8JKXvAR33nkn3v72twMAFEXBgQMHcN999+HWW29d9nkoASedjuLfH9g+8bN45pknMTc3a9wuil7ceOMNiETG4XRufNMf0j6qqiIej2JurjmferFlddxms2F4eBQ7dmyDIPghSYGO69JLLo2qqkYZM0vIo0ilEss2/xIEEcFgENu2XQWOk+DzBWCxdM8IJcI0Gg1kMim9Y3dabw6WWLWM3eFwwu/3Q5L8GB4ehNlsh98fAs8LXTViqV+pqgpFyenN/RLI5/NQFJasK0pu1S7trKzdC1EUIYpeeL08HA4P/P4QRFGk14Ae0/UJ+OzsLF7xilfgu9/9Lnbu3Gkc99a3vhU7duzAH/7hHy77PImEgk5/LTOZAL+fRypFCVg/ovj3n1QqgRdeOIQXXzyMapWN3LBYLBgbG8fevax7Or0J6z3lcgmnTh3D2bNnsLi4gFKp1HK/2+3G2NgERkbGMDw8CpeLPpDpBdVqBdHogj67Oo5YLApFyS05zmw2w+uV9DFZEQwODsHvp6S8W1WrFaRSSciybCToyWQc+Xx+xcc4HA74fCwxFwTWGCwYDIHnRfqd0CWaM7AzmTSKxSKyWRm5HJuDnc/nV03OAYDjeHAcD4/HA0mS4POxOdiiKMLhcLbpuyDrJRBYWwLesa/yiQTrRur3+1tu9/v9SCaTKz7O5/PAYumOFQW/f21BIr2J4t8/AgEe27dvQbX6K3j22Wfx2GOPIZ1O49Spkzh16iRCoRCuueYaTE9Pt2UUDmkXHsPDIQAHoWkaFhcXcfLkSbz44otYXFxEsVjEkSMv4MiRFwAAPp8PIyMj2LVrFyYmJta1+zJpJx6RSKDllmw2i1OnTmFhYQGZTAYLC+wDmXQ6hXQ6hRMnjgNgSXkoxFbGhoaGMDk5iXA4fFkNv0i7LY07AFQqFSSTSaRSKSQSCSwuLiIeZ4l5pVLB4uICFhcXWh5jt9sRDAbh9/vBcRzC4TCGh4fh9XqpaqYDDQz4lr290WhAlmVks1mk02mkUiksLi4il8uhUCigWq0in1dWnGNvt9vB8zwGBgbg8zVHqQkQRRGSJNHrQhfr2BXwp556CnfccQd++tOfIhQKGce95z3vgclkwqc//elln4dWwEmno/j3N5MJkCQPnnvuMI4ceQEnTx439hNaLBaMj49j9+5rMThIq+K9qHn9LywksbAwh/n5OczOnkUq1frBssViweDgECKRCIaGRjAwMERvvHtAM/7JZA65XA7z87OIx6OQ5QwSiQQqlaVNv8xmM/z+ICRJQiAQwODgCILBtXdeJ53j/N//1WoN2SxbLU+nU4jHF/Wu3Xlo2vL7jc1mC0TRC57njBnXzZ8NWi3tfOfHX1U1lEol5HIykskEZDmNQqGAfD6PbFZGqVRc9bnMZrO+z1wEz/NwOp161/YgBEGEy+Wm9xCboOtXwIPBIAAglUq1JOCpVAo7duxY9bHdktRoWvecK1l/FP/+ZTabMTw8hqGhMRw8WMaxY0fw/PPPQJYzOHnyJE6ePAmfz48dO6Zw1VU74PFwm33KZJ3Z7Q6MjU1ibGwSAOuif+bMSczPzyIaXUShkMfc3Azm5mYAPAa73YGhoWFEIiOIRIbg9wcpIe9qJvC8iB07ROzYMQ2A9Y1QlBwWF+cRjc4jnWb7iyuVChKJGBKJGI4dY482m82QJL/e9MmLUGgA4XAETiclYd1A0wCr1Qa/Pwi/P9hyX6PRMBLzRCKGZDIORWGdu+v1ul7enlrynC6XCxzH6x/UDECSJHi9PnAcTx/WdBj23s8El8sNl8uNcDiy5JhqtYJ0OoVcLoNCgSXq2WwWspxCoVCAqqp6J3d52a9htVrh8XDweNwQRQmS5AfPs2Sd53m4XJ4N/R7J6jp2BbzZhO2uu+7CXXfdBQDI5/O48cYbqQkb6WoU//62UvxVVcXc3FkcPfoCTp8+aayKm0wmDA5GMDW1B1u2bKX9oV1uLde/pmmQ5Qzm5s7i9OnjiEajSzpt22w2DAwMYHR0EkNDI/D7A7Ta0QUu9fW/mZTH41HMz88gmUwgk8mgWq0sezzPCwgEghBFthI2ODhE+4k7yJX8/m926c5k0ojHFyDLGRQKRf2/K+8zN5vN4DheH5XmhyT5IAheeL0SXC7XFX5H5FKs1/u/RqOBQiEPRclBUXKQ5TQymRTy+TyKxeKqPw9NNptNr6Zgq+hutxscx/oQeL0+2gJ1mdbahG1T38kVCgXMzMwYf5+bm8ORI0cgiiIikQh++7d/G5/97GcxNjZmjCELhUIto8oIIaQXmM1mjI5OYHR0ApVKGSdOHMORI4cQj8ewsDCPhYV5OBxObNu2A9u27UIwGKIV0B5lMpkgST5Ikg9XX70PjUYDiUQci4tzmJ+fxcLCHGq1GmZnZzE7yzrsOxwOhEJhDA5GMDq6BcFgmJKuHmAymSAIIgRBxNat2wGcS8SSyTii0QUkEjFjjnHzDfn5HA4H/P4gfD72xjocHkAgQPvKu43JZALPC+B5AaOj4y33VatVvRs/Wy3P5VhSJssZNBoN5HJZ5HJZnD59suVxTqdTT7ia86zd8Hp98PsDsNuXH/dLNl9zJrkgiMve32jUoSgK0ukkstkMSqWS/vqQRTabRblcQq1WQzKZQDKZWPY5mhUVzf/6fEHj54/jONjtDnoPcgU2dQX88ccfx2//9m8vuf3222/HfffdB03TcP/99+Nb3/oWcrkcrrnmGnz4wx/GxMTEis9JK+Ck01H8+9ulxj+ZjBl7xYvFgnG7KIrYtm0ntm+fWvGXMOk863H9NxoNRKPzWFxcQDS6gMXFedRqtZZjHA4nIpEhhEIDGBgYRDgcgdVK1RObbSNf/8vlMlKpBBKJmFHCvtL8YrPZDJ/PD78/CJ7nEQgEEQ5H4HZ76IObDdTu3/+qqiKXyyCVSiKfLxhJeTqdXDKV4UJut0dfIeXBcRx8voDRoZtWRy9Pp7z/q1YryOVk5PMFKErWmHOvKDmUSkVUKstX2JyvOftcELx6Uu6B0+mCIIiQJD/cbk9fJuhdN4ZsvVACTjodxb+/XW78myXqR448j9OnT7a8qR4YiGDr1m2YnLwKHg911+9kG3H9q6qKWGwRZ8+eRDS6iEQiviQht1gs+qirCAYGhhAKheF0Uvlpu7X79Z/NrGbjsBYX55FKxSHLsjEO8UJOpwt+fwCiKMLrlRAKDSAYDMNms2/8yfaBTvr9Xy6XkM2ylfFsNgNZTuuJunLRBMzj8cDt9uiz7cPGCrogUHK+mk6K/2oqlTIUJYdMJq03h8ujXC5DURTk87mLfngDsA/5PB4ObrfbqKwQRS84TtBHr3E9WWVBCXgH65YLkGwMin9/W4/4l0oFHDt2FGfOnML8/Ox5z21CJDKEHTumMTGxFXb70jfNh6MKPvOTU/ifL92CXQOUrLdbO67/RqOBZDKOhYU5zM6eQTweWzbhkiQJw8NjGBwcwsBABBxHPw8brRNe/88vYY/Ho3oXdhn5vLLizGK2quWDIPDw+0MYGIhAFGkM0qXqhPivRaVSNhp8JZMxZDJsn3kul1u2U//5XC4XRNELny9glEl7PB54vf6+33PeLfG/GLaCnkWxWEA+r0BRFGSzGWSzMorFIkql4rKVNxdyOBz6CjoPjhPgcjnh8XggiixZ78ZO7pSAd7BeuQDJ5aH497f1jn8+r+DEiWM4evQQ0um0cbvVasXY2BaMj09gy5ZtxqrEn//4BP726QW8ZV8Ev/+yrVd+AuSSbMb1r6oqZDmtl6svYGFhFoqy9Hclx3EIBEIYHh5FJDIMny/QlyWEG6mTX//r9ZrReZ2VsKf0N9nLj0Mymy2QJOm81fJBBAIh8LzQdW+a26WT479W5XIJmUwaqVQc2Sz7+WgmXxdbOXc4nBBFEYLA9pvzPAdJYs3hPB6u519veiH+a6GqKorFAhSlWdqeRblcQT6fRz7PRjDW67WLPo/ZbIHH44HL5cK1196I8fEtbTj7K0MJeAfrlwuQLI/i3982Mv7JZBynTp3A8eNHW0aTlMwu+AfHMTw8hj99XEamVIfktuH+109DA+B12TAo0PiiduiU6z+XkxGNLiAWY/uFk8nEktVPq9Wqzxn2Y3BwCMPDY3C7aXTNleiU+F+KcrmEVCqJeDyKRIKtlmez8pJtDk1WqxWiKIHnefj9fgSDg/D5/BAEsecTrIvpxvivlaZpKBYLyGRS+tg01vBrrcm52WwBz/Nwu136POuwnqyL4Hlx2YqubtPL8b8UqqqiUikhl8uhWCwazSMzmaRR7l4sFlt+J42PT+JXf/XXN/Gs14YS8A5GF2B/o/j3t3bEX9M0JBIxHD78HE6fPom/Sk+dfy+ApatTT97z0o05GdKiU6//SqWC+fmzWFiYQzqdRjweXbZsnecFhMMDkCSfUbputdKez7Xq1PhfquZ4tFQqYayWK4oCWZahqo1lH9NMsERRRCg0AJ+PdWbvp1L2Xon/5WBlyzm9I7vcsoKezysXLVl2OBwQRS+8Xp+elPN6ozipaz7c6ef4X6pGo4FisYBsNoNCoYCRke74AJgS8A5GF2B/o/j3t83ogvu3jx3Hpx+LQtWWJt5maPi9vTx+45d3wemkVfCN1i3Xv6ZpyGTSmJ8/qzfvSiGTSS85zmy2IBgMIhxm5cfhcBii6OuKN8OboVvif7lY1+0sEokoUqmE0eQrk0kvmWXfZDKZwHEcJMmPYDAMSfLB5/NDFKWea+jV6/G/XKqqolDII5NJ6SXLCorFopGsX3z1nM0653lBH5vFwev1w+uVwPNsD3onvCZR/HsfJeAdjC7A/kbx72+bFf+jMQW/9bWnl9x+m+MwAuYizGYzQqEwJie3YcuWbeB5asi1Ebr5+q9Wq4jHo1hcnMPCwiySyeSyb4zZTPIBvYN2CIFAEBwndMQb4M3WzfG/EpqmIZfLIh6PIp1OolAo6MlWGrXa8h3ZAdZt2+cLwOv1QZLYSqfXK3Xtz1O/xv9KlUpFZDIpFApsXzFrEJcxehRcbPXcbDbD7XaD43hIkh88L0AQRLjdbgiC2LafJ4p/71trAk5DQQkhpI+YcK4IXQOwa9c0arETyGTSiEYXEY0u4mc/exiBQAijo2MYG5tAOBzpyje7ZH3Z7XYMD49ieHgUwLmkKhZbRCy2iPn5GWQyGVQqFczOnsXs7FnjsU6nE+FwBKFQGKFQGIFACB4Pt1nfCmkzk8kEUfRCFL0ttzd/hpLJuD4OS0YmwxrBVSoVFAoFFAqFlp8lgO0zlySfPv5KAsd5IEkB+P3BntgrTFq5XG64XO5l7zu/4Vcul0UqFdfnWZeRzytGeTtrAJZHNLq45DnMZjN4XgDPi+A4j9HJXZKCRqk7/Q4k64lWwDcBfQLW3yj+/W2z4h9TKvidrz2FMO/Ar189gH88FEVMqeArb92PMO9AMhnDqVMnMD8/h2h0oaX5idvtwcTEVkxMbMHQ0AgsFvrs9nL1+vVfr9eQSiWRSLARV7HYImQ5s+x4K7fbjVBowEjMg8FQz88m7/X4r5fzS5LzeQWZTAaynEE6nUA+n19xXBoAeDwcJMkHjuONsWmBQAgcx296d3aKf/ux5DsHWU4bpe3Npl+ynF7S7Gs5ZrMZLperZc85zwv6PHQ3BEFa0xYuin/voxL0DkYXYH+j+Pe3zYx/ta7CZjHBZDJB0zTUGhrs1qWf6pdKRZw9exrHjx/BwsI8Go1zTZVsNhvC4QGMjIxh69Yd4Hmhnd9C1+vH679arSCRiCOVSiAej+lzpzPLHut2e+D3+zEwMIRgMAS/PwSO4zY9cVov/Rj/9Vav1/XVcpaUp1JJpNMJ5HIKqtWV9wpbrVaj7FgUvQgGw/qqvASPpz0/YxT/ztNoNFAo5M/rxJ1CNptBsVjUKzDya55pzXFsnrXTadc/CAoYJe4ejwcWi5ni3+MoAe9g9ALc3yj+/a3b4l+r1TA/P4szZ07hzJmTKBYLLfdLkh+jo+MYGmJjqqgj9uq6Lf4bpVwuIRZbQCaTMZLyXC677LF2ux2S5MPAQATBICtf93qlriwJpfhvLDajOgNZTusj0zLI5/PI5bKrJlEWi0Vv3OWDJPkhil4IgghBYGXJ6/WzRvHvPqwaowBZTunzrKsoFBQoioJcTkY+ryw7MeJCJpMJLpdL/5nyGk3jnE4HeF6AKEpwOJw982Fjv6IEvIPRC3B/o/j3t26Ov6ZpiEbncfr0CSwszCORiLeU7lksFgwNjWJ8fAIjI+NL9nuS7o7/RiuViojFFpFOs47riUQcmUxq2fJQi8UCr5etYobDEQQCQfj9gY7/AIjivzlUVYWiZJFOp/TV8hwKhQKyWRm5XHbVEmSLxWLsXxdFLzweDwRBhM8XhCCIl5QwUfx7U7Va0feYs1X0dDqJfF5BpVJt2Yd+MTabDR4Pm4XudDrB8yK8Xh88Hg4cx+t74V1d+eFjv6AEvIPRC3B/o/j3t16Kf7lcxtzcWZw5cxIzM2dQLpdb7hcEEZFIBGNjWzAyMkHNkdBb8W+HWq2GRCKKRCKObFY2StmXG2llMpnA8zwkyYdweAiBAGvK1Ql7f5so/p2n0Wggm80YXbazWdYMju0Zzl00ORcEr96oywVRlOD3h4w9wheOUaP49ye2iq4gm5VhMtWRSGTO24eeQbFYWNMqOnBu5BrH8fB4OD0pd4DnvfqEAJaod8prXr+hBLyD0Qtwf6P497dejb+qqkgkYpibm8Xs7GksLrY2cmNjzgYQiQxjcDCCoaFRWK3918ytV+PfTqqqIp1OIh5fRCYjI51OIpmMo1QqLXu8zWaDKIoIBFgHdp8vAL8/AIej/XPvKf7dpdFoQFGyyOWao69kJJMxKApbQb/YqqbT6WyZSS2KIoaGwlBVCzhu/UrbSXdY7fqv1WooFPLI5xVks2m9k3sJpVIZhQJbRV/pNe5CZrMZTqdTbxrnBccJ4DgOLpcLLpcHoti+0Wv9hhLwDka/gPsbxb+/9Uv8y+Uyzpw5gZmZ04jH40v297Jy9REMDbGxVn5/oC/eDPRL/NtN0zQoSg7xOCthz2azSKWSkOX0ikmSy+WGJEkIhyPw+1lSLorShn4wRPHvHay7tgJZZqvnzRX0YpGtoq/WEA5gSRLbZ87+sP3BInw+9nNIFUO950qv/3q9ZiTmzWSd9TnIoVwuo1gsolgsXLSrOzsXE1wuNzweDna7DW63G16vHx4PB4/Ho9/ngctFI9guBSXgHYx+Afc3in9/69f453JZzM3N4MyZk1hcnEel0vrm1G63Y2BgEOPjkxgaGoXXK/VkCV2/xn+zNBoNpFIxxONxfW9mCqkU25+5HDYPmI2u8vsD8Pn8xqzp9UjMKf79o1wuIZ1OIpvNoFQqI5fL6n9kKIpy0STJ6XTppe1uCIIXkuSHIAj6aiZPCXoXasf13xzhl82yMvdqtYZ8XjFuKxQKKJdLa9qTzs7ZZCTlbjcHm80Kj8ej703n9ds9cDiclKiDEvCORr+A+xvFv79R/M+VEM/Pz2JubgYLC3Oo1Wotx7hcboTDAwiHBzA6OoFAINQTCTnFvzOUSkUkEjFkMinIsqyPskquuA/TZDJBEAQEAiFIkl/vlC3A57u0xm8U//7WjH8sJiOXyyGfV/SRajJSqTjyeQXFYgnl8sVLjR0OBwTBq3fVFuB2e+DxsJJjr9dPCXoH6pTrX9M0lEpFvXEcK3kvFguo1eooFPIoFArGqvpamc1muN1uY+Sa2+3Rk3WuZWXdbnf0xO/ylVAC3sE65QIkm4Pi398o/kvV63UsLMxifn4WsVgUsdhiy+xxgO2lHBwcwuDgEMLhAYRCg7BYLJt0xpeP4t+5VFVFLicjkYhBUfKQ5bTeNTu5bNM3oJmYs7Jhn88PURTh9Urw+4Ow2ZYmQBT//rbW+FerFeRyrJu2LKf00uIicjnWuKtWu3jDLofDAZ4X4XSy+dQ+X8BI2NkKuoNWLNus267/er2OUqlgzETP53N6sl5EtVrTt1zkLylRt1gscLlccLs94HkRbrcHbrfbSNZFUYLbzfard2OiTgl4B+u2C5CsL4p/f6P4X1yjUUcsFsWZMyewuLiAVGppAmSz2RCJDCMSGcbAQASBQGhJx+FORPHvPuePsMpms8hkWFKeTqeWVG6cTxBESBIrYfd43JAkP4LBEEZHB5BK5Sn+fWg9rn9N01Aul5DNZlAsls7rpp1CLpfTk6PV958DgNVqBcfxEEUJPM86arOkXYDX6wPH8V35IWcn69XX/3q9pldvFFEqNZN1trJeKhVRqdRQLOaXbD1bTbORnMPBGhnu3XsdRkbGNvC7WB+UgHewXr0AydpQ/Psbxf/SNRoNJBIxLCzMYXb2LGKxxSUJuclkhs8nYWhoFIODQxgYiMDj4TbpjFdG8e8dzdFCsizrs8tTSCbjyGTSqybmTqcTougFzwv6fvMg/P4QRNHbl5MB+km7rv9qtQJFySGXyyKdTkJRcqhUKkayvtZu2mx10gOXywlBEI3EnM2qdoPjeFpFvwT9/vpfq9WgKFmjvL1UKqNYLKBQyCOXk1Eul1CpVJb9+Rwb24Jbb31d+0/6ElEC3sH6/QLsdxT//kbxv3KNRgPJZByLiwtYXJxHNLqAUqm45DiO4xAIBDE4OIyRkTH4fJvfaZ3i3/tUVUWpVEQmk4YsZ4wxac3RVSthc8wFYx9vKDQASfLB6/XB7fZ0ZTkmadUp13+1WkE2Kxurluf2oqf1cvcSVLVx0ecxmUzgOF5fQWez0F0u1jSumaw7HL295/dSdEr8O12j0UCpVISi5JDPs0Zyo6Pj4Hlhs0/toigB72B0AfY3in9/o/ivP1VVkc2msbAwj2QyiWh0AalUYslxNpsNodAA/H4/BgYiiERG4HZ72nquFP/+1mjUYDLVcPr0HOLxKDKZtN6dWF6xARwAWK02cBwHSfIZZe2CIOoJO7fpHyyRtemW6/9cky4FspxGLifrq5Xstnx+9Q+Tzme12uBysZnU51bQOX1ONUvWPR6uL5L0bok/uXyUgHcwugD7G8W/v1H826NarWBubgaLi3NIpVKIx6PLJjiCICIUGoDP50coFMLAwBDsdseGnRfFv7+tFP9mwpNKJZBMxvXVyQJkOQ1Fya06sspqteqj0rwQRUlfQRchSUFwXH8kNt2il67/er2OfF4xEvV8XkEmk4KisPLi5rirtWAdtD3GTGo25ioAjuPAcTxcLhc4TuiKPh+r6aX4k+WtNQGnzUaEEEJ6jt3uwJYtV2HLlqsAsFXyTCaF+fkZzM/PIpVKnTeXN2s8zmQy6cn4AILBMAKBIILBMDUjIhvKZDIZ+21HRsZb7ms06sYe80KhgFwuh2w2A1nOIJ9XUK/XkUwmkEwurfqwWm0QRdb52u12Q5J8xn7zfll1JBuj+cGP1yuteAzb88s6Z+fzeb1ztmJUfRSLBZTLZaiqaiTxq3E4HPB4eHAcB7fbA7vdBo7j4fX6W1bW6eeadDpaAd8E9AlYf6P49zeKf+eoVCpIJGKIxRYxPz+DVCq5bPMXi8WCYDCsJ+Uh+Hx++HyBy0rKKf79bb3jX6/XkM3KUBQF2ayMbDZj7DcvFourrpxbLBZ4PJxR2u71+vSydh4cJ8LpdF75CZIWdP0v1Wg09DFXipGsF4tFVCpVfSY1m1V94WjKlZjNZrhcLv1nm/VUcLnc+so6B1H0wePxwOls/5grin/voxL0DkYXYH+j+Pc3in9ny+cVxOMxxONRLC7OIZlMLNvR2mKxwO8PIhQKIxAI6Z2s/bBaVy+RpPj3t3bGv9Fo6AlNBqlUEplMEvl8HoqiXLSsHWCrjaLI9poLggiXywVRFOD1BiAIIu07vwx0/V8eVVVRqZT0udMF/eeY/WyzMVcV5PP5NZe8A+fGXDmdTnCcAJ4XjJnUdrsdHMdDELxwudzr9rNO8e99VIJOCCGEXCKO48FxPLZs2QqAvfGT5TQSiTji8SgSiRiSyQTq9Tri8Sji8ajxWJPJBEnyIRweRCAQQiAQhN8f2NA95YSsxGKxGCXCY2NbWu5rNBrI53NIpZLIZjMol8vI5XL6lgwZlUoFlUplyc94U7NjOysFdkMUJfh8QQiCAEEQN2V1kfQutqrtgcu1etPMRqOOXC5rjF0rlUp6ws5+tsvlEsrlCsrlElRV1Tu+F5FOp1d8TpPJBJfLrSfrDnCcqG/p4OB2u/SyeJbA01YlslaUgBNCCCErMJvN8PkC8PkC2L59F4Bz+8nT6RQSiTiSybjR5C2dZrefTxAEhMMRBAJBBAJB2GyjUFU2u5yQzWCxWCCKEkRx+f27pVJJn9fbHE+VRTqdQD6voFAoQlUbS/onXPj8zcT8XLd2tsddFCXwvEAr6GTdWSxWSJIfkuRf9bhm2XsuJyOfZ8l6ucxW2Jtd3svlMsrlMjRNQ7HIVt6ZhRWf1+FwwOXywOGww+Fw6B9SCXC53HC73XA47DCZwmg0LDCbKVnvZ1SCvgmoBKW/Ufz7G8W/N6mqilxO1rtYJ/XEPIZicel8cgCw2+3w+1mDN78/AL8/AEnywWazt/nMSTv1wvWvaRoKhTxyuSzS6SRkOY1CoWjcdi5RWZnZbIbHw4HnBX1VkYckBYxkneO4i27n6Ea9EP9+oqoqSqUiisUCslnW9LBarZ63sq4gn8+jUmGN5C7FSsm62+2By+WC3W439rHTynr3oD3gHYxegPsbxb+/Ufz7Sy6XRSIRQyaTRiqV1BOWzIr7bwVBQDA4AL8/iECAJeU8T/tte0U/XP+1Wg25nGzMjs7nc1AUNk86n1cu2hyuie3N5Y0V82ayzvMiRFHqym7X/RD/fqSqKqrVCorFIkqlArJZGYVCHrVaDeVyGcViQd+/njdW1S/FxZJ1m401mPN4+K4f1dbtKAHvYPQC3N8o/v2N4t/fTCaA5+148cWTkGUZqVQK6TRbMa9Uyss+xmq1wudjq+Q+n9/Y10uJefeh658lK6zUN4dsNotMhpW2l8sVKAor/63X6xd9HqvVqs+IdsPlckIQ2Bz0Zh8Ht9vdcXvRKf79zWQCfD4PFhaSKBQ2Jlm3Wq1613c7HA47PB4eHg9v7GO32axwuz3gedZYsRcrTTYTNWEjhBBCOpDD4UAkMoLBwRHjNpaUKHq36gxSqYSxYr5cwzcAsNls8PnYKrnP5wfPC/D7g9ShmnQ0s9kMnufB8zwGB4eW3M/23Ob1xIQlI4qSg6JkIctplEolVCoV1Ot1yDKbh76SZpLOcays3eVywe12tSTr1CSRtBPrvu6Cw+EC4MfQ0OiKx65lZb35p1KpoNFooF6vQ1Fyaz4fm80Gh8MBu92hr6JzRrJutVrgdnuMbvAulwsWC6WO64H+FQkhhJBNxpISETwvYnz83O31eh3pdEJfKUwjnU4hlUogl8uiVqshFltELLbY8lw2mw2S5IfP54cgiPB6vQgEQhBFqaNWAwlZjslkMlbtVlKv15DP51EoKMhk0nqH6zJKpWLLvty1JOl2ux1OpxNutwderx8cx5IQdpsbPC/C4+Ho2iFt10zWnc6LJ+uapqFWq6FUKqJcLun9GPKo1ep6R/iisW+9Wq2gXK5AVRuo1Wr6qM38kgaiy2km7GxkG/tQy+l0wmIxw+l068m6S/+QwQm73U4fCC+DStA3AZUg9TeKf3+j+Pe39Yr/+YlFOp1EOp1CMhlfdb6z1WqFKHrh9Upwu92QJB+CwQFIko9WAduErv/2qVYrUJQcSqWSnpSzfeiKkjNWDyuVypqey2w26wmHBw6HzUjW2QcFbHa0281ddF86xb+/dVL8WcJeRalUhKLkjJX15vi2QkFBoaCgUqkYjecutdEcwD5Qczqd+qr6uWTd5XKD588l6+c+CONgs9m69gMvKkEnhBBCepTVajXGmgHbjNvrdTYH99yYtCgymTQURUG9XkcqlUQqlVzyfGxPoACe5+H3BxAIhOD1+mhcFOladrsDfn9w1WNqtSpyuRyy2bS+al7Ry97zUJQsCgV2m6qqRhK/GqvVapTxut0e2O2sOZbX69NL4TmIonM9v01CLovJZILdzkrPVxpHeD5N01CtVpDP51AoFFCrVVEuL11Zr9XqKJdLKJVKqNdr0DQNpRL7+1pZLBYjWW/uad+791pEIsNX8i13FErACSGEkB7BGrax8vPJyXO3szFpWWPFPJmMIZdj3ambb6CKxQJisUWcOHHMeJzZbAbHcRAEEcHgALxeCaLo1ec6c5Sck65ms9mNMYAraTQaKJXYmLV8PgdZTqNYLKJaraFQyBsN5Wq1Gur1OrJZGdmsvOrXtdvtcLvdLTOim82xRNGnJ/BuOBzd1+md9CaTyQSHwwmHwwn/6mPWDbVaDcUi+xCrOWu9WCxAUbL6nnXVSNZZRQob59ZoNPRrK288l6ZplIATQgghpHuYzWaje/r4+JaW+yqVMmQ5o49LSyKfLyCbzSKbzaDRaCCXyyGXy2FubrblcRaLRd9j7oMoeiEIAjweDyTJD0HwUnJOeoLFYjE6q4fDgyseV61WUCjkUSw2k3UF2eyFyXoejUYD1WoV1WoVsiyv+rXZHmCnPg+ah8vlMZJ1j4eDKEpGaTzNiiadxmazrWl1vUlVVdTrNb2fQwmlEkvWa7U6Jie3XfwJuggl4IQQQkgfczicCIcHlyQXmqYhm5WRSsUhy6z7bnN1T1FyaDQayGTSyGTSS57TbGbJuSh64fG49Q7tAUhSgMraSU9qlvNK0mrLgxqcThNmZhaNJKNYLOqz0tnc9Gq1auxPV1UVxWIRxWIRiUT8ol///GTd4/HA5Tq3si4IkjGaja4/0onMZrNxHQmCuNmns6EoASeEEELIEiaTyVg1vxArtc1AUXL6HloZspyGLKdRKBSgqg3j7xdqlrW7XG4IggCfLwRBECAIojHXmRIE0otMJhN4nkc4jIs24arX6/p+WwWl0rny3XxegaJkUSqVjGS9Oa6qWq0gl8te9DwcDofeybq5ss4aYbFk3Q1BkM4rjbev03dPCGmiBJwQQgghl8RqtcLvDy7b5Kq5f6+5Ws72m8soFIrI5bItZe2xWBTAsZbHs9J2AYIgQRAEcBwPt9sNr1eCJPmpYzvpC1arFV6vD16vb9XjNE1DpVJGLpdFPq/oe23LerKe028ro1Kpolwu6cezPbm53MXnRVssVjgcDng8nvNmRLtgs1mMlfVmsm63O6gUnpA1oAScEEIIIeumuTdcEESMjIy13KdpGgqFPDKZFDKZFPJ5tmeWraRnjT2ymUwGmczys5sdDicEQYTL5QLHcfD5AhBFCTwvgOM4StBJX2FjntgKdig0sOqxqqqiXC4jn8+hWFT0pLxyXpM5Nk+9WmXzpOv1OhqNOorFOorFwkXL4FlnbbuekLMSeIfDAavVApfLBUGQ4HS6jNtdLjesVkpFSP+hn3pCCCGEtIXJZDIaWo2MjC+5v16vQZYzKBQKUJQcFCUHWU4hm5VRKBT0lbsyEonyil/DbrcbDap4nn0tp9MJnhfg9UrweHjqLE36EptnzlargdWTdYCNaWPj1/KoVtm112wyxzpZl1Gt1lEqFVAul1tW12V5+Q/QLmSz2eByueFyueBwOGG1shFUothM1tmMaIeD7W+nzvCkF1ACTgghhJCOYLXaEAiEEFhhKlS1WoWiZJHNZpFOx5HLZVEus1La5hxa1mF6+eZwQHMPOq+v0DnB8yJ8Pj84TtA/HPDAbqdZzYTYbHZIkv8ijeUY1jAuf16yXtGbzLHxbeVyGfV6wxg71SyHr9VqqNWya9q7DjQ7w7uMMnin0wWeF88rjbfCZrMbs9jZbTZK2klH6egE/DOf+Qz+z//5Py23TUxM4F/+5V826YwIIYQQslnsdrux93zLlq1L7i+VSlAU2ShtZw2r2Cp6oVBAqVQyZqKv9obfbreD5wXwvKg3jHPpq+heiKIXHMfDZrNt5LdKSFdhH2wJ4DhhTcezcvgSKpUyyuUyyuWSMWv9wmS9WCygXC6h0WjoiX4BxWLhks7NbrfDbnfA4+HgdDrhdLpgtVpht9vgdnP67S44HKwLN5XHk43U8T9ZV111Fb785S8bf6fmDoQQQghZjsvFSlZDoeXvV1UVhQJrTiXLaWSzGWMUlKIoyOdzxozmVCqJVCq54tdib9KdcLncRrm7x8MaxrEO72xVjlbeCFmKlcOzGeZrVavV9GS9iGKRzYgul8toNFSUSkUjiS+XS6jVaqhUKkbSzh5XXvNKO8DK49lquxM2mw02mw1ut0cvhWe3WyxmuFxueDy8kcDTNU8upuMTcIvFgmBwaZdVQgghhJBLYTabwfM8eJ7H4ODQssc0V9HZfxW9ozsbucZGQRVRq9WMsU/ZbBbR6OKyz2WxWPS5zJy+N92DoaEIzGY73G62su7xcLBaaTWdkItpJsE8z6/peE3TUK+zPerFIquAaTQaxop7Pp/Tm801UK2yLvFsVb4CAHp5fA2KcvFu8U3NRnTN5J01nHPC4XDAbAZ4noPD4dFvY4l9syGdzWan5L1PdHwCfvbsWRw8eBAOhwN79+7FPffcg0gksupjOv1nt3l+nX6eZGNQ/Psbxb+/Ufw7n9vtgtvtWvWYarUCRVH0uecKKpUaCoU8CoW80c29ufp2Ybn7Cy88v+T57Ha7sS/d4/HAarXC7fbA6/WB4zhjpdBup5nM3Yyu//ZiybANdjvbOrJWjUYDlQr7gI0l5c3O8awzPFuJLxnd41nVTA31eq2lEV0+n7+k8zWbzUaybrGYYbc7wHECnE6n3k3earw2NBvS2e0OOBx2WK02mM3mS/wXIpvFpGmattknsZKHH34YxWIRExMTSCQSeOCBBxCLxfC9730PHMct+5hGQ4XFQj+AhBBCCNk8tVoN+XxeT9RlxGIxKIpizEFv3tdoNNb8nFarFR6PB5IkgePYynpzVT8YDEIU2Z51KoMlpP3YanvJuL6byXqpVEKhUEAmk0G1WoXJZEKpVDJur1QquNJ0rNnh3ul0wuVywWKxwGKxgOd5CMK5JF7TNLhcLoiiaPS2YAk/bfFtp45OwC+Uy+Vwyy234P3vfz/e9KY3LXtMIqF0/CeLJhPg9/NIpRR0z78+WS8U//5G8e9vFP/+dmH8m42omuWxxWIB+XwespzSS93Z/OVCgb2ZXyuLxaK/EXeD4wRjX7rVaoHH44YgSPqquht2OyXr7ULXf39bKf6qqqJerxtjFll5vIJKpQxV1Yzb2f72Imq1Bmq1qnH7eqRyFosFDocDTqcLdjtrRGc2a3rjOpbA2+1sprvNZoXT6darchzG6jwBAoG1bY/oqn8tQRAwPj6OmZmZVY/rlhc1TeuecyXrj+Lf3yj+/Y3i39+a8TeZzHC5PHC5Vm9Excpay8jnFb3ZVBmFQgGFgoJsNo1isYRqtYZisYBqlZW+s/sLSCYTqz53s+zV7XaD43h9JrMbNpsFbrenJVmnGczrg67//nZh/E0mM2w2O2w2thXlUqiqqu9fL+pJfBnlcgXFooJisYB6vWGU1LM57gVUq1U0Gg1UqxXUajUArOy+WCyiWCxe1vdkNpuNfe+skzyb6d6c6+528/rtdpjNJjgcDrjdnJHss9v7p4K5qxLwQqGA2dlZaspGCCGEkL5hMpmM2ccXw0rfWQlspVJCpVI1xjblcjLKZZasl0pFVKtVqCrrIF0qFVft+t48j/OTddZkyqV3gnaB5yV9td0Fh8PVd2+qCWk3NhfdCafTeVmPb1bhNDvHN7vHsw/8cqhWKwBMxp74Zrf5Znl9s2GdqqrG3vfLZbWyGe7N1Xa73Q6TCXA4nNi9ez/C4cHLfu5O09EJ+Cc/+UnccsstiEQiiMfj+MxnPgOz2YzXvva1m31qhBBCCCEdx2azQZL8kCT/RY+t19k+9UJBQblcRqVS0VfB8ucl66yLdHOfavPNejqduujzn1td9+j7Tc8l64LgNVbbm6WvLpebEnZC2uhyxsGdT9M0PTEvoVIpodFQUa1W9NeSAkqlAhqNht5pnt1eKORRq1WNY5t9MOr1ur6PfukqfKVSxWtfe/sVfa+dpKMT8Gg0irvvvhuyLMPn8+Gaa67Bt771Lfh8vs0+NUIIIYSQrma12uD1SvB6pYsey8raFX1vasUY5XRuHnMJ9XrDaC5Vr9daVtfXgq30O+F0uo2VdafTCUGQjASejW1qjnHz6KtkVBZPyGZoVsU4HE4AF38dWQ4bDXduFb7RqKNSqer73nNoNFRcddXO9T3xTdbRCfhf/MVfbPYpEEIIIYT0PYvFAkHwQhC8azq+VqvqHZ7ZXGXWZK4IRWEr642GqifrRaMcXtM0I4HPZNZ2Xs1VdpvNqo9t4o1yfTY32gq3m9NvdxpNpqhpFCGdwWKxwOPh4PEsP+GqF9GrDyGEEEIIWVc2mx1erx1rXRWr1+vGzOVzK+sySiWWrJ9/OyuNZ42kzq2ys+e5WNO5JqvVCpfLrSfrTiNZd7k8xuxlp9N1XhMpDzWhI4SsC0rACSGEEELIprJareA4/pK6QNfrNZTLZX2eclZP1jV9P3vJ6Bpfq9X0TtFlVCpl/bF1KEoOipK7pPN0OBx6x2qrnpizuesOhxNmM/RVeFFvRMeObd5vsdD+dkIIJeCEEEIIIaQLWa02cJwNHMcjGAyt6TFsJBMrh2er7ufmLpdKedRqrLvz+SvuzdV2ABd0el5jnTzYXlm73QG32wWbjXWHt9vt+mp7M1m36SvuHnAcp++tdcBqtVFzOkJ6CCXghBBCCCGkL1gsFrjdHNzuS9tvyhL3Zqf4vL5vvWbMXm6ObapUymg0NL3jcxnlchmNRsOY5d5cgb9UzRnLdrtDT8qtepM6Fzyec/OUzeZmou8xjrfb7bTnnZAOQlcjIYQQQgghq2CJOxvXJEmXNo2HzUsuo1arwuk0IxZLQ1GyqFTKUFUYc5dLpQJKpfPnMZeNlffmbZeLrbg74HSyVfVmsm6z2eDx8HA4XEZib7Va4HC44PF4zkv4aRWekPVCCTghhBBCCCEbhDV4s8FkAgIBHm63BE1b22NZOXxRT+AbqNWqeld5NmO5Xq+j0VBRqVRQrZ4/Y7mBSqWKWq0KAFBV1Rj1dCXfRzMhb+6DZ13oHXC7OdhsdtjtDphM7FjWuM4Fu91u/BvY7Q5YLJbLPgdCegEl4IQQQgghhHQglriK4Hnxsh6vqiqq1bLegK6Cer2ul8dXkc/LqFarUFUYiX25XDTmuLPy+gpUVQVwbhW+UMhf0fdktdpgt9tht9thsZhhtdrgcrnhcDiNcnmzmc2Xdrs5o4y+uW/e6XTD4aBEnnQvSsAJIYQQQgjpQWazGU6nG06n+7Ier2kaGo06isUSqlVWEn+uq3xRX4VvQFU1VKtVVKtsjzxL7DXUalU9ua9CVVk5PUvuaygWC1f0vVksFthsNpjNFtjttpbVdpPJBIvFYoyas9lssFiseqd6J9xuj76Kb4PVatX/S2X2pD0oASeEEEIIIYQsYTKZYLXaIAg2AMIVPVe9XkOlUkW9XkOtVkW1WkWhoKBSqUDTNH11vopSqYhymXWpZ4l9BdVqVS/DZyvzAGuM19wjXywCgHzF3yurODiXxNvtdrhc7pbbLBYzXC6PkdizxL15rMd4DtYoj1bpyVKUgBNCCCGEEEI2lNXKktUrpaqqvgrf7DRfMpJ1tuJeQ6GgoFZj5fWNRl1valdCuVzWj1WNlfx6nTW307TmKn71is+xyWKxGCX3NpsNDocdqqrqZfceY288O9asj6RzGSvzbD89+xDAarUZCb/FYqHV+i5GCTghhBBCCCGkKzQbvzkcDvD8la3KA8198lVj3zsrmS+jVCoaneebyXqplNdX7E1oNOpG2X2lUtYb4jVQrVah6V32mqv0lzt+bjXNxL5ZQg8ANpsVLpfHSNabK/YOh1NfsW+OpNNgszU/BLDrH45Y9ZJ+MyX3G4wScEIIIYQQQkhfYvvknQCc6/J8bN98A5VKyWhiV6/XUa/X4XCYEI+n9VV3s15SX0OpVEC1WoGmAY2Get7e+bK+x57tvW+W3APn9tKvt+a2g/NX4S0WK5xO13mJPfSyeyecTqeRwGtaA1bruVJ81lDPAovFrDfecxgr+CaTad3PvVtQAk4IIYQQQggh64AlsFZYrTw8Hv6829kYulBIWfMYugux0nnWxb65ut7cT18qFVGvVwGY9X32NZRKRT2x11rK7iuVc2X7zWOb3e417VzzvI3SbJJnsViMpJwl62ZjP73DcS7h3759JwKB0IadT7tRAk4IIYQQQgghHY6V37N94uuNld9XzkvsWTk+a4hXA2AxyvSbs+k1DUYDPTaznnXFB0zGsc3y/kaj0ZLkN6sCKpXKRc8tk0njta+9fd2/581CCTghhBBCCCGE9DG2ar+xqSErx6/pTfHKqNdrRqO8er2mz6svG4l6c1/95ORVG3pe7UYJOCGEEEIIIYSQDWU2m2G3O2C3O+DxcJt9OpuGWtwRQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbUAJOCGEEEIIIYQQ0gaUgBNCCCGEEEIIIW1ACTghhBBCCCGEENIGlIATQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbUAJOCGEEEIIIYQQ0gaUgBNCCCGEEEIIIW1ACTghhBBCCCGEENIGlIATQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbUAJOCGEEEIIIYQQ0gaUgBNCCCGEEEIIIW1ACTghhBBCCCGEENIGlIATQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbUAJOCGEEEIIIYQQ0gaUgBNCCCGEEEIIIW1ACTghhBBCCCGEENIGlIATQgghhBBCCCFtQAk4IYQQQgghhBDSBl2RgH/961/Hy172Mlx99dV405vehOeee26zT4kQQgghhBBCCLkkHZ+Af//738cnPvEJvOtd78I//MM/YMeOHXj729+OVCq12adGCCGEEEIIIYSsWccn4F/+8pfx5je/GW94wxuwdetW3HvvvXA6nfj2t7+92adGCCGEEEIIIYSsmXWzT2A11WoVL7zwAn7v937PuM1sNuPAgQN4+umnV3ycydSOs7t8zfPr9PMkG4Pi398o/v2N4t/fKP79jeLf3yj+pKmjE/BMJoNGowG/399yu9/vx6lTp5Z9TDDIt+PU1oXf3z3nStYfxb+/Ufz7G8W/v1H8+xvFv79R/EnHl6ATQgghhBBCCCG9oKMTcEmSYLFYljRcS6VSCAQCm3RWhBBCCCGEEELIpevoBNxut2NqagqPPvqocZuqqnj00Uexb9++TTwzQgghhBBCCCHk0nT0HnAAuPPOO/G+970P09PT2L17N77yla+gVCrh9a9//WafGiGEEEIIIYQQsmYdn4D/6q/+KtLpNO6//34kEgns3LkTX/jCF6gEnRBCCCGEEEJIV+noEvSmt771rfiP//gPPP/88/i7v/s77NmzZ7NP6Yp8/etfx8te9jJcffXVeNOb3oTnnntus0+JXMSTTz6Jd77znTh48CC2b9+OH/3oRy33a5qGv/zLv8TBgwexe/duvO1tb8OZM2dajpFlGffccw/279+Pa6+9Fh/84AdRKBRajjl69Ch+4zd+A1dffTVuuukm/PVf//WSc/nBD36A17zmNbj66qtx22234eGHH17375ec87nPfQ5veMMbsG/fPtx444347//9vy+ZwlCpVHDvvffi+uuvx759+/A//+f/RDKZbDlmYWEB73jHO7Bnzx7ceOON+OQnP4l6vd5yzOOPP47bb78d09PTeOUrX4nvfOc7S86HXj/a6xvf+AZuu+027N+/H/v378db3vKWlmuOYt9fPv/5z2P79u34kz/5E+M2+hnoXZ/5zGewffv2lj+vec1rjPsp9r0vFovh93//93H99ddj9+7duO2223Do0CHjfnr/Ry6LRtrqwQcf1KamprS///u/144fP6794R/+oXbttddqyWRys0+NrOKhhx7SPvWpT2n/9m//pm3btk374Q9/2HL/5z73Oe2aa67RfvjDH2pHjhzR3vnOd2ove9nLtHK5bBzz9re/Xfu1X/s17ZlnntGefPJJ7ZWvfKV29913G/criqIdOHBAu+eee7Rjx45p//zP/6zt3r1b++Y3v2kc84tf/ELbuXOn9td//dfaiRMntL/4i7/QpqamtBdffHHj/xH61F133aV9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Nddcoz3++OMto2hKpZJxzB/90R9pN998s/boo49qhw4d0t7ylrcsO4rmrrvu0o4cOaL95Cc/0W644YZlR9F88pOf1E6cOKF97WtfW3YUDb1+tNef//mfa0888YQ2OzurHT16VPvzP/9zbfv27dp//ud/appGse9H53dB1zT6Gehl9913n/b4449rs7Oz2i9+8QvtbW97m3b99dcbo8go9r3t2Wef1Xbt2qV99rOf1c6cOaP90z/9k7Znzx7tH//xH41j6P0fuRyUgG+Cr371q9rNN9+sTU1NaW984xu1Z555ZrNPiVzEY489pm3btm3Jn/e9732aprFRFJ/+9Ke1AwcOaNPT09rv/M7vaKdOnWp5jkwmo919993a3r17tf3792vvf//7tXw+33LMkSNHtDvuuEObnp7WXvKSlyw7YuT73/++9qpXvUqbmprSbr31Vu2hhx7auG+cLBv3bdu2ad/+9reNY8rlsvbHf/zH2nXXXaft2bNHe9e73qXF4/GW55mbm9N+93d/V9u9e7d2/fXXa/fdd59Wq9Vajnnssce0X//1X9empqa0l7/85S1fo4leP9rrAx/4gHbLLbdoU1NT2g033KD9zu/8jpF8axrFvh9dmIDTz0Dveu9736v98i//sjY1NaW95CUv0d773ve2zICm2Pe+H//4x9prX/tabXp6WnvNa16j/e3f/m3L/fT+j1wOk6Zp2mavwhNCCCGEEEIIIb2O9oATQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbUAJOCGEEEIIIYQQ0gaUgBNCCCGEEEIIIW1ACTghhBBCCCGEENIGlIATQgghhBBCCCFtQAk4IYQQQgghhBDSBpSAE0IIIYQQQgghbWDd7BMghBBCyJX5rd/6LezYsQN/8Ad/0HL7d77zHXz84x/Hz3/+c5RKJfzVX/0VfvCDHyAWi8Hj8WDr1q1429vehle84hXG8zzxxBMAAJvNBkmSMDU1hde//vV41ateteTrPvbYY/jiF7+I5557DuVyGUNDQ3jpS1+KO++8E+FweOO/cUIIIaTLUAJOCCGE9IEPf/jDePbZZ/GhD30Ik5OTkGUZTz/9NGRZbjnuzW9+M9797nej0WggGo3ihz/8Ie6++27cfvvt+OhHP2oc981vfhP33nsvXve61+H+++/H0NAQFhcX8d3vfhdf+tKX8IEPfKDN3yEhhBDS+SgBJ4QQQvrAj3/8Y/zBH/wBbrrpJgDA8PAwpqenlxzndDoRDAYBAAMDA9i7dy+2bNmCD37wg/iVX/kVHDhwANFoFB/72MfwW7/1W/jgBz9oPHZ4eBjXXXcdcrlce74pQgghpMvQHnBCCCGkDwQCATz88MPI5/OX/Njbb78doiji3/7t3wAA//Iv/4JarYbf/d3fXfZ4QRCu6FwJIYSQXkUJOCGEENIHPvrRj+Lpp5/GDTfcgDe84Q34+Mc/jl/84hdreqzZbMb4+Djm5+cBAGfOnAHHcQiFQht5yoQQQkjPoQScEEII6QPXXXcdfvSjH+H//t//i1e/+tU4ceIEfvM3fxMPPPDAmh6vaRpMJtOS/yeEEELI2lECTgghhHQ5j8ezbGl5LpcDz/PG3202G6699lq84x3vwJe+9CW8+93vxmc/+1lUq9VVn7/RaODs2bMYHh4GAExMTEBRFMTj8fX9RgghhJAeRwk4IYQQ0uUmJibwwgsvLLn98OHDGB8fX/FxW7duRb1ev2gC/g//8A/IZrPGKLJXv/rVsNls+MIXvrDs8dSEjRBCCFkedUEnhBBCutxv/MZv4Otf/zo+9rGP4Y1vfCPsdjsefvhhPPjgg/jsZz8LgM34vvXWWzE9PQ2v14uTJ0/iU5/6FK6//npwHGc8V7lcRiKRaBlD9pWvfAV33HEHbrjhBgDA4OAgPvCBD+CjH/0o8vk8Xve612FoaAjRaBT/+I//CLfbjfe///2b8m9BCCGEdDKTpmnaZp8EIYQQQq7Mc889h09/+tM4cuQIarUatmzZgne84x14xSteAQD43Oc+h//4j//A6dOnUSqVEAqFcPPNN+Nd73oXJEkCwJL0J554AgArV/d6vZiensYb3vAGvPKVr1zyNR955BF88YtfxKFDh1AulzE0NISbb74Zd955JzVoI4QQQpZBCTghhBBCCCGEENIGtAecEEIIIYQQQghpA0rACSGEEEIIIYSQNqAEnBBCCCGEEEIIaQNKwAkhhBBCCCGEkDagBJwQQgghhBBCCGkDSsAJIYQQQgghhJA2oAScEEIIIYQQQghpA0rACSGEEEIIIYSQNqAEnBBCCCGEEEIIaQNKwAkhhBBCCCGEkDagBJwQQgghhBBCCGmD/x/UBVXGtsZFBAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "O = CPCArbOptimizer(CC)\n", + "O = SimpleOptimizer(CC)\n", "r = O.simple_optimizer()\n", "print(f\"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]\")\n", "CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues))\n", @@ -3285,7 +2667,7 @@ }, { "cell_type": "markdown", - "id": "b8f26292-9900-4c39-af96-86c1060814a2", + "id": "735887f2", "metadata": {}, "source": [ "## Operating on leverage ranges [NOTEST]" @@ -3293,8 +2675,8 @@ }, { "cell_type": "code", - "execution_count": 192, - "id": "8dde5e5d-ebdb-4bed-84c2-0ee3214bef16", + "execution_count": null, + "id": "d30d7723", "metadata": {}, "outputs": [], "source": [ @@ -3303,28 +2685,10 @@ }, { "cell_type": "code", - "execution_count": 193, - "id": "7ba3c796-4ac2-4090-a0ea-e5ddb7ad13bf", + "execution_count": null, + "id": "e4150be1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "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RkdH8f73v3+eR08LxW/91m/h/vvvx7Jly6LtAw8//DCuvPJKAJxH1F+j0cCrr74a/fu1117DCy+8gGKxiGXLlr3pnDnrrLPwm7/5m/jUpz6FLVu2wHEcfOYzn8GmTZuwZMmS+bpbNA+ONJdGRkZw88034/nnn8cDDzwAz/Oi997FYhGGYczZXFJEGIXSovTVr34VX/7ylzE5OYlzzjkHn/zkJ7F27dr5HhYtUL1nyYfuvvvuKEyyLAv33HMPHn/8cdi2jY0bN+KOO+7gcjg6omuvvRZnn302/uZv/gYA5xEdnSeffBJ/93d/h1deeQXLly/H9ddfj6uvvjr6uhAC9913H7Zv345qtYpf//Vfxx133IEzzjhjHkdNC0m9Xse9996Lb3/725iensbo6Cg2bdqEG2+8EYZhAOA8orgdO3bguuuui7VffvnluOeee45qzpTLZXzmM5/Bd77zHaiqig984AP45Cc/iWw2ezzvCs2zI82lm266CZdccknf//ev//qvmJiYADA3c4mhABEREREREdEixZoCRERERERERIsUQwEiIiIiIiKiRYqhABEREREREdEixVCAiIiIiIiIaJFiKEBERERERES0SDEUICIiIiIiIlqkGAoQERERERERLVIMBYiIiIiIiIgWKYYCRERERERERIsUQwEiIiJ62x599FGMj4/Ddd2ordFoYPXq1bj22mulvjt27MCqVavw6quv4uKLL8aqVatif770pS/h7//+7/t+rfsPAPzVX/0VPv7xj8fGFH6farX6zt55IiKiE5g+3wMgIiKiE9/ExASazSb27t2L888/HwDwox/9CKVSCbt374ZlWUgmkwCCi/Vly5bhtNNOAwDcfPPNuPrqq6Xby2azEELg93//96O2q666CldffXWsLxEREb11DAWIiIjobTvzzDMxMjKCnTt3RqHAzp07cckll+CZZ57BT3/6U0xMTETt4d+BIAAYGRnpe7vZbDb6u6ZpR+xLREREx47bB4iIiGhOTExMYMeOHdG/d+zYgfXr12PdunVRu2ma2L17txQKEBER0fzhSgEiIiKaExdddBHuuusuuK4L0zTxwgsvYP369XBdF4899hgAYNeuXbBtWwoFvvCFL+Dee++VbuvBBx/EhRdeeNTf+7vf/S7Gx8elNs/z3sa9ISIiWhwYChAREdGcWL9+PZrNJp599llUq1W8613vwtDQENatW4dPfOITsCwLO3fuxIoVK7Bs2bLo/23evBlXXHGFdFtLliw5pu89MTGBT3/601Lb7t278Rd/8Rdv+f4QEREtBgwFiIiIaE6cfvrpWLp0KXbs2IFKpYJ169YBCC7wTznlFPzkJz/Bjh07cNFFF0n/b3BwEKeffvrb+t7pdDp2GwcOHHhbt0lERLQYsKYAERERzZmJiQns3LkTO3fuxPr166P2Cy+8EN///vexZ88e1hMgIiJaQBgKEBER0ZyZmJjAj3/8Y+zbt08KBdavX49///d/h+M4sVCg0WhgcnJS+lOv14/30ImIiBYlbh8gIiKiOTMxMQHTNHHmmWeiVCpF7evWrUOj0cAZZ5yB0dFR6f/cd999uO+++6S23/u938PWrVuPy5iJiIgWM0UIIeZ7EERERERERER0/HH7ABEREREREdEixVCAiIiIiIiIaJFiKEBERERERES0SDEUICIiIiIiIlqkGAoQERERERERLVIMBYiIiIiIiIgWKYYCRERERERERIsUQwEiIiIiIiKiRYqhABEREREREdEixVCAiIiIiIiIaJFiKEBERERERES0SP1/I0JAUEMMq6AAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "CCc, CCm, ctr = CPCContainer(), CPCContainer(), 0\n", "U, U1 = CPCContainer.u, CPCContainer.u1\n", @@ -3351,8 +2715,8 @@ }, { "cell_type": "code", - "execution_count": 194, - "id": "c9d09d0e-0767-41d4-a88e-a061b2f8c66d", + "execution_count": null, + "id": "ba5e64d0", "metadata": {}, "outputs": [], "source": [ @@ -3369,49 +2733,17 @@ }, { "cell_type": "code", - "execution_count": 195, - "id": "63a18934-a79e-44b0-9001-0ce89b9d9598", + "execution_count": null, + "id": "95dfc775", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(-1.1049094789463147,\n", - " -1.0580695971194967,\n", - " -0.9044395958543596,\n", - " -0.6798225955379245,\n", - " -0.40463958045259574,\n", - " -0.09200995361981867,\n", - " 0.24902065596678824,\n", - " 0.611917896610187,\n", - " 0.9918034206287025,\n", - " 1.3849450080990486,\n", - " 1.7884329924488789,\n", - " -0.9822054454422133,\n", - " -0.9182719681479288,\n", - " -0.7537756799228514,\n", - " -0.5221261298376696,\n", - " -0.24246720832973345,\n", - " 0.07285318547141273,\n", - " 0.4152913315845943,\n", - " 0.7786558054499011,\n", - " 1.1583108394561847,\n", - " 1.5507002894507451,\n", - " 1.9530448452302842)" - ] - }, - "execution_count": 195, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "r.dxvalues" ] }, { "cell_type": "markdown", - "id": "d0ed5167-4d92-4b24-8446-9c6b07c3861d", + "id": "119bdb1e", "metadata": {}, "source": [ "## Arbitrage testing [NOTEST]" @@ -3419,28 +2751,10 @@ }, { "cell_type": "code", - "execution_count": 196, - "id": "e4abb0a7-e3be-45cb-960b-ab1a9668fb15", + "execution_count": null, + "id": "709b1f20", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "pair = WETH/USDC\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/oAAAIeCAYAAAALRHSBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACZpklEQVR4nOzdd3gU5fo38O/sbK9JdkMNvSSU0MQCBhFsKCIiKlYOiIICIkfEo6CiqNhQUbAionjsivUFf+d4PKIcBKkCEnpvIT27m+0z7x8hG4a0DYZsyfdzXblgnyl7z+TJJvc8TZBlWQYRERERERERJQRVtAMgIiIiIiIiovrDRJ+IiIiIiIgogTDRJyIiIiIiIkogTPSJiIiIiIiIEggTfSIiIiIiIqIEwkSfiIiIiIiIKIEw0SciIiIiIiJKIEz0iYiIiIiIiBIIE30iIiIiIiKiBMJEn4iIiIiIiCiBMNEnIiKKE8uWLUN6ejr+/e9/V9p2zTXXID09HatXr6607eKLL8ZNN90EABg8eDDS09Or/Bo3bhwOHz5c7fbTvw4fPow1a9YgPT0dP/zwQ5UxP/TQQ+jdu3eV23766SdkZGQgNze31vPMnj0b6enpijK/34/3338f1157Lfr06YO+ffti6NChePTRR7Fnz57wfkuXLlXEnZmZiaysLIwbNw5LliyBy+Wq+oYDyM7OxgMPPICBAweie/fuOO+88zBmzBh8+eWXCIVC1R5HREQUTepoB0BERESROeeccwAA69evx2WXXRYud7lc2LVrF9RqNTZs2IALLrggvO3YsWM4duwYrrrqqnBZly5dMHbs2Ernb9KkCVJSUvD8888ryhcvXozjx4/j4YcfVpSnpKTgyJEjZ3w9P//8M7p164bU1FTs3bu3zsdPmTIFv/zyC4YOHYobbrgBwWAQe/fuxc8//4zevXujQ4cOlfZPS0tDMBhEXl4efv/9d8yZMwfvvfceXn/9dWRkZCj2//zzzzFr1izY7XYMHz4cbdq0gdvtxurVqzFz5kzk5ubi7rvvPuPrJyIiOluY6BMREcWJpk2bIi0tDevXr1eUb9y4EbIsY8iQIZW2lb8uf0hQfp7hw4dX+z6nb1u2bBlKSkpqPOZM/PLLLxg5cuQZHbt582b897//xd///vdKyXYoFEJJSUmlYy666CJkZmaGX0+YMAG//fYb7r77bkycOBHLli2DXq8HAGzatAmzZs1Cr1698Pbbb8NsNoePGzNmDLZs2YJdu3adUexERERnG7vuExERxZFzzjkH2dnZ8Hq94bINGzagU6dOGDBgAP744w9IkqTYJggC+vTpE41wq7Vjxw4cO3YMAwcOPKPjDx06BABVXpcoikhOTo7oPP369cPEiRNx5MgRfPvtt+HyBQsWQBAEzJ07V5Hkl8vMzMR11113RrETERGdbUz0iYiI4sg555yDQCCAP/74I1y2YcMG9O7dG3369IHT6cTOnTsV29q3b69IfIPBIAoKCip9nfrwoK7cbneV5/T7/VXuv2LFCtjtdkULe120aNECAPDdd98hGAyecdxARQ+GlStXAgA8Hg9Wr16Nvn37ht+HiIgonrDrPhERURw5dZz++eefj2AwiM2bN2PEiBFo3bo1HA4H1q9fj4yMDLhcLuzcubNS9/iVK1eiX79+lc49bdo0jB8//ozimjFjRrXbjEZjpbIVK1bgoosugiAIZ/R+vXr1wnnnnYfPPvsMP/30Ey644AL06dMHgwYNqnNy3qxZM1gslnAvgQMHDiAQCKBz585nFBsREVG0MdEnIiKKIx06dEBSUlJ47P327dtRWloantm+d+/e2LBhA2699VZs2rQJoVBIMT4fAHr27ImpU6dWOnebNm3OOK5Jkyahb9++lcoXLVqEDRs2KMpKSkqwadMm3HbbbWf8foIgYNGiRVi0aBG+/fZbfP/99/j+++8xe/ZsXHnllZg9ezasVmvE5zMajXC73QAQnoXfZDKdcXxERETRxESfiIgojgiCgN69e2PdunWQJAkbNmyA3W4PJ+m9e/fGhx9+CADhBPv0RD85ORn9+/ev17g6d+5c5TlPHfderryLfFZW1l96T61Wi3vuuQf33HMPTpw4gbVr12LJkiVYvnw51Go15s6dG/G5SktLYbfbASA8Jr888SciIoo3HKNPREQUZ84555zwWPzy8fnlevfujSNHjiAnJwfr169HkyZN0KpVqyhGW9mKFSvQp08fWCyWcJlOpwOAaucJ8Hg84X2q0qRJEwwdOhT//Oc/0bZtW/zwww8Rj90/fvw4nE4nWrduDaCsZ4NarVbMdUBERBRPmOgTERHFmVPH6W/YsEEx83z37t2h1WqxZs0abN68OeZm25dlGb/++mul2fbLx9Xv27evyuP27dsX0dh7jUaD9PR0BAIBFBYWRhTTN998A6Cih4HBYMAFF1yAdevW4dixYxGdg4iIKJYw0SciIooz3bt3h06nw3fffYecnBxFi75Wq0W3bt3w0UcfobS0tFK3/WjbsmUL8vPzcfHFFyvKmzRpgi5duuC7775DSUmJYtvWrVvxxx9/4KKLLgqX7d+/H0ePHq10/pKSEmzcuBE2mw0pKSm1xvPbb7/h9ddfR1paGq655ppw+aRJkyDLMh588MEqu/Bv3boVX331Va3nJyIiigaO0SciIoozWq0WmZmZWLduHbRaLbp3767Y3rt3b7z77rsAKo/PB4CcnJxwK/apTCYTLr300rMT9Ek///wzWrZsiY4dO1ba9tBDD+HOO+/EtddeixEjRqBJkybYs2cPPvvsM6SmpmLChAnhfbdv344HHngAAwYMQN++fWGz2ZCTk4Ovv/4aJ06cwIwZMyCKouL8v/zyC/bu3YtQKIS8vDysWbMG//vf/9CiRQu88cYbiqEBffr0wWOPPYYnnngCV155JYYPH442bdrA7Xbj999/x08//VTlhIZERESxgIk+ERFRHDrnnHOwbt06dOvWDVqtVrGtT58+ePfdd2EymZCRkVHp2OzsbDz44IOVylu2bHnWE/0VK1ZU6rZf7oILLsCHH36IN954Ax988AHcbjfsdjuuvvpq3HvvveHJ8gDg3HPPxZQpU/Drr79i8eLFKCwshMlkQpcuXfDAAw/giiuuqHT+V199FUBZ9/6kpCR07twZM2bMwHXXXReegO9UN910EzIzM/Huu+/i66+/RmFhIYxGI7p27YpnnnlG0QOAiIgolgiyLMvRDoKIiIgSX15eHrKysvDWW29Vm+wTERHRX8cx+kRERNQgnE4nJk2ahPPPPz/aoRARESU0tugTERERERERJRC26BMRERERERElECb6RERERERERAmEiT4RERERERFRAmGiT0RERERERJRAmOgTERERERERJRB1tAOIV7m5zmiHELGUFBMKCtzRDoNiGOsI1SYe6ogkhZCffxSSJMFiSYHRaIlaLLIsw+UqgtFohSiKUYujocVDPaHoYh2h2rCOUCQacz1JTY3s7xsm+glOEABRVEEQAC6kSFVhHaHaxEsdUalEWK12hEJBGAzmqMYiCAIsluSoxtDQ4qWeUPSwjlBtWEcoEqwnkWGiT0RECUOnM0Y7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zyeffILmzVvg3nv/jrZt22HkyFG4+OLB+PTTjxT7iaIadrsj/JWUlFTje3/++Sc4//x+uOWW0Wjbth3uuusedO6cUefrGTduAkaNuhUdOnSscb+VK1cgK+siABXfx3fffRtXX30pLr98IF54YQ4CgUCd3rvc/v37sGbNKjz00CPo1q07evbshalTp+M///kX8vJyqzzG5XLh+++/wb33/h3nnHMuMjK6YMaMWdiyZTO2bt1yRnEAwJEjh3HDDcPx0kvP1bmHm8/nxYoVP2HixCno1asP0tJaYdy4CWjZshW++uoLAGW/0z7//GOMHj0OAwZcjI4dO+HRR2fjxIkT+PXXnyO+H//61w8IBAJ4+OHH0L59B1x66RW4/vqb8OmnH4bjqa2OVBXLI4/MRn5+bjiWqnzyyYcYNuxaDB16Ddq1a4/p0x+GXq/H999/W6f7VVdcXo+IiOgMqFQVz8plWUIoFIJarYliRGXKu/E7nYUwm5OiHQ41drKMpKUjoDlekXg66ngKlTcfyUtH1OmYQPNzUTRiKRDFHjfjxo3HqFHX4r///RGDBl1aabvH48H9909G9+6ZeOed91FYWIhnn30KL7/8PGbOfDy834YN62C3O/Dqq2/h8OFDmDXrYXTq1BnXXFN2T15++Xns378XTzwxBw5HKlas+C8eeGAK3n//E7Rq1bra+BYtegvLl3+PL774rtp9AOCjjz7A7bePxbhxE/D777/h1VdfROvWrXHuuRcAAKZNm4LNmzdWe3zTps3xz39Gnkxv2rQJffueryg777x+ePXVFxVlhw8fxPDhQ6DV6tC9eyYmTJiMZs2aVXverVs346abblWUnX9+P/zyy88RxxYpp9OJzZs34dFHZ4fL1q1bC61Wi1dffQvHjx/DnDlPwGq1YcKESQCAJUvexQcfLK7xvB988DmaNWuGrVs3w2y2ICOja3hb377nQaVS4c8/t2LgwEGVjt2xIxvBYFBxb9u0aYumTZvhzz83o3v3zDpf5+7duzBt2mQMHToc48dPBAAcP34ct99+Q43H3X77WIwefQdCoRBCoRC0WuWwM51Oh82bNwEAjh49gvz8fJx7bkUPELPZjJ49e2Lr1i245JIrIrofW7duRq9evaHRVPyePv/8fvjww/dRUlICq9Vaax2pLpauXbtj69YtuPTSKypdayAQwM6d23H77WPDZSqVCn37noc//9xc4336q5joExER/QWhUBBFRbmQpBDs9uZQqcRohwSNRofk5KYxOayAGqFGWg8djlTccMPNePvt1zFgwMWVtv/73z/A7/fjkUdmw2AwAADuv386/vGP+3HPPfciJaWsxdtiseLvf38QoiiiTZu26NcvC+vX/45rrhmB48ePY9my7/Dll9/D4UgFANxyy+1Ys+Y3LFv2XTiJrEpSUhJatkyr9ToyM3vi9tvHAABat26DLVv+wKeffhRO9B966JEauy2fPhSiNnl5eTjnHGWin5KSArfbDZ/PC51Oj65du2PGjMfRunUb5OfnYfHihZg06U588MGnMBpNVZ63oCAfyckpirLk5JSzMkb9t9/+hw4dOoW/J0DZEIqHH54FvV6P9u074M47J+C1117FXXfdA5VKhWuvHVnrEBGHw3HKtSQrtqnValgs1mqvJz8/HxqNBhaLRVGekpKC/Py634MtW/7Agw/+HaNH34Gbb75NEePixR/VcCRgtVoBAEajCd2798B7772Dtm3bITk5BT/++H/4888t4bpZfj3JycoeIHa7PRx3JPejoCAfzZu3UOxTXh8KCvJhtVprrSPVxVJTPSouLkIoFEJKivK8KSkpOHBgf5XH1Bcm+kRERH+BIKggyxJkWUYoFIyJRB+AIsn3+TwIBHxs4aeGJwhlLetBDwQBcNjNyMt31dizXp33Z5Ut+IXXfYWgo1tk76s2NMgDhssuGxD+/+WXX4np02cott9669/wzTdL8f/+37eVkrgDB/ahY8dO4SQfADIze0GSJBw8eCCc6Ldr1x6iWPG5Yrc7wmOG9+7djVAohJtvvk5xbr/fD5vNVmPsI0eOwsiRo2q9xtNbert164HPP/84/Do1tUmt56hv/fpdGP5/x46d0LVrd1x//dX46ad/4+qrr23weE53arf9ch07doJerw+/7tatBzyeUpw4kYNmzZrDarXBaq35exYrcnKO4+9/n4Tx4yfixhuVk1Sq1WqkpbWK+FyPPjobzzwzG9deeyVEUUTnzum49NIrsGNHdn2H3egw0SciIvoLVCoVkpLKlrUTxdj7tVrW46BsUiO1WgO9vurWLqKzRhAAjREQAGhNgEYCahrKqy5LhmQIECCH/4VaX3aeGHJqy6XJVPlny2Kx4Pbbx2Dx4oW48MIBlbZH4vQWcUEQwhNtejyl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DR48WFOmTPHYW1hYKKfTqZMnT2r06NFyOp0tvl566SX97ne/a/W+r35J0hNPPKH09PQWM13+OZWVldf24AEAuA518vcAAACgfUtISFBNTY1KS0sVFxcnSXr//fcVERGh4uJi1dXV6YYbbpB0qYBHRkbq1ltvlSRlZmZq/PjxHs8XEhIiy7I0ceJEe+3+++/X+PHjW+wFAADfHEUfAABcVb9+/eRwOOR2u+2i73a7ddddd6mgoED79u1TQkKCvX75e+lSqXc4HK0+b0hIiP19UFDQVfcCAADfceo+AADwKiEhQYWFhfbtwsJCjRgxQvHx8fZ6bW2tiouLPYo+AABoe7yjDwAAvBo5cqSWLl2qxsZG1dbW6tChQxoxYoQaGxu1efNmSVJRUZHq6+s9iv6KFSu0atUqj+dau3athg8f7vPP3rVrl1wul8daU1PTdzgaAADMRtEHAABejRgxQjU1Ndq/f78qKyv1ox/9SD169FB8fLyefPJJ1dXVye12q0+fPoqMjLQfl5aWppSUFI/nuvnmm7/Rz05ISNDixYs91oqLi/X4449/6+MBAMBkFH0AAOBV37591atXLxUWFurChQuKj4+XdKm033LLLfrggw9UWFiokSNHejyue/fu6tu373f62V27dm3xHGfPnv1OzwkAgMn4jD4AAPBJQkKC3G633G63RowYYa8PHz5c//znP1VSUsLn8wEAaAco+gAAwCcJCQnau3evDh8+7FH0R4wYoT/96U9qaGhoUfSrq6tVVlbm8VVVVdXWowMA0KFw6j4AAPBJQkKCamtr1a9fP0VERNjr8fHxqq6u1m233aaePXt6PGb16tVavXq1x9qECROUnZ3dJjMDANARBViWZfl7CAAAAAAA8P3g1H0AAAAAAAxC0QcAAAAAwCAUfQAAAAAADELRBwAAAADAIBR9AAAAAAAMQtEHAAAAAMAgFH0AAAAAAAxC0QcAAAAAwCAUfQAAAAAADELRBwAAAADAIBR9AAAAAAAM8n+00AAFxFLyfgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "c1 = CPC.from_pkpp(p=95, k=100*10000, p_min=90, p_max=110, pair=f\"{T.ETH}/{T.USDC}\")\n", "c2 = CPC.from_pkpp(p=105, k=90*10000, p_min=90, p_max=110, pair=f\"{T.ETH}/{T.USDC}\")\n", @@ -3450,21 +2764,10 @@ }, { "cell_type": "code", - "execution_count": 197, - "id": "77be5b24-8714-4170-a44a-dcb77cccc452", + "execution_count": null, + "id": "e222be8a", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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yz9l//697N27m7CwGTn2CLdvfx+enl6MGhVCZGQEp05Fs317OPPmzb7qJdEAunTpRkpKEhMmhLJ3725OnDjOd9+tzB5s1r3703z44Xv88MMajh8/ymuvvcKBA/t59NEn/vPPJzMzkxkzpnDkyGF+/30DS5a8SZcu3f71/O/ruZHX/+ijj/PBB+/xyy8/cezYUebMeYmkpKRrrvepp3r9+fOeycGDBzh27Chffvk558+fB6Bhw8Z8//0qIiMjOHToIFOnTsRsttxQ5tKly1CvXn1mzpyCzWajefO/Dp9v1KgpdesGEBo6jC1bNnH69CmioiJ5441F7N27m/T0NF5++SW2bw/nzJnT7Ny5g717d1Ox4n//ckRERPIXHYIuIiJyAzp1eohvv/2aO+9shp+ff/b9PXv25tSpaIYOHYCLiwsPPtiZFi3uJjn535vBAQOGMH36JPr1ex5fX38GDQrJsffWxcWFRYve5LXXXmHMmOGkpKTg5+dPw4ZNcHe/+vW0PT29mD//dV59dT79+/fBbLZQvXqN7PO+u3Z9nKSkJBYunEdCwjkqVarCzJkv35JhX40aNaZ8+Qr07/88GRmZtG17L88+2+em13cjr//xx58iPj6eadMmYDKZ6djxQVq2vPbPvUKFirz88kLefHMRffr0xMnJmTp16mUPpnv66V6cPh3NiBGDcXf34Pnn+1730m9/1779fcyZM5MOHTrmmAFgMpkIC5vPm2++yvTpkzh/PgEfH1+Cghrg7e2D2WzhwoULTJ06gYSEc3h6etGq1T307v2/m/wJiohIfmWy5+Z6LAVEbGz+P6/aZAI/v2LExV3UEDa5IaoZyS3VjOSWakZySzUjuaWakdwqSDXj71/susvoEHQRERERERGRPKAGXERERERERCQPqAEXERERERERyQNqwEVERERERETygBpwERERERERkTygBlxEREREREQkD6gBFxEREREREckDasBFRERERERE8oAacBEREREREZE8oAZcREREREREJA+oARcRERERERHJA2rARURERERERPKAGnARERERERGRPKAGXERERERERCQPmOx2u93oECIiIiIiIiKFnfaAi4iIiIiIiOQBNeAiIiIiIiIieUANuIiIiIiIiEgeUAMuIiIiIiIikgfUgIuIiIiIiIjkATXgIiIiIiIiInlADfht1rp1a2rW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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "a = lambda x: np.array(x)\n", "pr = np.linspace(70,130,200)\n", @@ -3483,8 +2786,8 @@ }, { "cell_type": "code", - "execution_count": 198, - "id": "9dd61773-3bb1-4e84-86cc-1dcebe6ef0b4", + "execution_count": null, + "id": "f5371aee", "metadata": {}, "outputs": [], "source": [ @@ -3501,21 +2804,10 @@ }, { "cell_type": "code", - "execution_count": 199, - "id": "3c44d75a-167c-40cc-8106-cd2b7a91989c", + "execution_count": null, + "id": "cfcead3e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OptimizerBase.SimpleResult(result=99.68104660486168, method='findminmax_nr', errormsg=None, context_dct=None)" - ] - }, - "execution_count": 199, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "O = CPCArbOptimizer\n", "O.findmin(vfunc, 100, N=100)" @@ -3523,21 +2815,10 @@ }, { "cell_type": "code", - "execution_count": 200, - "id": "ae1c2c25-271b-4c82-8dbe-56091de6c270", + "execution_count": null, + "id": "fcbaa19f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OptimizerBase.SimpleResult(result=2.0, method='findminmax_nr', errormsg=None, context_dct=None)" - ] - }, - "execution_count": 200, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "func1 = lambda x: (x-2)**2\n", "O.findmin(func1, 1)" @@ -3545,21 +2826,10 @@ }, { "cell_type": "code", - "execution_count": 201, - "id": "f4d5c834-f7ea-46e5-8e85-7c3615ebe122", + "execution_count": null, + "id": "4eaa9eb7", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OptimizerBase.SimpleResult(result=3.000000000003396, method='findminmax_nr', errormsg=None, context_dct=None)" - ] - }, - "execution_count": 201, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "func2 = lambda x: 1-(x-3)**2\n", "O.findmax(func2, 2.5)" @@ -3567,21 +2837,10 @@ }, { "cell_type": "code", - "execution_count": 202, - "id": "23b1d421-a3f9-4b0d-9a44-53f4ec0006dd", + "execution_count": null, + "id": "b18defa5", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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+YaLL77Ys3DhwpPex3nkO07XJ84l81RWVnq++93velauXOm54447PE899dQpj/WH84lPxFtQfX29Nm7cqEGDBjXdZrPZNGjQIGVnZ5/0MTk5ObrsssuOu23w4MHKyclpyVID1vn0SDryyd9VV12lzMxM/ehHPzrtu6owB+eSddx8880aPHiwxo8frzVr1phdTsCpqKiQJMXGxp7yGM4nc51NjyRem8zkcrn03nvvqbq6WhkZGSc9hvPIfGfTJ4lzySxPPvmkMjMzj/u7/FT84XwKMrsAf1ZaWiqXy3XCZZYOh+OUs17FxcVKTEw84fji4uIWqzOQnU+PunTpoqefflqpqamqqKjQjBkzNHr0aL333ntq3bq1N8rGWTjZuZSYmKjKykrV1tYqLCzMpMrwjaSkJE2ePFl9+/ZVfX29Xn/9dWVlZWnhwoXq06eP2eUFBLfbraeffloDBgxQjx49Tnkcr03mOdse8dpkji1btmj06NGqq6tTRESEXnjhBXXr1u2kx3Iemedc+sS5ZI733ntPmzZt0htvvHFWx/vD+UQQB85RRkbGce+iZmRkaNiwYVqwYIEeeugh8woDLKZr167q2rVr0/cDBgzQ7t27NWvWLD333HMmVhY4Jk+erG3btmnevHlml4JTONse8dpkji5duuitt95SRUWFPvjgAz366KN69dVXTxnyYI5z6RPnkvft379ff/jDHzRjxgyFhoaaXY7XEMRbUHx8vOx2+wmLfjmdzhPewflGYmLiCe/knO54XJjz6dG3BQcHq1evXiosLGyJEnGeTnYuFRcXKyoqik/DfVhaWprWrl1rdhkB4cknn9Qnn3yiV1999Yyf8vDaZI5z6dG38drkHSEhIerUqZMkqW/fvtqwYYPmzJmjJ5988oRjOY/Mcy59+jbOpZa3ceNGOZ1OjRgxouk2l8ul1atXa+7cudqwYYPsdvtxj/GH84kZ8RYUEhKiPn36aNWqVU23ud1urVq16pRzKenp6friiy+Ou+3zzz9Xenp6S5YasM6nR9/mcrm0detWJSUltVSZOA+cS9a0efNmzqUW5vF49OSTT+qjjz7S7Nmz1aFDhzM+hvPJu86nR9/Ga5M53G636uvrT3of55HvOF2fvo1zqeVdeumlevfdd/XWW281ffXt21c33HCD3nrrrRNCuOQf5xOfiLew8ePH69FHH1Xfvn3Vr18/zZ49WzU1NU3v+PziF79QcnKyHnnkEUlSVlaWxo0bpxkzZigzM1NLlixRbm7uWb1jh/Nzrj3629/+pvT0dHXq1EmHDx/W9OnTtW/fPo0aNcrMX8PvVVVVHfdu9J49e5SXl6fY2Fi1bdtWf/rTn3Tw4EE9++yzkqTRo0dr7ty5evbZZzVy5Eh98cUXev/99/Xiiy+a9Sv4vXPt0axZs9S+fXt1795ddXV1ev311/XFF19oxowZZv0KAWHy5Mn697//rb///e+KjIxs2rc9Ojq66WoRXpvMdT494rXJ+/70pz9pyJAhatOmjaqqqvTvf/9bX331laZPny6J88hXnGufOJe8Lyoq6oQ1MCIiIhQXF9d0uz+eTwTxFjZs2DCVlJRo2rRpKioqUq9evfTyyy83XTaxf/9+2Wz/uzBhwIAB+uMf/6j/+7//05///Gd17txZL7zwwmkXaMGFOdceHT58WI899piKiooUGxurPn36aMGCBcyDtbDc3FxlZWU1fT9lyhRJ0vDhwzV16lQVFRVp//79Tfd36NBBL774oqZMmaI5c+aodevWeuqpp3TFFVd4vfZAca49amho0DPPPKODBw8qPDxcPXr00MyZM3XppZd6vfZAMn/+fEnSuHHjjrt9ypQpTW9A8tpkrvPpEa9N3ud0OvXoo4/q0KFDio6OVmpqqqZPn67LL79cEueRrzjXPnEu+SZ/PJ8Mj8fjMbsIAAAAAAACBTPiAAAAAAB4EUEcAAAAAAAvIogDAAAAAOBFBHEAAAAAALyIIA4AAAAAgBcRxAEAAAAA8CKCOAAAAAAAXkQQBwAAAADAiwjiAAAAAAB4EUEcAAAAAAAvIogDAAAAAOBF/w8NoL1z/8XpUAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "val = tuple(float(O.findmin(func1, 100, N=n)) for n in range(100))\n", "val = tuple(abs(v-val[-1]) for v in val)\n", @@ -3593,21 +2852,10 @@ }, { "cell_type": "code", - "execution_count": 203, - "id": "01cdc314-9b7e-4f47-8cd7-daa87cd5af4d", + "execution_count": null, + "id": "62597f85", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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PXSotMbsSJ3Kw+wAAAAAAAD3dm18pC4fEqYeoQFqqK5XdznJzRluAAAAAIDpfDytCvDuXueEKdwAAAAAADgAhRsAAAAAAAegcAMAAAAA4AAUbgAAAAAAHIDCDQAAAACAA1C4AQAAAABwAAo3AAAAAAAOQOEGAAAAAMABKNwAAAAAADgAhRsAAAAAAAegcAMAAAAA4AAUbgAAAAAAHIDCDQAAAACAA1C4AQAAAABwAAo3AAAAAAAOQOEGAAAAAMABKNwAAAAAADgAhRsAAAAAAAcw7Ha73ewQAAAAAAB0N5zhBgAAAADAASjcAAAAAAA4AIUbAAAAAAAHoHADAAAAAOAAFG4AAAAAAByAwg0AAAAAgANQuDtRRkaGJkyYoKSkJE2bNk27du36zv03bNig6667TklJSUpNTdX777/fRUndV0dm9Oqrryo2NvYr/5KSkrowrfvZvn277rrrLo0bN06xsbHatGnT9z5m69atuummm5SYmKirr75ar776ahckdW8dndPWrVu/cSzFxsaqrKysixK7n+eee05Tp05VcnKyxowZo3vuuUcFBQXf+zhel7rWucyJ16aut2LFCqWmpiolJUUpKSm69dZbv/fY4FjqWh2dEceRc/jXv/6l2NhYPfbYY9+5n6sfTxTuTrJ+/XotWLBA9957r1577TXFxcVp7ty5stls37p/dna27r//ft18881as2aNrrzySt17773av39/Fyd3Hx2dkSQFBAToo48+OvPv3Xff7cLE7qeurk6xsbF6+OGH27X/8ePHdeedd2r06NF6/fXXddttt+m3v/2tPvzwQwcndW8dndMXNm7c+JXjKSwszEEJsW3bNs2aNUurV6/Wf/7zH7W0tGju3Lmqq6s762N4Xep65zInidemrhYdHa1f/OIXevXVV/XKK6/o4osv1r333qsDBw586/4cS12vozOSOI7MtmvXLq1atUqxsbHfuV+3OJ7s6BQ333yzff78+We+bm1ttY8bN87+3HPPfev+P/3pT+3z5s37yrZp06bZH3zwQYfmdGcdndErr7xiHzVqVFfFw9cMHTrU/tZbb33nPk8++aT9hhtu+Mq2n/3sZ/Y77rjDkdHwJe2Z05YtW+xDhw61nz59uotS4etsNpt96NCh9m3btp11H16XzNeeOfHa5BwuvPBC++rVq7/1exxLzuG7ZsRxZK6amhr7NddcY//444/ts2fPtv/+978/677d4XjiDHcnaGpqUl5ensaOHXtmm8Vi0dixY5WTk/Otj9mxY4fGjBnzlW3jxo3Tjh07HBnVbZ3LjKTPzuRdccUVGj9+vO6+++7vfKcUXY/jyLX84Ac/0Lhx4zRnzhxlZWWZHcetVFdXS5KCg4PPug/Hk/naMyeJ1yYztba2at26daqrq1NycvK37sOxZK72zEjiODLTo48+qvHjx3/l7/Kz6Q7Hk4fZAbqDyspKtba2fmN5ZFhY2Fk/i1VeXq7w8PBv7F9eXu6wnO7sXGY0cOBA/eEPf1BsbKyqq6v1/PPPa/r06Vq3bp2io6O7Ija+x7cdR+Hh4aqpqVFDQ4N8fHxMSoYvi4iI0Pz585WYmKimpia99NJLSk9P1+rVq5WQkGB2vG6vra1Nf/jDH5SSkqKhQ4eedT9el8zV3jnx2mSOffv2afr06WpsbJSfn5+eeeYZDR48+Fv35VgyR0dmxHFknnXr1mnPnj16+eWX27V/dzieKNzAWSQnJ3/lndHk5GRNnDhRq1at0s9+9jPzggEuJiYmRjExMWe+TklJ0fHjx/XCCy/oj3/8o4nJ3MP8+fN14MABrVixwuwo+A7tnROvTeYYOHCg1qxZo+rqar355pt64IEHtHz58rMWOnS9jsyI48gcJ0+e1GOPPabnn39e3t7eZsfpMhTuThASEiKr1fqNi2/ZbLZvvCPzhfDw8G+8M/Nd++P8nMuMvs7T01Px8fE6duyYIyLiHHzbcVReXq6AgADObju5pKQkZWdnmx2j23v00Uf13nvvafny5d971obXJfN0ZE5fx2tT1/Dy8lL//v0lSYmJidq9e7eWLl2qRx999Bv7ciyZoyMz+jqOo66Rl5cnm82mKVOmnNnW2tqq7du3KyMjQ7t375bVav3KY7rD8cRnuDuBl5eXEhIStHnz5jPb2tratHnz5rN+dmTkyJHasmXLV7Z98sknGjlypCOjuq1zmdHXtba2av/+/YqIiHBUTHQQx5Hr2rt3L8eSA9ntdj366KN66623tGTJEvXt2/d7H8Px1PXOZU5fx2uTOdra2tTU1PSt3+NYcg7fNaOv4zjqGhdffLEyMzO1Zs2aM/8SExOVmpqqNWvWfKNsS93jeOIMdyeZM2eOHnjgASUmJmr48OFasmSJ6uvrz7yD86tf/UpRUVG6//77JUnp6elKS0vT888/r/Hjx2v9+vXKzc1t17twODcdndHf//53jRw5Uv3791dVVZUWL16soqIiTZs2zcxfo1urra39yrvLhYWFys/PV3BwsHr16qWnnnpKJSUlevLJJyVJ06dPV0ZGhp588klNnTpVW7Zs0YYNG/Tcc8+Z9Su4hY7O6YUXXlCfPn00ZMgQNTY26qWXXtKWLVv0/PPPm/UrdHvz58/X2rVr9eyzz8rf3//MPc8DAwPPrP7gdcl85zInXpu63lNPPaXLLrtMPXv2VG1trdauXatt27Zp8eLFkjiWnEFHZ8RxZI6AgIBvXKPCz89PPXr0OLO9Ox5PFO5OMnHiRFVUVGjhwoUqKytTfHy8Fi1adGa5w8mTJ2Wx/P8FBSkpKfrTn/6kp59+Wn/+8581YMAAPfPMM995oRScn47OqKqqSg8++KDKysoUHByshIQErVq1is9rOVBubq7S09PPfL1gwQJJ0k033aTHH39cZWVlOnny5Jnv9+3bV88995wWLFigpUuXKjo6Wr///e916aWXdnl2d9LROTU3N+uJJ55QSUmJfH19NXToUP3nP//RxRdf3OXZ3cXKlSslSWlpaV/ZvmDBgjNvMvK6ZL5zmROvTV3PZrPpgQceUGlpqQIDAxUbG6vFixfrkksukcSx5Aw6OiOOI+fVHY8nw263280OAQAAAABAd8NnuAEAAAAAcAAKNwAAAAAADkDhBgAAAADAASjcAAAAAAA4AIUbAAAAAAAHoHADAAAAAOAAFG4AAAAAAByAwg0AAAAAgANQuAEAAAAAcAAKNwAAAAAADkDhBgAAAADAAf4f+QzizVCVLd4AAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "val = tuple(float(O.findmin(func2, 100, N=n)) for n in range(100))\n", "val = tuple(abs(v-val[-1]) for v in val)\n", @@ -3619,28 +2867,10 @@ }, { "cell_type": "code", - "execution_count": 204, - "id": "d263dcc4-bfdd-4580-9584-b34b07fab178", + "execution_count": null, + "id": "a0a21eee", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "99.68103950148166\n" - ] - }, - { - "data": { - "image/png": "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/Px8+Pn5YeHChQp3TwPR/PnzUVBQAH9/f+mS8uLiYsTFxQFgZkl5HR0dePXqlfS5ubkZjY2NUKvV8Pf3/9d8BgYGYs6cOdixYwdMJhO6urqwa9cuREVFYcyYMbL17SbEX95mT7IoKyvDiRMn0NLSgilTpiAjIwNhYWFKt0UD3H++v/in3Nxc6R9CnZ2dyMvLQ0VFBX78+AGj0YisrCxenksuY9WqVQgODsb27dsBMLPkWqqqqnDgwAE0NTUhICAASUlJiI+Pl9aFEDh06BDMZjNsNhumT5+OrKwsTJw4UcGuaaBqb29Hfn4+rl27BqvVCj8/P0RFRSE1NRVeXl4AmFlSVm1tLRITE3vUY2JikJeX16t8fv78Gbt27cL169fh7u6ORYsWISMjA8OHD5etbw7cRERERERERDLgPdxEREREREREMuDATURERERERCQDDtxEREREREREMuDATURERERERCQDDtxEREREREREMuDATURERERERCQDDtxEREREREREMuDATURERERERCQDDtxEREREREREMuDATURERERERCQDDtxEREREREREMvgD4ZxEvNKaSKUAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "val0 = tuple(float(O.findmin(vfunc, 99, N=n)) for n in range(100))\n", "val = tuple(abs(v-val0[-1]) for v in val0)\n", @@ -3653,28 +2883,10 @@ }, { "cell_type": "code", - "execution_count": 205, - "id": "11418d75-986d-4b10-a2fa-37cb442027cb", + "execution_count": null, + "id": "aba84a6b", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "99.68102109480606\n" - ] - }, - { - "data": { - "image/png": "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xw7dfPPNWrNmjZ588kmdOXNGy5cvV0dHx7nn/Pu//7veffdd/fa3v9Uzzzyjuro63XnnnSamBs4qKirSiy++qPT09E8dZ2bhK5qbm3XTTTfJ399fjz/+uDZs2KB77rlHkZGR557z+OOP65lnntHPfvYzrVmzRsHBwVq+fLlOnTplYnIMVI8//rheeOEF3Xfffdq4caN+9KMf6YknntAzzzzzqecwszBLR0eH0tPT9dOf/vRzHz+f+fzRj36kw4cP68knn9Sjjz6qjz/+WPfdd1/vBveiV91www3elStXnvu4q6vLO2PGDO8f/vAHE1MBn+XxeLyjRo3y7tixw+v1er0tLS3ezMxM7+uvv37uOYcPH/aOGjXKu3v3bpNSAl5vW1ub94orrvB++OGH3m9+85veX/7yl16vl5mFb/nP//xP70033fSFj3d3d3unT5/ufeKJJ84da2lp8WZlZXlfe+21vogIfMqKFSu8//Iv//KpY3feeaf3hz/8odfrZWbhW0aNGuV96623zn18PvP5198JioqKzj3nvffe86anp3tramp6LSsr3L2os7NTJSUlmjZt2rljNptN06ZN0+7du01MBnxWa2urJJ1bfdm7d69Onz79qfkdPny4kpOTtWfPHjMiApKkn//855o1a9anZlNiZuFb3nnnHWVlZemuu+7SJZdcooULF2rNmjXnHq+qqpLb7f7UvIaHhysnJ4ffEWCKcePGadu2bTp69Kgkaf/+/dq1a5dmzpwpiZmFbzuf+dy9e7ciIiKUnZ197jnTpk2TzWbr1Ut+/XrtK0ONjY3q6upSbGzsp47HxsZ+5lpZwEzd3d3693//d40fP16jRo2SJNXX18vf318RERGfem5sbKzcbrcZMQFt2LBB+/bt00svvfSZx5hZ+JLKykq98MILWrZsmW677TYVFxfrl7/8pfz9/ZWbm3tuJj/vdwT2HYAZVqxYoba2Nl199dWy2+3q6urSD37wA11//fWSxMzCp53PfNbX1ysmJuZTj/v5+SkyMrJXf0+gcAPQypUrdejQIT3//PNmRwG+kMvl0r/927/pj3/8owIDA82OA3wpr9errKws3X333ZKkjIwMHTp0SC+++KJyc3NNTgd81uuvv65XX31V//3f/60RI0aotLRU999/vxISEphZ4CJwSnkvio6Olt1u/8wGaR6PR3FxcSalAj7t5z//ubZs2aLVq1crKSnp3PG4uDidPn1aLS0tn3q+x+NRfHx8X8cEVFJSIo/Ho7y8PGVkZCgjI0M7duzQM888o4yMDGYWPiU+Pl7Dhw//1LG0tDRVV1efe1wSvyPAZ/zHf/yHVqxYofnz5ys9PV0LFy7Ut771Lf3hD3+QxMzCt53PfMbFxamhoeFTj585c0bNzc29+nsChbsXBQQEKDMzUwUFBeeOdXd3q6CgQOPGjTMxGXB29eXnP/+53nrrLa1evVqDBw/+1ONZWVny9/f/1PyWlZWpurpaY8eO7eO0gDR16lS9+uqrWr9+/bn/srKydN11153738wsfMX48ePPXQv7V+Xl5Ro0aJAkKSUlRfHx8Z+a17a2NhUWFvI7Akxx8uRJGYbxqWN2u/3cbcGYWfiy85nPcePGqaWlRXv37j33nG3btqm7u1tOp7PXsnFKeS9btmyZ7rnnHmVlZcnpdGr16tU6ceKE8vLyzI6GAW7lypV67bXX9PDDDys0NPTctSvh4eEKCgpSeHi4Fi1apAceeECRkZEKCwvTL3/5S40bN47yAlOEhYWd22Pgr0JCQhQVFXXuODMLX/Gtb31LN910kx599FFdffXVKioq0po1a/Tzn/9ckmQYhpYuXapHHnlEQ4cOVUpKin73u98pISFB8+bNMzk9BqLZs2fr0UcfVXJy8rlTyp988kktWrRIEjML87W3t6uiouLcx1VVVSotLVVkZKSSk5P/z/kcPny4Lr30Uv3kJz/RypUrdfr0af3iF7/Q/PnzlZiY2Gu5Da/3b+5mj17x7LPPatWqVXK73RozZozuvfde5eTkmB0LA9zf37/4r+6///5zbwidOnVKDzzwgDZs2KDOzk7NmDFDP/3pTzk9Fz5jyZIlGj16tH784x9LYmbhW9599139+te/Vnl5uVJSUrRs2TLdeOON5x73er168MEHtWbNGrW0tGjChAn66U9/qmHDhpmYGgNVW1ubfve732nz5s3yeDxKSEjQ/PnzdccddyggIEASMwtzbd++XUuXLv3M8dzcXD3wwAPnNZ9NTU36xS9+oXfeeUc2m01XXHGF7r33XoWGhvZabgo3AAAAAAC9gGu4AQAAAADoBRRuAAAAAAB6AYUbAAAAAIBeQOEGAAAAAKAXULgBAAAAAOgFFG4AAAAAAHoBhRsAAAAAgF5A4QYAAAAAoBdQuAEAAAAA6AUUbgAAAAAAegGFGwAAAACAXvD/AcWCM8sGG+ZqAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "val0 = tuple(float(O.findmin_gd(vfunc, 99, N=n)) for n in range(100))\n", "val = tuple(abs(v-val0[-1]) for v in val0)\n", @@ -3687,28 +2899,17 @@ }, { "cell_type": "code", - "execution_count": 206, - "id": "39c3cc3a-98cd-473d-9de0-0aa8a78d4e92", + "execution_count": null, + "id": "bcb1ef33", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "OptimizerBase.SimpleResult(result=99.65287573579084, method='findminmax_nr', errormsg=None, context_dct=None)" - ] - }, - "execution_count": 206, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "O.findmin(vfunc, 99, N=700)" ] }, { "cell_type": "markdown", - "id": "c941ee63-4ac1-448b-a078-1e1ad6212d2c", + "id": "be220d57", "metadata": {}, "source": [ "## Charts [NOTEST]" @@ -3716,7 +2917,7 @@ }, { "cell_type": "markdown", - "id": "e1b90540-ec88-4771-ab77-ef20d8c02fe2", + "id": "18b249ff", "metadata": {}, "source": [ "### Chars (x,y)" @@ -3724,8 +2925,8 @@ }, { "cell_type": "code", - "execution_count": 207, - "id": "85ccbd93-8821-40e6-94e3-85391676861a", + "execution_count": null, + "id": "93bb294d", "metadata": {}, "outputs": [], "source": [ @@ -3734,21 +2935,10 @@ }, { "cell_type": "code", - "execution_count": 208, - "id": "d3179497-4340-41ff-859b-ff11936a081b", + "execution_count": null, + "id": "31c9aa2f", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAH6CAYAAAB/Fd1eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAClJElEQVR4nOzddXid9f3/8efxuHtTTd1birS0tLgzZMMHAwZjyr7YNobDsLH9YAYbbGz42BhjUNyKVWipu7dp3D3H7t8fJ0lbKjTtyX0feT2uq1eSk5PknfC+b/LKx2yGYRiIiIiIiIiISMSwW12AiIiIiIiIiOxOYV1EREREREQkwiisi4iIiIiIiEQYhXURERERERGRCKOwLiIiIiIiIhJhFNZFREREREREIozCuoiIiIiIiEiEUVgXERERERERiTAK6yIiIiIiIiIRRmFdREREREREJML0Oqx/8cUXXHvttUyfPp0RI0bw3nvv7fZ+wzB49NFHmT59OuPHj+c73/kOW7Zs2e05DQ0N3HDDDUyePJkpU6Zwyy230Nrauttz1qxZw8UXX8y4ceOYOXMmTzzxRO+/OxEREREREZEo1Ouw3tbWxogRI7jjjjv2+v4nnniCZ555hjvvvJOXXnqJxMRErrrqKjo7O3uec+ONN7JhwwaeeuopHn/8cRYuXMjtt9/e8/6WlhauuuoqioqK+M9//sPNN9/MH/7wB/75z38exLcoIiIiIiIiEl1shmEYB/vBI0aM4I9//CMnnHACEBpVnzFjBldccQVXXXUVAM3NzUybNo0HHniA008/nY0bN3Laaafx73//m3HjxgHw8ccfc8011zBnzhzy8/N5/vnneeSRR/j0009xu90APPzww7z33nu89dZbh/o9i4iIiIiIiES0sK5ZLy0tpbq6mmnTpvU8lpqayoQJE1i8eDEAixcvJi0trSeoA0ybNg273c6yZcsAWLJkCVOmTOkJ6gDTp09n8+bNNDY2hrNkERERERERkYgT1rBeXV0NQHZ29m6PZ2dnU1NTA0BNTQ1ZWVm7vd/pdJKent7z8TU1NeTk5Oz2nO63uz/PVx30BIGtc+HOdPjd5IP7eIsYhsG4O95m0M9ns76y2epyosbfVvyNcf8Yx7XvXmt1KSIiIiIiIvvktLqAcLHZbNTWNtPbzO5sCZABBHwd1NdEV+gtTPfQXOVn5ZZaMh1WVxMdJqYcDsD88vlsLa8g2ZXcq4+32SA7O/Wgek2kN9RrYhb1mphFvSZmUa+JWbp7ra+ENazn5uYCUFtbS15eXs/jtbW1jBw5EgiNkNfV1e32cX6/n8bGxp6Pz8nJ2WMEvfvtr46478ow6PUFGXSEptrb/J1RdzEXpSWwrqqV0oaOqKvdKsVJAylO6k9p23YWVM9nVuFxB/V5DqbXRA6Gek3Mol4Ts6jXxCzqNYl2YZ0GX1xcTG5uLnPnzu15rKWlhaVLlzJp0iQAJk2aRFNTEytWrOh5zrx58wgGg4wfPx6AiRMnsnDhQnw+X89zPv/8cwYPHkx6eno4SwaHJ/Qy4A3v5zVBv/REAMqaOiyuJHrYbDam5c8A4PPKTyyuRkREREREZO96HdZbW1tZvXo1q1evBkKbyq1evZqysjJsNhuXXXYZjz32GO+//z5r167l5ptvJi8vr2fH+JKSEmbMmMFtt93GsmXLWLRoEffccw+nn346+fn5AJx55pm4XC5++ctfsn79et544w2efvpprrjiijB+6yFGV1i3BTq/5pmRpyg9AYAdDQrrvTEtfzoA86s/JxD0W1yNiIiIiIjInno9DX7FihVcdtllPW/ff//9AJxzzjk88MADXH311bS3t3P77bfT1NTEYYcdxpNPPonH4+n5mIcffph77rmHyy+/HLvdzkknncStt97a8/7U1FT++te/cvfdd3PuueeSmZnJD37wAy644IJD+V73arewbhihhQdRol9GKKxrZL13xmSOI82VTpOvkeX1y5iYHV2bC4qIiIiISOzrdVg/8sgjWbt27T7fb7PZuO6667juuuv2+ZyMjAx+85vf7PfrjBw5kueff7635fWec+cfEQh6d06LjwL9dhlZNwwDWxT9ocFKDpuDqXlH8/aON/i88hOFdRERERERiThhXbMejQzHzrPcbf7omgpfmBYK622+AI3tms7dG1O7psJ/XvXpwR/7JyIiIiIi0kfiPqxj3xnWo22TOY/TTl5KqP4dje0WVxNdDs85ApfdTVnbDra0bLa6HBERERERkd0orNtssbHJXKPWrfdGojOJydmHATC38lOLqxEREREREdmdwjrRvSN8P4X1g3Z01xFun1XpCDcREREREYksCusA3evWozCsa2T94E3Nm44NG6sbVlLdXmV1OSIiIiIiIj0U1tllZD3K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6o4qfjrmJs4a2LcbMUp06IteE9kb9ZqYRb0mZlGviVm6e62vaFexr+gZWccAX5vF1fStMQWp2IDypk5qWjqtLiduuR1uLhwSOnf9+Y1P4wv6LK5IRERERESsprD+Vc5EDFvox2L3xfa69RSPk5Kc0IZ6y8pjd+f7aHBa/zPJ8mRT1VHJuzvesrocERERERGxmML6V9lsGN07wsfDuvUibTIXCTwODxcMuQSA5zb+g0DQb3FFIiIiIiJiJYX1veiZCh/jO8IDjC8KbTKnsG69MwecTYY7g/K2Mt4ve9fqckRERERExEIK63ux8/i22J8a3r0j/OrKZnyBoMXVxLcERwLnD74YgGc3/J2AEbC4IhERERERsYrC+l7E0zT4AZmJpCc48QYM1lXF/kyCSPeNgeeS5kqntG077+94x+pyRERERETEIgrre2G4Q+u442EavM1mY1zXVHhtMme9RGcSF3atXf/H+r/i19p1EREREZG4pLC+F4Y7fkbWYedUeK1bjwzfGHgeme4sytvLeKv0davLERERERERCyis70U8rVkH7QgfaRKdiVwy9DIAntnwd7yBTosrEhERERERsyms70W8jayPKUjDboOK5k6qmhUMI8EZ/b9BbkIe1R1VvL79VavLERERERERkyms74Xhip816wBJbgclOaE/UCwv1+h6JHA7PHx76BUAPLfhH7T72y2uSEREREREzKSwvhfBODpnvVv3eevLNBU+YpxSfDqFSUXUe+v579Z/W12OiIiIiIiYSGF9L7qPbrP74ies79xkLj7W6UcDp93J5cOuAuDFTc/SEkf9KCIiIiIS7xTW98LoHlmPo3DUfXzbmqpmvP6gxdVIt+OLTmJA8kCafc38e/OLVpcjIiIiIiImUVjfi56w7o2PDeYA+mckkJHowhcwWFsVP3+kiHQOm4PvDL8agH9tfpH6zjqLKxIRERERETMorO9FvB3dBmCz2ZjQNbq+ZEejxdXIro4pmMWI9JG0B9p4esNTVpcjIiIiIiImUFjfi+416/FydFu3yf3TAVi0XWE9kthtdq4Z+UMAXt/2X3a0llpckYiIiIiI9DWF9b0w4nA3eIDD+mcAoZF1f9CwthjZzaTswzgidyoBI8Bf1/3Z6nJERERERKSPKazvxc4N5lrBiJ/QOjQnmVSPk1ZvQOvWI9DVI76PDRsflb/PmoZV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DTfc4LdpmoYVK1Zg586dI64nSvd+/jRDZMcYxxpNNo41KhaONSoWjjUqFo41KpbJHmMlGdYPHz4Mx3FQX18faq+vr8fHH3884nr19ZWTvWtEADjWqHg41qhYONaoWDjWqFg41mi6K9nT4ImIiIiIiIiOVyUZ1mtra6Hr+rCbyXV3d6OhoWGK9oqIiIiIiIioOEoyrEejUSxatAjbt2/321zXxfbt29HW1jaFe0ZEREREREQ0+UrymnUAuO6667Bu3TosXrwYS5cuxZYtW5BKpXDppZdO9a4RERERERERTaqSDevf+ta30NPTg82bN6OzsxOnn346HnvsMZ4GT0RERERERDNeSZ4Gn3X11Vfj1Vdfxa5du/CnP/0Jy5YtG9bn6aefxvnnn48lS5bg8ssvxzvvvDMFe0ozyUMPPYSWlpbQ45vf/Ka/PJPJYMOGDTj77LPR1taGn/zkJ+jq6prCPabp4s0338QPf/hDtLe3o6WlBX/7299Cy6WUePDBB9He3o6lS5fi2muvxaeffhrq09vbi7Vr12L58uX40pe+hNtuuw1DQ0NFfBc0HYw21n72s58N+5xbvXp1qA/HGo3Fo48+issuuwxtbW0455xzcOONNw775p6x/N48cOAAfvCDH2DZsmU455xzcO+998K27WK+FSpxYxlr3//+94d9tv3iF78I9eFYo9E888wz+Pa3v43ly5dj+fLluPLKK/H666/7y4v5mVbSYX00L774IjZu3Ig1a9bgueeeQ2trK1avXj3sxnRE43Xaaafh73//u/945pln/GX33HMPXn31VTzwwAN48skncejQIfz4xz+ewr2l6SKZTKKlpQXr168vuPx3v/sdnnzySdxxxx3YunUrEokEVq9ejUwm4/e5+eabsWfPHjzxxBP47W9/i3//+9/D/hAhGm2sAcCqVatCn3P3339/aDnHGo3Fjh07cNVVV2Hr1q144oknYNs2Vq9ejWQy6fcZ7fem4zi44YYbYFkW/vCHP2DTpk147rnnsHnz5ql4S1SixjLWAOCKK64Ifbbdeuut/jKONRqLE044ATfffDP+/Oc/49lnn8VXvvIVrFmzBh9++CGAIn+myWnsu9/9rtywYYM/7ziObG9vl48++ugU7hVNd5s3b5bf+c53Ci7r7++XixYtki+99JLftmfPHtnc3Cx37txZpD2kmaC5uVm+/PLL/rzrunLlypXyscce89v6+/vl4sWL5bZt26SUubH2zjvv+H1ef/112dLSIg8ePFi8nadpJX+sSSnlunXr5I9+9KMR1+FYo6PV3d0tm5ub5Y4dO6SUY/u9+dprr8nW1lbZ2dnp93nmmWfk8uXLZSaTKer+0/SRP9aklPLqq6+Wd99994jrcKzR0TrrrLPk1q1bi/6ZNm2PrJumiXfffRcrVqzw2zRNw4oVK7Bz584p3DOaCfbu3Yv29nZ87Wtfw9q1a3HgwAEAwK5du2BZVmjcnXrqqWhqasJbb701RXtLM8Fnn32Gzs7O0NiqrKzEsmXL/M+0nTt3oqqqCkuWLPH7rFixApqm8RIgGrcdO3bgnHPOwYUXXoj169fj8OHD/jKONTpaAwMDAIDq6moAY/u9+dZbb6G5uTl0X6L29nYMDg5iz549xdt5mlbyx1rW888/j7PPPhsXX3wx7rvvPqRSKX8ZxxqNl+M4eOGFF5BMJtHW1lb0z7SSvcHcaA4fPgzHcVBfXx9qr6+vH3b9CtF4LF26FBs3bsSCBQvQ2dmJRx55BFdddRWef/55dHV1IRKJoKqqKrROfX09Ojs7p2iPaSbIjp9Cn2nZ66C6urpQV1cXWm4YBqqrqzn+aFxWrVqFr3/965g7dy727duH+++/H9dffz3++Mc/Qtd1jjU6Kq7r4p577sHy5cvR3NwMAGP6vdnV1TXsBsLZeY43KqTQWAOAiy++GE1NTZg1axZ2796NX/3qV/jkk0/w8MMPA+BYo7HbvXs3vve97yGTyaCsrAyPPPIIFi5ciPfff7+on2nTNqwTTZZzzz3Xn25tbcWyZctw3nnn4aWXXkI8Hp/CPSMimhgXXXSRP529CdMFF1zgH20nOhobNmzAhx9+GLrPC9FkGGmsXXnllf50S0sLGhsbce2116KjowPz5s0r9m7SNLZgwQL85S9/wcDAAP76179i3bp1eOqpp4q+H9P2NPja2lrouj7sZnLd3d38ejeaUFVVVTj55JPR0dGBhoYGWJaF/v7+UJ/u7m40NjZO0R7STJAdP0f6TGtoaEBPT09ouW3b6Ovr4/ijY3LSSSehtrYWe/fuBcCxRuN355134rXXXsOWLVtwwgkn+O1j+b3Z0NAw7E7K2XmON8o30lgrJPtNUsHPNo41GotoNIr58+dj8eLFWLt2LVpbW/H73/++6J9p0zasR6NRLFq0CNu3b/fbXNfF9u3b0dbWNoV7RjPN0NAQ9u3bh8bGRixevBiRSCQ07j7++GMcOHAAZ5xxxtTtJE17c+fORWNjY2hsDQ4O4u233/Y/09ra2tDf349du3b5fd544w24roulS5cWfZ9p5jh48CB6e3v9PyI41mispJS488478fLLL2PLli046aSTQsvH8nvzjDPOwAcffBAqVv7zn/9ERUUFFi5cWJT3QaVvtLFWyPvvvw8gF5A41uhoua4L0zSL/pk2rU+Dv+6667Bu3TosXrwYS5cuxZYtW5BKpXDppZdO9a7RNHbvvffivPPOQ1NTEw4dOoSHHnoImqbh4osvRmVlJS677DJs2rQJ1dXVqKiowN133422tjaGdRrV0NAQOjo6/PnPPvsM77//Pqqrq9HU1IRrrrkGv/nNbzB//nzMnTsXDz74IGbNmoULLrgAgLqByapVq/Dzn/8cGzZsgGVZuOuuu3DRRRdh9uzZU/W2qAQdaaxVV1fj4YcfxoUXXoiGhgbs27cPv/zlLzF//nysWrUKAMcajd2GDRuwbds2/PrXv0Z5ebl/PWZlZSXi8fiYfm+2t7dj4cKFuPXWW3HLLbegs7MTDzzwAK666ipEo9EpfHdUSkYbax0dHXj++edx7rnnoqamBrt378bGjRtx1llnobW1FQDHGo3Nfffdh69+9auYM2cOhoaGsG3bNuzYsQOPP/540T/ThJRSTsJ7LJqnnnoKjz/+ODo7O3H66afj9ttv9095IToaN910E95880309vairq4OZ555Jm666Sb/WqdMJoNNmzbhhRdegGmaaG9vx/r163n6FI3qX//6F6655pph7Zdccgk2bdoEKSU2b96MrVu3or+/H2eeeSbWr1+PBQsW+H17e3tx11134ZVXXoGmafjGN76B22+/HeXl5cV8K1TijjTW7rjjDqxZswbvvfceBgYGMGvWLKxcuRI//elPQ5eRcazRWLS0tBRs37hxo3/wZCy/N/fv34877rgDO3bsQCKRwCWXXIK1a9fCMKb1cSWaQKONtc8//xy33HILPvzwQySTScyZMwcXXHABbrzxRlRUVPj9OdZoNLfddhveeOMNHDp0CJWVlWhpacH111+PlStXAijuZ9q0D+tEREREREREM820vWadiIiIiIiIaKZiWCciIiIiIiIqMQzrRERERERERCWGYZ2IiIiIiIioxDCsExEREREREZUYhnUiIiIiIiKiEsOwTkRERERERFRiGNaJiIiIiIiISgzDOhEREREREVGJYVgnIiIiIiIiKjEM60REREREREQlhmGdiIiIiIiIqMT8LxTMJKm8F2uWAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2)\n", "curves = [\n", @@ -3766,21 +2956,10 @@ }, { "cell_type": "code", - "execution_count": 209, - "id": "5b1ed2c5-6bb7-44b0-a07e-f4b6a124cdd1", + "execution_count": null, + "id": "7ebdd94b", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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nM/vzRMnTuiWW27R8uXLtXr1an3ta19TKpWy86PA4c6n1v7bf/tvw/ZtX/7yl4vmodZwLj/96U/1kY98RKtWrdKqVav0sY99TM8//3x+up37NEeH9XN56qmndP/99+tzn/ucfv3rX2vhwoXasGHDsBvTAaM1f/58/fGPf8z//PSnP81P++pXv6pnn31WDz74oB5//HG1tbXpb//2b8dxazFRDAwMqKWlRRs3bhxx+qOPPqrHH39cd999tzZt2qRgMKgNGzYoHo/n57ntttu0b98+PfbYY3rkkUf06quvDvtDBDhXrUnSunXrivZz3/rWt4qmU2s4H1u2bNGNN96oTZs26bHHHlMqldKGDRs0MDCQn+dcvzfT6bQ+/elPK5lM6uc//7keeOAB/frXv9bDDz88Hh8JDnU+tSZJN9xwQ9G+7fbbb89Po9ZwPqZMmaLbbrtN//7v/65f/epXete73qXPfe5z2rt3rySb92nmBPaXf/mX5j333JMfT6fT5tq1a83vfe9747hVmOgefvhh88///M9HnNbT02MuXrzY/O1vf5tv27dvn7lgwQJz69atNm0hJoMFCxaYv//97/PjmUzGvOqqq8zvf//7+baenh5zyZIl5m9+8xvTNIdqbceOHfl5nn/+ebOlpcU8deqUfRuPCeX0WjNN07zjjjvMz372s2dchlrDOxWNRs0FCxaYW7ZsMU3z/H5vPvfcc+bChQvN9vb2/Dw//elPzVWrVpnxeNzW7cfEcXqtmaZpfuITnzDvu+++My5DreGduvzyy81NmzbZvk+bsEfWE4mE3nzzTa1Zsybf5nK5tGbNGm3dunUctwyTweHDh7V27Vq9733v06233qoTJ05Iknbu3KlkMllUd3PnzlVTU5O2bds2TluLyeDYsWNqb28vqq3KykotX748v0/bunWrqqqqtHTp0vw8a9askcvl4hIgjNqWLVu0evVqfeADH9DGjRvV2dmZn0at4Z3q7e2VJIVCIUnn93tz27ZtWrBgQdF9idauXau+vj7t27fPvo3HhHJ6reU88cQTuvLKK/XhD39Y3/zmNzU4OJifRq1htNLptJ588kkNDAxo5cqVtu/THHuDuXPp7OxUOp1WXV1dUXtdXd2w61eA0Vi2bJnuv/9+zZ49W+3t7frOd76jG2+8UU888YQikYi8Xq+qqqqKlqmrq1N7e/s4bTEmg1z9jLRPy10HFYlEVFtbWzTd4/EoFApRfxiVdevW6c/+7M/U3Nyso0eP6lvf+pY+9alP6Re/+IXcbje1hnckk8noq1/9qlatWqUFCxZI0nn93oxEIsNuIJwbp94wkpFqTZI+/OEPq6mpSQ0NDdqzZ4++8Y1v6ODBg/r2t78tiVrD+duzZ4/+63/9r4rH4yorK9N3vvMdzZs3T7t27bJ1nzZhwzpQKldffXV+eOHChVq+fLne+9736re//a0CgcA4bhkAjI3169fnh3M3Ybr22mvzR9uBd+Kee+7R3r17i+7zApTCmWrtYx/7WH64paVF9fX1+uQnP6kjR45oxowZdm8mJrDZs2fr//7f/6ve3l797ne/0x133KEf//jHtm/HhD0NvqamRm63e9jN5KLRKI93w5iqqqrSrFmzdOTIEYXDYSWTSfX09BTNE41GVV9fP05biMkgVz9n26eFw2F1dHQUTU+lUuru7qb+cEGmT5+umpoaHT58WBK1htH7yle+oueee04//OEPNWXKlHz7+fzeDIfDw+6knBun3nC6M9XaSHJPkirct1FrOB8+n08zZ87UkiVLdOutt2rhwoX60Y9+ZPs+bcKGdZ/Pp8WLF2vz5s35tkwmo82bN2vlypXjuGWYbPr7+3X06FHV19dryZIl8nq9RXV34MABnThxQitWrBi/jcSE19zcrPr6+qLa6uvr0/bt2/P7tJUrV6qnp0c7d+7Mz/PSSy8pk8lo2bJltm8zJo9Tp06pq6sr/0cEtYbzZZqmvvKVr+j3v/+9fvjDH2r69OlF08/n9+aKFSv09ttvF3VWvvjii6qoqNC8efNs+RxwvnPV2kh27dolaSggUWt4pzKZjBKJhO37tAl9GvzNN9+sO+64Q0uWLNGyZcv0wx/+UIODg/roRz863puGCexrX/ua3vve96qpqUltbW36l3/5F7lcLn34wx9WZWWlrr/+ej3wwAMKhUKqqKjQfffdp5UrVxLWcU79/f06cuRIfvzYsWPatWuXQqGQmpqadNNNN+m73/2uZs6cqebmZj300ENqaGjQtddeK8m6gcm6dev0pS99Sffcc4+SyaTuvfderV+/Xo2NjeP1seBAZ6u1UCikb3/72/rABz6gcDiso0eP6p//+Z81c+ZMrVu3ThK1hvN3zz336De/+Y3+9V//VeXl5fnrMSsrKxUIBM7r9+batWs1b9483X777friF7+o9vZ2Pfjgg7rxxhvl8/nG8dPBSc5Va0eOHNETTzyhq6++WtXV1dqzZ4/uv/9+XX755Vq4cKEkag3n55vf/Kbe/e53a+rUqerv79dvfvMbbdmyRT/4wQ9s36cZpmmaJfiMtvnxj3+sH/zgB2pvb9eiRYt011135U95Ad6JL3zhC3rllVfU1dWl2tpaXXrppfrCF76Qv9YpHo/rgQce0JNPPqlEIqG1a9dq48aNnD6Fc3r55Zd10003DWu/7rrr9MADD8g0TT388MPatGmTenp6dOmll2rjxo2aPXt2ft6uri7de++9euaZZ+RyufT+979fd911l8rLy+38KHC4s9Xa3Xffrc997nN666231Nvbq4aGBl111VX6+7//+6LLyKg1nI+WlpYR2++///78wZPz+b15/Phx3X333dqyZYuCwaCuu+463XrrrfJ4JvRxJYyhc9XayZMn9cUvflF79+7VwMCApk6dqmuvvVZ/8zd/o4qKivz81BrO5c4779RLL72ktrY2VVZWqqWlRZ/61Kd01VVXSbJ3nzbhwzoAAAAAAJPNhL1mHQAAAACAyYqwDgAAAACAwxDWAQAAAABwGMI6AAAAAAAOQ1gHAAAAAMBhCOsAAAAAADgMYR0AAAAAAIchrAMAAAAA4DCEdQAAAAAAHIawDgAAAACAwxDWAQAAAABwGMI6AAAAAAAO8/8Hu5krujltCMAAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, x_act=10)\n", "curves = [\n", @@ -3798,21 +2977,10 @@ }, { "cell_type": "code", - "execution_count": 210, - "id": "21513447-aacf-4fcc-8d71-94924ae44845", + "execution_count": null, + "id": "5a46f120", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAH6CAYAAAB/Fd1eAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACAVklEQVR4nOzdd5hU9dnG8ftM2d4bvS8sSEeKIAhiFzW22GMjElvUWDAhFrChRvOqsUaNsRtijYIVBFHp0ntvS9ney5Tz/rHsAArCwuw5M7Pfz3XlCszM7j6zPuew9/6aYZqmKQAAAAAAEDIcdhcAAAAAAAD2R1gHAAAAACDEENYBAAAAAAgxhHUAAAAAAEIMYR0AAAAAgBBDWAcAAAAAIMQQ1gEAAAAACDGEdQAAAAAAQgxhHQAAAACAEENYBwAAAAAgxDQ4rM+bN0/XX3+9hg4dqpycHH3zzTf7PW+app5++mkNHTpUvXr10tVXX61Nmzbt95ri4mLdcccd6tevn/r3769x48apoqJiv9esWrVKl112mXr27Knhw4fr5Zdfbvi7AwAAAAAgDDU4rFdWVionJ0f333//AZ9/+eWX9eabb2r8+PGaNGmSYmNjNXr0aNXU1ARec+edd2rdunV67bXX9OKLL2r+/Pm67777As+Xl5dr9OjRatmypT788EONHTtWzz77rP7zn/8cwVsEAAAAACC8GKZpmkf6wTk5OXruued08sknS6obVR82bJiuueYajR49WpJUVlamIUOG6NFHH9WoUaO0fv16nXnmmXr//ffVs2dPSdJ3332nMWPGaMaMGWrWrJneeecdPfXUU/r+++8VFRUlSXriiSf0zTff6Isvvjja9wwAAAAAQEgL6pr1bdu2KS8vT0OGDAk8lpiYqN69e2vhwoWSpIULFyopKSkQ1CVpyJAhcjgcWrJkiSRp0aJF6t+/fyCoS9LQoUO1ceNGlZSUBLNkAAAAAABCTlDDel5eniQpPT19v8fT09OVn58vScrPz1daWtp+z7tcLiUnJwc+Pj8/XxkZGfu9pv7v9Z/n5454gsDmWdL4ZOmZfkf28TYxTVM97/9S7f88WWt3ldldTtj417J/qefrPXX919fbXQoAAAAAHJTL7gKCxTAMFRSUqaGZ3VXuU4okn6daRfnhFXpbJEerbLdXyzcVKNVpdzXhoU/CAEnSnB1ztHnHTsW74xv08YYhpacnHlGvAQ1Br8Eq9BqsQq/BKvQarFLfa40lqGE9MzNTklRQUKCsrKzA4wUFBerataukuhHywsLC/T7O6/WqpKQk8PEZGRm/GEGv//vPR9z3ZZpq8AXpd9ZNtTe8NWF3MbdMitGa3RXaVlwddrXbpXVcO7WOa6NtlVs1N2+ORrQYeUSf50h6DTgS9BqsQq/BKvQarEKvIdwFdRp869atlZmZqVmzZgUeKy8v1+LFi9W3b19JUt++fVVaWqply5YFXjN79mz5/X716tVLktSnTx/Nnz9fHo8n8Joff/xRHTp0UHJycjBLlpzRdf/vqw3u57VAq+RYSVJuabXNlYQPwzA0pNkwSdKPu2baXA0AAAAAHFiDw3pFRYVWrlyplStXSqrbVG7lypXKzc2VYRi68sor9cILL2jq1KlavXq1xo4dq6ysrMCO8Z06ddKwYcN07733asmSJVqwYIEefPBBjRo1Ss2aNZMknX322XK73frrX/+qtWvXasqUKXrjjTd0zTXXBPGt1zH3hHXDV3OIV4aelskxkqTtxYT1hhjSbKgkaU7ej/L5vTZXAwAAAAC/1OBp8MuWLdOVV14Z+PvEiRMlSeedd54effRRXXfddaqqqtJ9992n0tJSHXvssXrllVcUHR0d+JgnnnhCDz74oK666io5HA6deuqpuueeewLPJyYm6tVXX9UDDzyg888/X6mpqbrxxht18cUXH817PaD9wrpp1i08CBOtUurCOiPrDdM9taeS3Mkq9ZRoadES9UkPr80FAQAAAES+Bof1QYMGafXq1Qd93jAM3Xrrrbr11lsP+pqUlBQ9+eSTv/p1unbtqnfeeaeh5TWca+8vEeSv3TstPgy02mdk3TRNGWH0iwY7OQ2nBmcdry+3T9GPu2YS1gEAAACEnKCuWQ9HpnPvWe6GN7ymwrdIqgvrlR6fSqqYzt0Qg/dMhf9x9/dHfuwfAAAAADSSJh/W5dgb1sNtk7lol0NZCXX1by+psrma8DIgY6DcjijlVm7XpvKNdpcDAAAAAPshrBtGZGwyV8K69YaIdcWpX/qxkqRZu763uRoAAAAA2B9hXeG9I3wrwvoRO37PEW4/7OYINwAAAAChhbAuSfXr1sMwrDOyfuQGZw2VIUMri5crr2q33eUAAAAAQABhXfuMrIfZBnOS1DolVpK0rZg16w2VHpOhHqm9JEkzd023txgAAAAA2AdhXZJZf3xbmG0wJ0ntUuvC+uZCwvqROKH5CEnSjB3f2lsIAAAAAOyDsC4FpsGH45r1dmlxkqT8ilqV13B8W0MN2xPWlxUtUWFNgb3FAAAAAMAehHXtu8Fc+I2sJ0S7lBbnliRtKWJ0vaGyYpupW0p3mTI1c+cMu8sBAAAAAEmE9TrO+mnw4blJW2AqfFGlzZWEpxOanyhJ+m4nU+EBAAAAhAbCusJ7gzlJartnKjzr1o9M/br1xQULVVxTZG8xAAAAACDCuiTJDKxZD79p8BKbzB2tFnEt1TkpR375OXMdAAAAQEggrEtSYDf48BxZr99kbgvT4I/Y8Pqp8OwKDwAAACAEENYV3hvMSXtH1rcUVclvmjZXE57qd4X/qWC+yjyl9hYDAAAAoMkjrGvvNPhwHVlvlRwjp8NQtdev3WXh+R7s1iahrTomdpLP9OnHXd/bXQ4AAACAJo6wLknOGEmS4Q3P3eBdTodaJ9e9h80c33bE6neFn8Gu8AAAAABsRljXPhvM+cNzGrwktWWTuaNWH9YX5M9VhafC5moAAAAANGWEdWnvOethenSbxCZzwdA+sYPaxreTx+/RrN1MhQcAAABgH8K6JNMV3hvMSRzfFizDW4yUJH27Y6rNlQAAAABoygjr2vec9fAfWd/MyPpRObHFyZKkeXmzVVrLrvAAAAAA7EFYl/ZOgw/rsF43sr6ztEbVHp/N1YSv9okd1DExW17Tq5m7pttdDgAAAIAmirCufc9ZD9+wnhrrVmK0S6akbcXhuat9qBjZsm50fVru1zZXAgAAAKCpIqxrb1gP5w3mDMPYuyM8U+GPysgWp0iSFhX8pILqfJurAQAAANAUEdYlKbBmPXw3mJP2ToVnk7mj0zyuhY5J6SFTJhvNAQAAALAFYV377gYfviPrktQulU3mguWklqdKYio8AAAAAHsQ1qV9NphjZB11hrcYKYccWlWyQtsrttldDgAAAIAmhrCuyNhgTtp/ZN00TZurCW9p0Wnqm3GsJOnbHd/YXA0AAACApoawrn3Cuje8d1FvnRIjQ1J5jU9FVR67ywl79RvNTc39ml9+AAAAALAUYV0KbDAnf3hPg49xO9Uiqe4XD0yFP3rDmg+X2+HW5vKN2lC23u5yAAAAADQhhHXtO7Ie3tPgJalt/VT4QjaZO1oJ7kQNzBwsiY3mAAAAAFiLsC7JrB9ZD/MN5qR9NpkrYmQ9GE5qWTcV/tsd3zAVHgAAAIBlCOuSFCFHt0mMrAfbcVnHK9YZp51VO7S8aKnd5QAAAABoIgjrkkxnjCTJ8Hsk029zNUeHkfXginHG6ITmIyRJX23/3N5iAAAAADQZhHVp7wZzkhTmo+vtUuvC+vaSanl94f2Lh1BxauszJEnf7piqmjDvDwAAAADhgbCuvRvMSeG/yVxWYrRiXA75/Ka2lYT3UXShondaX2XFNFOFt1w/7JppdzkAAAAAmgDCuiQ5XDKNum9FuK9bdxiG2u4ZXef4tuBwGA6d0up0SdJX25gKDwAAAKDxEdYlyTBkuuo2ZjM8FTYXc/Q6pNe9lw0F4f9eQsWpreqmws/Lm6P8qnybqwEAAAAQ6Qjre5hR8ZIiI6x3yqh7L+vzw/+9hIo2CW11TEoP+eXX5A2T7S4HAAAAQIQjrO9hRiVKkozacpsrOXrZgbDO8W3BdFrrMyVJn6z/hDPXAQAAADQqwvoepnvPyHoEhPX6kfVNhZXsCB9EI1qMlNsRpbVFa7WudI3d5QAAAACIYIT1PUx3giTJ8IR/WG+RFK04t1Nev8l560GU6E7SkGZDJUlfbf/C5moAAAAARDLC+h5m1J6wXhv+67wNw1CnjLpN5li3Hlyn7dlo7pvtX8rr99pcDQAAAIBIRVjfIxDWI2BkXWKTucYyMHOQ0mLSVFxbrLl5s+0uBwAAAECEIqzvEZgGX1tmcyXBUb/J3Do2mQsqp8OlUR1HSZK+2j7F5moAAAAARCrC+h6RdHSbxMh6Y/pNp99Ikn7c9b2Ka4psrgYAAABAJCKs77F3ZD1SpsHXrVnfXlKtylqfzdVElpy0HHVN7iav6dVX2z+3uxwAAAAAEYiwvoc/sGY9MkaiU+OilBbnliRtLIiM9xRKzmx7tiRp8tb/ceY6AAAAgKAjrO9RP7LuiJA169K+69YJ68F2UstTFOOM1daKLVpWtMTucgAAAABEGML6HpG2Zl3ad906m8wFW5wrXie2OElS3eg6AAAAAAQTYX2PSFuzLjGy3thGtTlHkjRjxzSVeyJnRgYAAAAA+xHW9wicsx5BYb1TJjvCN6ZuKd3VPqGDavw1mpr7ld3lAAAAAIgghPU9AiPrnsgJ6x3T42RIKqz0qKiy1u5yIo5hGIHRdTaaAwAAABBMhPU99o6sR84odKzbqVYpMZKYCt9YTm51utwOt9aVrtXa0tV2lwMAAAAgQhDW9wiEdX+t5KuxuZrg6ZTOJnONKTkqWcOajZAkTd7CRnMAAAAAgoOwvofpjg/8OZJG1+vXrTOy3njObFN35vrUHV+pyltlczUAAAAAIgFhvZ7DJdNVN2U8ktatd0qPkyRtIKw3mj7p/dQyrpUqvZWavmOq3eUAAAAAiACE9X1E5PFtmXunwfvZAK1ROAxHYKO5/2350OZqAAAAAEQCwvo+/PXr1j2RMwrdNiVWbqehSo9PO0sjZy1+qDmj9VlyO9xaXbJKq4pX2F0OAAAAgDBHWN9H/ci6o7bM5kqCx+V0qH1a3VR41q03npToVA1vPlKS9MlmRtcBAAAAHB3C+j7MqLop45G0wZwkdcqonwofWe8r1Jzb7gJJ0rQd36iktsTmagAAAACEM8L6PgJr1iNogzlp7yZzhPXG1S2lu7KTusjjr9Xn2z6zuxwAAAAAYYywvg8zAtesS/tvMofGYxhGYHT9080fyW/6ba4IAAAAQLgirO9j727wkbNmXdo7DX5TYaVqvQTIxjSy5SlKcCVqR1Wu5ubNtrscAAAAAGGKsL6PwMh6BB3dJknNE6OVFOOS129qQ0FkzRoINTHOGJ3e+kxJ0v/YaA4AAADAESKs78N079lgLsKmwRuGoa5Zdb+IWLkrsn4REYrOaXe+JGlO3iztqMy1uRoAAAAA4Yiwvg8zKlFS5I2sS1LXZnXvbfXuyHtvoaZ1fBv1zxgoU6b+t+Uju8sBAAAAEIYI6/sIHN0WYbvBS1LXZoysW+k3ezaa+3zrp6rx1dhcDQAAAIBwQ1jfx94N5iIv0HbbE9bX5ZXL62OTucZ2XNYQNYttrlJPqabmfmV3OQAAAADCDGF9H5F6dJsktUqOUUK0U7U+UxsKOMKtsTkNp85rd6Ek6f2N78k0TZsrAgAAABBOCOv78Efo0W3S/pvMrWIqvCXObHO2Ypyx2lS+UQvy59ldDgAAAIAwQljfR/3IuqM28kbWJSknq26TuVVsMmeJBHeizmg9SpL0wab/2FwNAAAAgHBCWN/H3qPbIjPM1q9bX7Ur8mYOhKrz218kQ4bm5M3SlvJNdpcDAAAAIEwQ1vcROLrNWyX5fTZXE3z1O8KvyauQ188aaiu0im+twVnHS5I+2PRfm6sBAAAAEC4I6/uoP7pNiszR9TapsYqPcqrG69emQjaZs8qFHS6RJH21bYpKa0ttrgYAAABAOCCs78sZLdPhliQZEbhu3WEY6pLFVHir9U7rq+ykzqrx1+izrR/bXQ4AAACAMEBY/5lIX7fOjvDWMwxDF7S/WJL08eYP5PV7ba4IAAAAQKgjrP9MYN16bWSG2a7NCOt2OLHFyUqNSlN+dZ5m7JhmdzkAAAAAQhxh/Wfq161H6sh6t2Z1v4xYvbtcPjaZs0yUM0rntrtAkvTfje/JNPneAwAAADg4wvrPmO66kedIHVlvmxqrWLdD1V6/thRV2V1Ok3J223MV7YjWmtJVWliwwO5yAAAAAIQwwvrP7B1Zj7wN5iTJ6TDUJbPuFxIr2WTOUinRqTq9zVmSpPc2vGVzNQAAAABCGWH9Z/zuyF6zLrFu3U4XdbhUDsOp+flztbZktd3lAAAAAAhRQQ/rPp9PTz31lEaOHKlevXrp5JNP1nPPPbffGl3TNPX0009r6NCh6tWrl66++mpt2rRpv89TXFysO+64Q/369VP//v01btw4VVQ0/mh3/ci6oymE9d2R+x5DVYu4lhrRfKQk6b0Nb9tcDQAAAIBQFfSw/vLLL+vdd9/VfffdpylTpujOO+/UK6+8ojfffHO/17z55psaP368Jk2apNjYWI0ePVo1NTWB19x5551at26dXnvtNb344ouaP3++7rvvvmCX+wuBNesRusGcJHXds8ncmt3l8rPRmeUu6XS5JGnGjmnKrdxuczUAAAAAQlHQw/rChQt10kknacSIEWrdurVOP/10DR06VEuWLJFUN6r+xhtv6IYbbtDJJ5+srl276vHHH9fu3bv1zTffSJLWr1+vmTNn6qGHHlLv3r3Vv39/3XPPPZo8ebJ27doV7JL3Y0ZFflhvnxanaJdDFbU+bWWTOctlJ3XRgIxB8suv/2541+5yAAAAAISgoIf1vn37avbs2dq4caMkadWqVVqwYIFOOOEESdK2bduUl5enIUOGBD4mMTFRvXv31sKFCyXVBf6kpCT17Nkz8JohQ4bI4XAEQn9j2bsbfGRuMCdJLoehLpl10/1Zt26PSzpdIUn6fNtnKqoptLkaAAAAAKHGFexPOGbMGJWXl+uMM86Q0+mUz+fTn/70J51zzjmSpLy8PElSenr6fh+Xnp6u/Px8SVJ+fr7S0tL2L9TlUnJycuDjD8QwgvAGoutH1suC8/lCVNdmCVq6o0yrdpfr9GOy7C4nbNT3xNH2Rt/0fuqa3E2rSlbq483v69qcMUdfHCJKsHoNOBR6DVah12AVeg1WaeweC3pY//zzz/Xpp5/qySefVHZ2tlauXKmJEycqKytL5513XrC/3H7S0xOP/pOkZUiSos1qRWcE4fOFqAHZmfrvoh1ak1+pjAh+n40lGL02pu91un367fpky4e6eeANinPHBaEyRJqg3NeAw0CvwSr0GqxCryHcBT2sP/744xozZoxGjRolScrJyVFubq5eeuklnXfeecrMzJQkFRQUKCtr74huQUGBunbtKknKyMhQYeH+U4O9Xq9KSkoCH38gBQVlOtr90qJqXEqS5KksUUl+5J5D3jExSpK0eFuxdu4qkcvJKX6HwzDqbvzB6LVecQPUJr6ttlZs0b8XvqmLOl4WnCIREYLZa8CvoddgFXoNVqHXYJX6XmssQQ/r1dXVMn42H8DpdAaObmvdurUyMzM1a9YsdevWTZJUXl6uxYsX69JLL5VUt+69tLRUy5YtU48ePSRJs2fPlt/vV69evQ76tU1TR31B+t11a7mN2vKIvrjbpMYqKcal0mqvVu+u0DHN+c1jQwSj1xxy6pKOV+hvSx/Re+vf0TltL1C0Mzo4BSJiBKPXgMNBr8Eq9BqsQq8h3AV9OPXEE0/Uiy++qOnTp2vbtm36+uuv9dprr+nkk0+WJBmGoSuvvFIvvPCCpk6dqtWrV2vs2LHKysoKvKZTp04aNmyY7r33Xi1ZskQLFizQgw8+qFGjRqlZs2bBLnk/ezeYi+yN1xyGoR4t6gL60txSm6tpuk5pdbqaxTZXUW2hJm/9n93lAAAAAAgRQQ/r99xzj0477TRNmDBBZ555ph577DFdfPHFuvXWWwOvue6663TFFVfovvvu04UXXqjKykq98sorio7eO6r4xBNPqGPHjrrqqqs0ZswY9evXTw888ECwy/2FvUe3Re5u8PV6tkiSJC0hrNvG5XDpsk5XSpLe2/CWan21NlcEAAAAIBQYphk5k0Py849+XYpRsVsZ/+4nU4byb9wS0dtIztlcpJvfX6oWSdH633WD7C4nLBiGlJGRGJReq1frq9XvZlykvOrduq37XTqnXeNuxIjw0Bi9BhwIvQar0GuwCr0Gq9T3WmNhV7GfCYysy5Q8lTZX07i6N0+UIWlHaY3yy2vsLqfJinJG6ZKOdeeuv7P+DXn8HpsrAgAAAGA3wvrPuWJlGnXfFocnstetJ0S71CmjbkO9JTsid+f7cHBmm7OVFp2u3dW79PX2L+wuBwAAAIDNCOs/Zxgy63eEbwrr1luyyVwoiHZG6+KOl0uS3l7/unx+r80VAQAAALATYf0AAlPhI3xHeEnq1bJukznCuv3ObnuuUqJStKMyV1Nzv7a7HAAAAAA2IqwfwN7j2yJ/anj9jvArd5XJ4/PbXE3TFuOM0UUdLpMkvbXu3/KZPpsrAgAAAGAXwvoBNKVp8G1TY5Uc41Ktz9Sa3ZE/kyDU/abd+UpyJ2tb5VZN3f6V3eUAAAAAsAlh/QDMqLp13E1hGrxhGOq5Zyo8m8zZL9YVp0v2rF1/fe2r8rJ2HQAAAGiSCOsHYEY1nZF1ae9UeNath4bftLtAqVFp2lGVqy+2fWZ3OQAAAABsQFg/gKa0Zl1iR/hQE+uK1eXZV0qS3lz3b9X6amyuCAAAAIDVCOsH0NRG1rs3T5LDkHaW1Wh3GcEwFJzV5jfKjMlSXvVufbb1E7vLAQAAAGAxwvoBmO6ms2ZdkuKinOqUUfcLiqU7GF0PBVHOaP0u+xpJ0tvrXleVt8rmigAAAABYibB+AP4mdM56vfrz1pcwFT5knN56lFrEtVRRbZE+3vy+3eUAAAAAsBBh/QDqj25zeJpOWN+7yVzTWKcfDlwOl67qPFqS9N6Gt1TehPoRAAAAaOoI6wdg1o+sN6FwVH9826rdZar1+m2uBvVOanmq2sa3U5mnTO9vfM/ucgAAAABYhLB+AIGwXts0NpiTpDYpMUqJdcvjM7V6d9P5JUWocxpOXd3lOknSfze+p6KaQpsrAgAAAGAFwvoBNLWj2yTJMAz13jO6vmh7ic3VYF8nNB+hnOSuqvJV6o11r9ldDgAAAAALENYPoH7NelM5uq1evzbJkqQFWwnrocRhODSm602SpM+2fKztFdtsrggAAABAYyOsH4DZBHeDl6Rj26RIqhtZ9/pNe4vBfvqmH6uBmYPlM316dc1LdpcDAAAAoJER1g9g7wZzFZLZdEJrdka8EqNdqqj1sW49BF2Xc4MMGZq+Y6pWFa+wuxwAAAAAjYiwfgCBNet+j+Srsbka6zgdhvq2rpsK/9PWYnuLwS90SsrWqa3OkCT9c9XzMpvQL5IAAACApoawfgD1a9alprdu/VjWrYe0q7v8Xm5HlBYV/qQ5ebPsLgcAAABAIyGsH4jDKdMVJ6kJrltvnSKJdeuhqllsc53f/reSpJdXPS+f6bO5IgAAAACNgbB+EP591603IdmZrFsPdZd1+p0S3YnaWL5BX2373O5yAAAAADQCwvpB1E+FdzShs9Yl1q2Hg0R3ki7vdJUk6dU1L6nS27R+oQQAAAA0BYT1g2iqx7dJrFsPB+e1/61axbVWYU2B3l3/pt3lAAAAAAgywvpBmE10GrzEuvVw4Ha4dX23myVJkza+p52VO2yuCAAAAEAwEdYPInB8m6fpjayzbj08DMkapr7px8rjr9U/Vz9vdzkAAAAAgoiwfhD1a9ab4jR41q2HB8MwdGO3W+WQQ9N3TNXSwsV2lwQAAAAgSAjrB9GU16xLrFsPF52SsnVmm7MlSc+teFp+029zRQAAAACCgbB+EE15zbrEuvVwck2X6xTnitOa0lX6evsXdpcDAAAAIAgI6wcRWLPexI5uq8e69fCRGp2mK7KvkSS9svpFjnIDAAAAIgBh/SCa+sg669bDy/ntfquWca1UUJOvN9f92+5yAAAAABwlwvpBNOUN5uqxbj18RDmjdPMxt0mS3t/4njaXb7K1HgAAAABHh7B+EP6oRElNPKzvu27dx8Zloe64rOM1JGuofKZPzyx/UqbJXgMAAABAuCKsH4QZkypJclQX2VyJfbIz45UcU7dufemOprl2P9zcdMxtinJEaWHBAs3YOc3ucgAAAAAcIcL6Qfhj0yRJjuoCmyuxj9NhaFC7ul9azN5UaHM1OBwt4lrq0k6/kyQ9v/IZVXkrba4IAAAAwJEgrB+EGVMX1o3qIqkJn109uENdWJ+1qenOMAg3l3S8Qi1iWyq/Oo/N5gAAAIAwRVg/CH99WDf9Mmqa7gZrx+0ZWV+1q1zFlR6bq8HhiHZG66Y9m839d+O72sJmcwAAAEDYIawfjNMtf1SSJMlR1XSngGckRKtzZrxMSXM2M7oeLoY0G6rjMofIZ/r0NJvNAQAAAGGHsP4r6tetG1VNd926tHd0fRZhPazsu9nc17lf2F0OAAAAgAYgrP+K+nXrjuqmO7IuSce1r99krogR2jDSKr61rsy+VpL0wsp/qKS26S7nAAAAAMINYf1X+GPTJUmOJj6y3qdVsmJcDhVU1GptXoXd5aABLup4mTokdFRJbbFeWvWs3eUAAAAAOEyE9V/h33dH+CYsyuVQ/7YpkupG1xE+XA6X/tTzbknSF9sma1HBTzZXBAAAAOBwENZ/hVl/1noTH1mXWLceznqk9tTZbc+TJP3fssdV66u1uSIAAAAAh0JY/xV+1qwH1K9bX7y9RFUen83VoKGuy7leadHp2lqxRe9ueNPucgAAAAAcAmH9V7Bmfa+2qbFqmRQtj8/Ugq3FdpeDBkpwJ+rmPWevv7P+Dc5eBwAAAEIcYf1X1E+Db+pr1iXJMAwN7lD3/WDdenga3nykBmUOlsfv0d+WTpTPZIYEAAAAEKoI678iMA2ekXVJ+6xbJ6yHJcMwdFuPuxTnitPyoqX6ZPMHdpcEAAAA4CAI67/CH9hgjjXrktS/bYqcDkNbiqq0vaTK7nJwBJrFNtcfut4sSXpl9YvKrdxuc0UAAAAADoSw/ivMPWvWDW+l5CWcJkS71KtFoiSmwoezUW3OUZ/0fqr2VeuJpRPlN/12lwQAAADgZwjrv8J0J8h0uCVJjirCqaTAuvUfNjDbIFw5DIfu6PFnxThjtKjgJ03e+j+7SwIAAADwM4T1X2MYe6fCV7NuXZKGdaybbTB3SzFHuIWxVvGtNbrLHyRJL616VruqdtpcEQAAAIB9EdYPwdyzyZzBunVJUqeMOLVMilaN1685TIUPa+e2v1DdU3uq0lupvy99TKZp2l0SAAAAgD0I64fAWev7MwxDJ2RnSJK+W8/3JJw5Dafu6vkXuR1Rmpc/h+nwAAAAQAghrB9C4Pi2akbW6w3vVPcLjO83FMrnZzQ2nLVNaK/RXcZIkp5f+Qy7wwMAAAAhgrB+CGYs0+B/rk+rJCXFuFRU5dHS3FK7y8FRuqDDxeqV1kfVvio9tvgh+Uz2IgAAAADsRlg/BEbWf8nldGjInl3hZzAVPuw5Dafu7nWPYp1xWlq0WO9v/I/dJQEAAABNHmH9EFizfmD1U+G/W1/AxmQRoEVcS914zC2SpH+teUkby9bbXBEAAADQtBHWDyGwGzwj6/sZ3CFVbqehLUVV2lRYZXc5CIIzW5+t4zKHyOP3aOLiB+Txe+wuCQAAAGiyCOuHEDhnnTXr+4mPcql/mxRJ0ox1+fYWg6AwDEN39PyzktxJWle6Vm+sfdXukgAAAIAmi7B+CIGwzsj6L5ywz1R4RIb0mAzd1mOsJOmd9W9qceFCmysCAAAAmibC+iH4Y+oCqVFdJJl+m6sJLfVhfdmOMuVX1NpcDYJlRIuROq3VmTJlauKiB1TmYcd/AAAAwGqE9UMwY1IlSYbpl1FTYnM1oSUrMVrdmiXIlPQ9o+sR5Y/d/6RWca21u3qXnlz6GJsIAgAAABYjrB+K0y1/dLIk1q0fyPDsutF1jnCLLHGueP21z3g5Dae+2/mtvtg22e6SAAAAgCaFsH4Y/PWj6xzf9gvDO2VIkuZtKVaVx2dzNQimrinH6Jou10mS/rHi/7S1fIvNFQEAAABNB2H9MJj1Z62zydwvdMqIU8vkGNV4/fpxI9+fSHNxx8vVJ72fqn1VenjReI5zAwAAACxCWD8M/pj649sYWf85wzA0snPd6Po3q/NsrgbB5jSc+kuv+5ToTtSa0lV6ZfULdpcEAAAANAmE9cNQf3ybUV1kcyWh6ZScTEnSzA2FqqxlKnykyYzN0l09x0mS/rvxPf2wa6bNFQEAAACRj7B+GExG1n9Vt2YJarVnKvz3G/geRaKhzYfrgvYXS5IeX/KQdlbtsLkiAAAAILIR1g+DnzXrv8owjMDo+tdMhY9YY7reqJzkbirzlOmhhffJ6/faXRIAAAAQsQjrh4E164d28p6w/uPGQpXXEOIikdvh1n19H1SCK1EripfrldUv2l0SAAAAELEI64ehfjd41qwfXJfMeLVNjVWtz9R3nLkesVrEtdTYXnXr1ydtfEezdv1gc0UAAABAZCKsH4b6c9YZWT84psI3HUObD9f57S+SJD265AHtrGT9OgAAABBshPXDEFizXsWa9V9TH9ZnbypSaTXncUeyP3S9SV2Tj1GZp0z3/zROtb4au0sCAAAAIgph/TCY9Ue3eSslb5XN1YSuThnx6pgeJ6/f1Ix1zEKIZG6HW/f3e0jJUSlaW7pazyz/u90lAQAAABGFsH4YTHeCTEeUJMlRxbr1X8NU+KajWWxz3dvnATnk0JRtn2ry1v/ZXRIAAAAQMQjrh8Mw5I/ds269mhHjX1O/K/zcLcUqrmIqfKTrl9Ff13YZI0l6ZvmTWlW8wuaKAAAAgMhAWD9MZsyeHeFZt/6r2qfFqXNmvHx+U9+uzbe7HFjgkk5X6Phmw+TxezT+p7+qpLbY7pIAAACAsEdYP0z+WM5aP1xMhW9aHIZDd/e6V63iWmt39S49uPA++fxeu8sCAAAAwhph/TAFdoSvZmT9UOrD+oKtxcorZ5fwpiDBnaAJ/SYqxhmrnwrm68VVz9ldEgAAABDWCOuHydxz1jrT4A+tdUqserdMkt+UPl+x2+5yYJGOSZ305173SJI+2PQffbFtss0VAQAAAOGLsH6YGFlvmFHdm0mSPluxS6Zp2lwNrHJCixN1Zfa1kqT/W/a4VhQts7kiAAAAIDw1SljftWuX7rzzTg0aNEi9evXS2WefraVLlwaeN01TTz/9tIYOHapevXrp6quv1qZNm/b7HMXFxbrjjjvUr18/9e/fX+PGjVNFRUVjlHtY/DGsWW+IU3IyFe1yaGNBpVbsKre7HFjoys7X6vhmJ8jj9+j+n8Ypv5q9CwAAAICGCnpYLykp0aWXXiq3262XX35ZkydP1t13363k5OTAa15++WW9+eabGj9+vCZNmqTY2FiNHj1aNTV71zffeeedWrdunV577TW9+OKLmj9/vu67775gl3vY6kfWDUbWD0tCtEsjsuu+Z5OX77K5GljJYTj0l973qn1CBxXU5Ou+BX9RrY+9CwAAAICGCHpYf/nll9W8eXNNnDhRvXr1Ups2bTR06FC1bdtWUt2o+htvvKEbbrhBJ598srp27arHH39cu3fv1jfffCNJWr9+vWbOnKmHHnpIvXv3Vv/+/XXPPfdo8uTJ2rXLnuBXv2bdwZr1w1Y/Ff6rVbtV6/XbXA2sFOeK10P9H1eSO0mrSlbo8SWPsBwCAAAAaABXsD/htGnTNHToUN1yyy2aN2+emjVrpssuu0wXXXSRJGnbtm3Ky8vTkCFDAh+TmJio3r17a+HChRo1apQWLlyopKQk9ezZM/CaIUOGyOFwaMmSJTrllFMO+LUNI9jvZi8zbu+a9cb8OpFkULtUZSZEKa+8Vj9sLNTILhl2l3TU6v/b0wOH1iq+le7v95DGzv2Tpu34Wm0S2ujqLr+3u6ywQa/BKvQarEKvwSr0GqzS2D0W9LC+detWvfvuu7rmmmt0/fXXa+nSpXrooYfkdrt13nnnKS+vbv1qenr6fh+Xnp6u/Px8SVJ+fr7S0tL2L9TlUnJycuDjDyQ9PTHI72Yf0XUzAxzVRcpIi5cc7M13OM4/trVemrFBX60t0EVDOthdTtA0aq9FkFMzTlSZ416NnzVer6/9l7o176JRHUfZXVZYoddgFXoNVqHXYBV6DeEu6GHdNE316NFDt99+uyTpmGOO0dq1a/Xee+/pvPPOC/aX209BQZkabaatz60MSTL9Kti+TWZsaiN9ochyUodUvTRD+nb1bq3dUqDUuCi7SzoqhlF342/UXosww9NO1cUd1+g/G97RvT/cp3hvqnqk9Tz0BzZx9BqsQq/BKvQarEKvwSr1vdZYgh7WMzMz1alTp/0e69ixo7788svA85JUUFCgrKyswGsKCgrUtWtXSVJGRoYKC/dfG+71elVSUhL4+AMxTTXeBelwyx+dLEdNiYyqAvljCOuHo0N6vI5pnqgVO8v0+co8Xdqvld0lBUWj9loE+n3ODdpWsVU/7JqpexfcreeGvKIWcS3tLiss0GuwCr0Gq9BrsAq9hnAX9Lnc/fr108aNG/d7bNOmTWrVqi6ktW7dWpmZmZo1a1bg+fLyci1evFh9+/aVJPXt21elpaVatmzvGc2zZ8+W3+9Xr169gl3yYas/vs1gk7kGGXXMnjPXl+20uRLYxWk4Na73eGUndVFxbbHGzb9LZZ5Su8sCAAAAQlbQw/pVV12lxYsX68UXX9TmzZv16aefatKkSbrsssskSYZh6Morr9QLL7ygqVOnavXq1Ro7dqyysrJ08sknS5I6deqkYcOG6d5779WSJUu0YMECPfjggxo1apSaNWsW7JIPmxm756z1as5ab4hTu2bK5TC0Jq9Ca/M4c72pinXF6uH+f1N6dIY2l2/cc6Rbrd1lAQAAACEp6GG9V69eevbZZzV58mSdddZZev755zVu3Didc845gddcd911uuKKK3TffffpwgsvVGVlpV555RVFR0cHXvPEE0+oY8eOuuqqqzRmzBj169dPDzzwQLDLbRB/zJ4d4asI6w2REuvWsE5137tPl3HmelOWGZOpRwc8qThXnBYXLtRjSx6S3+RYPwAAAODnDDOCDj/Oz2/cTSQSpv9ZscvfUkX/21Q56M7G+0IR6IcNhbrto2VKjnHpszGDFON22l3SETEMKSMjsdF7LdLNz5urv8y/Qz7Tp0s6Xq4xXW+yu6SQQ6/BKvQarEKvwSr0GqxS32uNhfPHGsCfULfu3lG+w+ZKws9x7VPVIilaJdVeTVubb3c5sFn/zIG6q+c4SdJ7G97Wx5s+sLkiAAAAILQQ1hvAl9hCkuQs325zJeHH6TB0Xq+6798Hi/llB6RTW5+ha7pcJ0n6x4q/6/udM2yuCAAAAAgdhPUG8CfUHTXlKM+1uZLwdHaP5nI6DC3JLWWjOUiSruh0tUa1OUemTD246H4tLlxod0kAAABASCCsN4BvzzR4Z3kuhzYegYz4KJ2YXbfR3IeMrkN1p0Pc1v1ODckaKo+/VvfMH6v1pWvtLgsAAACwHWG9AfwJzSVJhrdaRnWRzdWEp/N7102F/3zlblXW+myuBqHA6XDp3r4PqldaH1V4KzR27p+UW8lSEwAAADRthPWGcEbLH5tZ90emwh+R/m1S1DY1VhW1Pn25arfd5SBERDuj9dCxj6tTYmcV1Rbqrrm3qrCGIxIBAADQdBHWG8iXyLr1o2EYhs7fZ6O5CDo5EEcpwZ2gxwb+XS3iWmpHZa7unnu7yj1ldpcFAAAA2IKw3kBsMnf0RnVvpiinodW7y7ViFxvNYa+06HQ9PuAppUalaX3ZWv1l/p2q8lbaXRYAAABgOcJ6A/n2hHVnGWtqj1RKrFsn59QtJ/hwMb/0wP5axbfW4wOfUoIrUcuLluqeBXer1ldjd1kAAACApQjrDcTIenDUT4X/clWeSqs9NleDUNMpKVuPDfy7Yp1xWliwQOMX3iOv32t3WQAAAIBlCOsNVB/WneUcPXY0erVMUnZGvGq8fn2ydKfd5SAEdUvprkf6/01RjijN3v2DHlk8QT6TEwQAAADQNBDWGyiwwRzT4I+KYRi6pF/d93LSwlx5/Ww0h1/qnd5XE/pNlMtwafqOqXpiyUT5Tb/dZQEAAACNjrDeQIFp8BU7JT+jfEfj9G7NlBrr1s6yGn27Nt/uchCiBmUN1j19Jsghh77cPkX/t+xxAjsAAAAiHmG9gfxxWTIdLhmmT45Kzgk/GtEuhy7oXbd2/d0F22yuBqHshBYn6i+975NDDk3e+j89vfxJjv0DAABARCOsN5TDKX9887o/ssncUbuwT0u5nYaW7ijTktxSu8tBCDup1aka2/uvMmTo0y0f6RkCOwAAACIYYf0IBDaZKyOsH630+Cid3jVLEqPrOLRTW52hu3qNkyFDn2z5UM+tfIrADgAAgIhEWD8CvoS6qduMrAfHZce2liRNW5uvHaXVNleDUHd661G6s+dfJEkfbvqvnlv5NIEdAAAAEYewfgT2nrXOjvDBkJ0ZrwFtU+Q3pf/8xC9AcGhntDlLt/e4W5L04aZJenr5E2w6BwAAgIhCWD8CvsRWkiQnI+tBc9mxdd/Tj5fuUEWt1+ZqEA7Oavsb3dWzbkr8/7Z8pL8ve4zADgAAgIhBWD8Ce0fWd9hcSeQY0iFN7VJjVVHr06fLdtldDsLEGW3O0t2975FDDk3Z+qn+tuQR+UyOVAQAAED4I6wfATaYCz6HYeiSfnWj6+/+tF1eP2uQcXhObXWGxvW5Xw7DqS+3T9Gjix+Uz8/sDAAAAIQ3wvoRqJ8G76jKk3w1NlcTOc7q3kwpsW7lllTr69WcYY/DN7LlKbqvzwNyGk5Nzf1K9/80TjVcmwAAAAhjhPUjYEanyHTFSGIqfDDFuJ2BteuvzdkqPzt8owFOaHGiHuj3qKIcUfpx9/f687zbVe4pt7ssAAAA4IgQ1o+EYchXPxWeTeaC6sLeLRUf5dTGgkrNWFdgdzkIM4ObHa/HBvyf4l3xWly4ULfPuVlFNYV2lwUAAAA0GGH9CAU2mWPdelAlxrh0Ud+67+1rc7ZwfjYarHd6X/190LNKiUrRutI1unX2jdpZxQwYAAAAhBfC+hHyJXB8W2O5tF8rRbscWrmrXHM2F9ldDsJQ5+QcPX3ci8qKaaZtFVt066wbtLl8k91lAQAAAIeNsH6E/AktJEkOwnrQpcZF6bxedd/ff83ZanM1CFdtEtrqH4NfUruE9sqr3q1bZ92gVcUr7C4LAAAAOCyE9SPkT6yfBr/d5koi0xX9W8vlMLRwW4kWbSuxuxyEqczYLD113PPKSe6mUk+J7phzi37Kn293WQAAAMAhEdaPEBvMNa5midE6q3szSdK/5myxuRqEs+SoFD056Bn1S++vKl+l/jL/Ds3cOcPusgAAAIBfRVg/Qv49a9Y5uq3xXDWwjRyGNGtTkVbtKrO7HISxOFe8Hun/hE5oPkIev0cTfvqrPtvyid1lAQAAAAdFWD9C9SPrjtpSGbUEycbQOiVWp+RkSpJensXoOo5OlDNK9/Z9UGe2OVt++fX3ZY/p5VUvyG/67S4NAAAA+AXC+pGKipc/OlkSx7c1pt8f104OQ/pufYGW7yi1uxyEOafh1B09/qyrOo+WJL274U09tOh+1fpqbK4MAAAA2B9h/SgEzlpn3XqjaZ8epzOOqVu7/sIPm+wtBhHBMAxd1Xm0/tz7XrkMl6bvmKo75t6i4hqOCQQAAEDoIKwfBTaZs8bvj2srp8PQnM3FWrC12O5yECFObXWGHh/4lBJciVpetFQ3zxqjreUstwAAAEBoIKwfBUbWrdE6JVbn9mwuSXrxh00yTdPmihAp+qT307NDXlKL2JbKrdyuP84aoyWFi+wuCwAAACCsHw0/I+uWuXZQW0W7HFq0vVSzNzNdGcHTNqG9nh3yT3VL6a5ST6numnurpm7/yu6yAAAA0MQR1o+CL3HPyDobzDW6rMRoXdC7hSTphe8ZXUdwpUan6e+Dng0c7fbw4vF6c91r9BkAAABsQ1g/CnunwW+3uZKm4aqBbRTrdmjlrnJNX1dgdzmIMNHOaN3X9yFd1OEySdJra17W40seZqd4AAAA2IKwfhT2bjC3Q2IErtGlxUXp0n6tJNWtXff5+Z4juByGQ9d3u1m3db9LDjn05fYp+tOcm5VfnWd3aQAAAGhiCOtHwZ/QQqYMGb4aGZX8MG+FK/q3UWK0SxsKKvX5yl12l4MIdU678/TYwP9TojtRK4uX6/ofrtXyoqV2lwUAAIAmhLB+NJxR8ie1kSS5SjbYXEzTkBjj0tUD677nL3y/SdUen80VIVIdmzFALxz/L3VI6KjCmgLdPudmTdn6qd1lAQAAoIkgrB8lb0onSZKzaJ3NlTQdF/drpZZJ0dpdXqu35m+zuxxEsJZxrfTskH8GNp57YulEPb3sCXn9XrtLAwAAQIQjrB8lX2p9WF9vcyVNR7TLoZuGdZAkvTFvq/LL2QAMjSfWFaf7+z6sa7uMkSFDn2z5UHfOvUVFNYV2lwYAAIAIRlg/Sr6UbEmSs5iwbqVTcjLVs0Wiqjx+vfjjZrvLQYQzDENXZF+tB499THGuOC0pXKQbfhitNSWr7S4NAAAAEYqwfpR8qR0lSS5G1i1lGIZuHV73vf902U6ty6uwuSI0BUOaDdXzQ15R6/i22l29S7fM+oO+2f6l3WUBAAAgAhHWj5J3z8i6o2yr5K22uZqmpXerZJ3cJUN+U3pqxnqZHJ8HC7RNaK/nh7ysQZmDVeuv1SOLJ+jp5U+q1ldrd2kAAACIIIT1o2TGZcoflSTD9MtZssnucpqcm4Z1kNtpaM7mYv24qcjuctBEJLgT9VD/x3V5p6skSZ9s/kC3zLpeOypzba4MAAAAkYKwfrQMQ76UuunY7AhvvdYpsbqoTytJ0tPTN8jr89tcEZoKp+HU6Jw/6JH+TyjJnaQ1pas05vur9f3OGXaXBgAAgAhAWA8CX2rdVHhXMWet2+Ha49ooJdatjYWVem8hI5uw1nFZQ/TPoa/rmJQeqvCW676f/qIXVj7D8W4AAAA4KoT1IPDuCeuMrNsjKcatP+45yu3lHzdrdxlHucFaWbHN9NRxz+u3HS6VJP1343u6bfYN2lW10+bKAAAAEK4I60EQmAbP8W22OatHM/VskahKj09Pz2CGA6zncrh0Q7c/6oF+ExXvStCK4uX6w/dXa/buH+0uDQAAAGGIsB4EvsDI+nqJHclt4TAMjT0pWw5D+mp1nuZvKba7JDRRQ5sP10tDX1OXpK4q9ZRq3Pw79fKqF+RjWjwAAAAagLAeBL7kdjINhxyecjkqd9ldTpPVtVmiLujdUpL0+NR1bDYH27SMa6VnBr+o37S7QJL07oY3devsG5Vbud3mygAAABAuCOvB4IyWL6lt3R+LmApvp+uPb6fUPZvNvfsTwQj2iXJG6dbud+i+vg8q3hWvFcXLNOb7q/TVts9lMgMHAAAAh0BYD5LAVHjWrdsqKcatP56wZ7O5WZu1i83mYLMRLU7Sy0PfUI/UXqr0VurRJQ/qoUX3qcxTandpAAAACGGE9SDxpXSSxMh6KBjVvZl6tkhSlcevJ6axQz/s1zyuhf5v0LO6pst1chhOfbtjqq6beZUWFyy0uzQAAACEKMJ6kPhS68K6q5hwaDeHYegvp2TL6TA0fV2Bpq3Nt7skQE6HS7/Lvkb/GPyiWsa10u7qXbp9zs16dfWLnMkOAACAXyCsB4k3ZZ8d4WG7zpkJumpAa0l1m82VVntsrgio0y2lu/459N86vfUomTL19vo39MdZY7StYqvdpQEAACCEENaDpH5k3VG2XfJU2VwNJOna49qpXWqsCipq9cx3G+0uBwiIc8VrbK+/6v6+DynRnajVJas05vur9NmWT9h8DgAAAJII60FjxqTJH50iQ6acJQTDUBDtcuieU7tIkj5ZupOz1xFyhrcYqVeGvqk+6f1U7avW35c9pj/Pu127qzgCEgAAoKkjrAeLYexdt85U+JDRp3WyLujdQpL08NdrVO3x2VwRsL/M2Cw9MfAZXd/1ZkU5ojQvf45Gz7xCk7d8yig7AABAE0ZYD6LAunU2mQspNw/roKyEKG0rrtbLszbbXQ7wCw7DoYs6XqZ/Dn1dx6R0V4W3Qk8snagbpt6gvKrddpcHAAAAGxDWg6h+ZN1ZRFgPJQnRLv355M6SpLfnb9PyHZxvjdDUNqGdnh78ov7Q9Wa5HVH6YfsPuua7y/X51s8YZQcAAGhiCOtBFDhrvXiDzZXg54Z1StdpXTPlM6X7P1/NdHiELKfh1MUdL9Mrw/6tXhm9VOGt0N+WPqK/zL+TUXYAAIAmhLAeRL7UumnwrqL1EqNgIWfsSdnKTIjS5qIqPTuTTQAR2tomtNcbZ7yhMV1vlNsRpbl5s3TtzCsYZQcAAGgiCOtB5EtqK9PhkuGtlKNih93l4GeSYty677S63eH/szBXczYX2VwR8OucDqcu7XSF/jn03+qafIwqvOX629JHdNfcW7W9Ypvd5QEAAKAREdaDyemWL6ld3R/ZET4kHdc+TRfu2R3+gS9Wq6zaa3NFwKG1S2ivfwx+UWNyblSUI0o/FczX6JlX6O11r8vj99hdHgAAABoBYT3I6qfCs8lc6LpleEe1TY3V7vJa/W0a/50QHpwOly7pdIVeHfaWjs0YoFp/rV5d85L+8P3VWla01O7yAAAAEGSE9SDzpXSUJLmKGVkPVbFup8afniOHIX2+cremrsmzuyTgsLWKb63HBzylv/S+T8lRKdpUvlG3zrpeTy37m8o95XaXBwAAgCAhrAeZt35kvXCNzZXg1/RsmaSrB7aRJD3y9VrtLK22uSLg8BmGoVNana5/n/CuTm89SqZM/W/LR7rmu8v03Y5v2YAOAAAgAhDWg8yX0V2S5Mpfzo7wIe73g9vpmOaJKq326p7Jq+T1898L4SU5Kllje/1VTw76h1rHtVFBTb7GL/yr7llwt3ZWscklAABAOCOsB5k3rYtMZ7QcNSVylG62uxz8CrfToYdHdVV8lFOLc0v18iz+eyE89U0/Vq8Me0O/y75GLsOlWbu/1zUzLtOba19Tra/G7vIAAABwBAjrweaMkje9myTJvXuJzcXgUFqnxGrcKZ0lSa/N3qJ5WzjODeEpyhmta7pcp38OfV290/qqxl+j19a+rGtmXq5Zu36wuzwAAAA0EGG9EXizekmSXHmE9XBwatcs/aZnc5mS7p2yWoWVtXaXBByx9okd9PdBz+qePhOUHp2hHZW5+uuCuzRu3p2czQ4AABBGCOuNwJu5J6wzsh427jyxkzqkxamgolbjP18tP/sNIIwZhqGRLU/RG8Pf0yUdL5fLcGl23o+6dubl+teaf6rax4aKAAAAoY6w3gg8gZH1ZZLpt7kaHI4Yt1OPnN1N0S6HZm0q0htzt9pdEnDUYl1xGtP1Jr0y7A0dmzFAHr9Hb637t66ecam+2zmdXeMBAABCGGG9EfhSO9dtMldbKmfJJrvLwWHKzojXHSd2kiS98MMmzd3M+nVEhrYJ7fX4gKc0vt8jyopppt3VuzT+p3G6a+6tWl+6zu7yAAAAcACE9cbgdMubcYwkyZW31OZi0BDn9myus7o3k9+U/jp5FeevI2IYhqETmo/Qv4e/q99lXyO3I0o/FczXmO+v0hNLJ6qwpsDuEgEAALAPwnojCWwyx7r1sGIYhu4+KVs5WQkqrvLo7k9XqtbLUgZEjhhnjK7pcp3+fcI7GtHiJJkyNWXrp7pi+kV6a92/VcNRbwAAACGBsN5IPJnsCB+uYtxOPXZONyXFuLRiZ5me/Ha93SUBQdcirqXu6/ugnhn8krqldFe1r0r/WvNPXTXjEn29/Qv52W8DAADAVoT1RrJ3ZH0pm8yFoVbJsXrwzK4yJH24ZIf+t2yn3SUBjaJHak89O/ifuqfPhMB69omLH9BNP/5eSwoX2V0eAABAk9XoYf2f//yncnJy9PDDDwceq6mp0YQJEzRo0CD17dtXf/zjH5Wfn7/fx+Xm5mrMmDHq3bu3Bg8erMcee0xer7exyw0aX2pnma4YOTzlchZvtLscHIEhHdI0Zkg7SdJj36zV8h2lNlcENI76o95eH/6efp9zveJccVpdskq3zb5R9y8Ypy3lm+0uEQAAoMlp1LC+ZMkSvffee8rJydnv8UceeUTffvutnnrqKb355pvavXu3br755sDzPp9Pf/jDH+TxePTee+/p0Ucf1UcffaRnnnmmMcsNLodL3ozukpgKH86uPa6tTuiUrlqfqTs+WaFdZaznReSKdkbrsk5X6o3hk3RWm9/IIYdm7pqua2deoSeXPqq86jy7SwQAAGgyGi2sV1RU6K677tJDDz2k5OTkwONlZWX64IMP9Oc//1mDBw9Wjx499Mgjj2jhwoVatGiRJOn777/XunXr9Le//U3dunXT8OHDdeutt+rtt99WbW1tY5UcdN7MnpLYZC6cOQxDD5yZo04ZcSqoqNXtHy1XZW34zPAAjkRadJpu73m3Xh72ugZnDZXf9Gny1v/pd9N/q3+uek5lHmaZAAAANDZXY33iBx54QMOHD9eQIUP0wgsvBB5ftmyZPB6PhgwZEnisU6dOatmypRYtWqQ+ffpo0aJF6tKlizIyMgKvGTp0qMaPH69169bpmGOOOeDXNIzGejdHxpvVW5LkzlsScrXh8CVEu/R/5/XQVW8t1Ord5bpj0mI9cHpnGfxHRSOqby8726xjUic9MuBxLS1copdXvaClRYv13oa39dmW/+nSTpfr/A4XKcYZY1+BCIpQ6DU0DfQarEKvwSqN3WONEtYnT56sFStW6P333//Fc/n5+XK73UpKStrv8fT0dOXl5QVes29QlxT4e/1rDiQ9PfFoSw+uLsdJUyV3/nJlpMVLDvbzC1cZGYn651X9ddnLs/X5sp3qnJWg20/NOfQHAkcpFO5rJ2YcrxGdh+i7bd/pqZ+e0rridXp59Yv6eMsHur739Tqv83lyO9x2l4mjFAq9hqaBXoNV6DWEu6CH9R07dujhhx/Wv/71L0VHRwf70/+qgoIymaalX/LXGS2U7oqVUVuuovWL5UvNtrsiHIUOCW6NO7WzJny+Rs9MW6esWJdO75Zld1mIUIZR90NGKN3Xusf204tDXtPU7V/ptTWvaGfVDj04+0G9tvTfuqrzaJ3Y8iQ5DafdZaKBQrHXEJnoNViFXoNV6nutsQQ9rC9fvlwFBQU6//zzA4/5fD7NmzdPb7/9tl599VV5PB6VlpbuN7peUFCgzMxMSXWj6EuW7L/Ou363+PrXHIhpKrQuSKNukzn3zvly7losbwphPdyd3b25dlZ49dJ3GzThi9XKTIhSv9YpdpeFCBZq9zWHnDql1Rka3vwkfbb1E7217jVtq9iqhxeN11vr/q0rs6/V8BYj5TCYSRRuQq3XELnoNViFXkO4C/pPU8cdd5w+/fRTffzxx4H/9ejRQ2effXbgz263W7NmzQp8zIYNG5Sbm6s+ffpIkvr06aM1a9aooKAg8Joff/xRCQkJys4Or8DrqT9vPW+pzZUgWMae3lUndk6Xx2fqzo9XaENBhd0lAZaLckbp/Pa/1Vsj/qvRXf6gRHeiNpdv0oOL7tN1M6/UjB3T5Df9dpcJAAAQtoIe1hMSEtSlS5f9/hcXF6eUlBR16dJFiYmJuuCCC/Too49q9uzZWrZsmcaNG6e+ffsGwvrQoUOVnZ2tsWPHatWqVZo5c6aeeuopXX755YqKigp2yY3Km1kX1t3sCB8xnA5DD57ZVb1aJqmsxqtbP1imvHKOdEPTFOeK1+XZV+ntER/oms7XKcGVqI3lGzRh4T0a8/3VmrlzhkyGNQAAABrMlnmK48aN04gRI3TLLbfoiiuuUEZGhv7xj38Ennc6nXrxxRflcDh08cUX66677tK5556rW265xY5yj4o3MLK+TPL7bK4GwRLjdurJc7urbWqsdpbV6NYPl6m8hiPd0HQluBP0u87X6J0T39eV2dcq3hWvDWXrdP9Pf9EffrhaP+z6jtAOAADQAIYZQT895eeH4CYSfp8yXu4mw1upwkunyZfWxe6KcBQMo25n+Ppe215SpWvfWaTCSo8Gtk3RU+f3kNvJWl0cvZ/3Wrgp85Tqvxvf04ebJqnSWylJyk7qrMs6XaVhzYezEV0ICfdeQ/ig12AVeg1Wqe+1xkKqaGwOp7yZPSRJrl2L7K0FQdcqOVb/d14PxbodmrulWOM/Xy2fn38VgER3kq7tMkZvj/hAl3e6UrHOOK0rXasHFt6j0d9doS+3TZHXz2wUAACAgyGsW8DTor8kKSp3ts2VoDEc0zxRj559jJwOQ1+tztPjU9cx3RfYIzkqWaNzrtc7J36gK7OvVaI7UVsqNuuxJQ/pyhkX65PNH6rWx54PAAAAP0dYt0BtqyGSJPf2H22uBI1lSIc0PXBGjgxJHy7Zoee+32R3SUBISY5K1tVdfq93T/xQY3JuVGpUqnZW7dDTy5/Q5dN/q0kb3lHVnunyAAAAIKxbwtN8gEyHS86ybXKUbrG7HDSSU7tm6S+ndJYkvT53q/49h//WwM/FueJ1Sacr9M6JH+qPx9yurJhmKqjJ14urntWl356v19e+qpLaErvLBAAAsB1h3QpR8fJm9a774zZG1yPZeb1a6JYTOkiSnvt+kz5YnGtzRUBoinZG67z2F+rNEZN0V89xah3XRqWeUr2+9lVdMu1cPb38SeVWbre7TAAAANsQ1i3CVPim43cD2ujaQW0kSY99s06fLttpc0VA6HI73DqjzVl6bfg7urfPA+qclKMaf40+2fyBrpx+sSb8dI9WFa+wu0wAAADLEdYt4qkP67mzxBkSke/649vr4r4tZUp68Ms1mrx8l90lASHNaTh1YsuT9eLx/9ITA5/RwMzj5JdfM3ZO040//l63zb5Rs3b9IL/pt7tUAAAAS7jsLqCp8DTvL9PhlrN8hxwlm+RP6WB3SWhEhmHojhM7yes39cHiHZrwxWoZhnTmMc3sLg0IaYZhqF9Gf/XL6K8Npes1aeM7mpr7lZYULtKSwkVql9BeF3W4TCe1PEVRzmi7ywUAAGg0jKxbxR0rT7N+kqQopsI3CYZhaOxJ2Tq/VwuZkiZ8sVpfrNxtd1lA2OiY1El/7n2v3hnxgS7qcJniXHHaXL5Jf1v6iC759jy9tuZlFVTn210mAABAoyCsW8jTarAk1q03JQ7D0N0nZ+s3PZvLb0r3f75KX60isAMNkRmbpeu73az3TvxYf+h6szJjslRcW6w3172mS789X48smqDVxSvtLhMAACCoCOsW8rSu32SOdetNicMwNO6UzjqnRzP5TeneKavYdA44AgnuBF3c8TK9M+J93df3IXVP7Smv6dU3uV/qhh9H65ZZ12v6jmny+b12lwoAAHDUWLNuIU+zfjKd0XJW7pazeL18qdl2lwSLOAxDfz21ixyGoY+X7tQDX65Rtdev3/ZpaXdpQNhxOlwa0WKkRrQYqdXFK/XBpkmavmOqlhUt0bKiJcqKaaZz212gM9uco6SoJLvLBQAAOCKMrFvJFSNP82MlMRW+KaofYb+kXytJ0uNT1+nNeVttrgoIbzkp3TSuz/1698QP9bvsa5QSlaLd1bv0z9XP66Jp5+ixxQ9x9BsAAAhLhHWLBY5w20ZYb4oMw9DtIzoGzmF/5ruN+uePm2SyLAI4KukxGbqmy3V678SPNLbXX5Wd1Fm1/lp9uX2Kbvzx97rhh2v1xbbJqvHV2F0qAADAYTHMCEoJ+fllIb8U3JU7V6kfnS9/bLoKrlkkGYbdJaEBDEPKyEgMSq+9NmeLnv9+kyTpkn6t9KcRHeWgH7BHMHutKTJNUyuLl+vjzR9oxs5p8vg9kqREd6JOb32Wzml7nlrFt7a5ytBAr8Eq9BqsQq/BKvW91mifn7BuMV+tMl7pLsNbpcJLvpEvvavdFaEBgn3z/89P2/XEt+slSad1zdT9p+fI7WTCC/hBI5iKa4r0+bbP9OmWj7Wzakfg8QEZg3ROu/N0XOYQOR1NdwsXeg1WoddgFXoNVmnssN50fzqxizNKnhYDFLX1O7m3/0hYb+Iu7tdKybFujf9itb5claeiSo8e/80xio/i0gSCJSU6VZd2+p0u6niZ5uXN1iebP9TcvNmalz9H8/LnKD06Q6e3HqUz25ytFnFs+ggAAEIDQ3g2qN2zbj2KTeYg6fRuWXrqvO6KdTs0d0uxbpi0RIWVtXaXBUQcp+HUcVnHa+KAJ/XmiEm6uOPlSolKUUFNvt5e/7qumP5bjZ17m2bs2DttHgAAwC5Mg7eBa+cCpX7wG/mjU1Rw7WLJ4bS7JBymxpxWtXxnmW77cJmKqzxqkxKjp87vqbapscH9IggbTOGzhsfv0Q+7Zmry1k+0IH9e4PHUqFSd1vpMndnmHLWOb2NjhY2PXoNV6DVYhV6DVViz3gBhc0H6vUp/tZcctaUqOv9jeVv0t7siHKbGvvlvLqzULR8sVW5pjZJjXHriN93Vp3Vy8L8QQh4/aFhvR2Wupmz9VF9sm6yCmvzA433S+un01qM0rPkIxboi7xdo9BqsQq/BKvQarEJYb4BwuiATv/6jYtZ8pMq+16tiyD12l4PDZMXNP7+iVnd8vFwrdpbJ7TR0/2k5Oq1bVuN8MYQsftCwj8/v1ey8HzV5y/80N2+2/PJLkmKdcRre4kSd1upM9UzrLYcRGSvJ6DVYhV6DVeg1WIWw3gDhdEFGrftMyV9eL29yexVdPpMj3MKEVTf/ao9P905ZpenrCiRJ1x/fTtcOaiuDPmky+EEjNOyu2qWvtn+uL7dN0fbKbYHHW8S21Kmtz9Cprc4I+03p6DVYhV6DVeg1WIWw3gDhdEEateVK/1dvGb4aFV46Tb60LnaXhMNg5c3f5zf1j+826u0FdQFh1DFZ+sspXRTtiozRPPw6ftAILaZpannRUn25fYqm75iqCm9F4LneaX11WuszNbz5iYp1xdlY5ZGh12AVeg1WoddgFcJ6A4TbBZn02VWK3jxVFYPuVmX/P9pdDg6DHTf/9xfl6m/T1slvSj1aJOpv5xyjjIRoa744bMMPGqGr2letH3Z+py+3T9GC/HkyVfcfKMYZoxOan6jTWp+p3ml9w2aaPL0Gq9BrsAq9BqsQ1hsg3C7ImBXvKPHbsfJk9VbxbyfbXQ4Og103/zmbijRu8kqVVnuVmRClv/2mu7o3b7wbA+zHDxrhIa9qt77e/oW+3D5FWyu2BB5vFttcp7Q6XSe3PFVtE9rbV+BhoNdgFXoNVqHXYBXCegOE2wVpVOYp/bV+MmSq4Kq58ieE97rHpsDOm//Woird8fFybSysVLTLoXtO7aLT2XguYvGDRngxTVMri5fry21TNG3HN6rwlgeey07qopNanqoTW5ykrNhmNlZ5YPQarEKvwSr0GqxCWG+AcLwgUz44V+6d81V2wsOq7nmV3eXgEOy++ZfXeHXvlFX6fkOhJOmyY1vpj8M6yOUMj+m2OHx29xqOXI2vRj/s+k7f5H6leXmz5TN9ged6pvbWSS1P1fAWJyo5KsW+IvdBr8Eq9BqsQq/BKoT1BgjHCzL2pxeUMOth1bY5QSXnvGN3OTiEULj5+/ymXvhhk16fu1WS1Ld1sh45q5sy4qPsKQiNIhR6DUevpLZE3+38VtNyv9biwoWBx52GU/0zBmpky1N0fLNhinPF21YjvQar0GuwCr0GqxDWGyAcL0hn8QalvX2CTIdLBdculhmdbHdJ+BWhdPOftjZfD3yxWhW1PmXER2niWd3UpzX9EylCqdcQHHlVu/Xtjm80NfdrrS1dHXg82hGtwc2G6qSWp2hAxnGKclr7izd6DVah12AVeg1WIaw3QLhekKnvjJSraI1KT/mHarqcZ3c5+BWhdvPfVFipu/+3QhsKKuV0GLrlhA66tF8rzmOPAKHWawiuLeWbNS33a03L/VrbKrcGHk9wJWpY8+Ea0WKk+qb3l8vhavRa6DVYhV6DVeg1WIWw3gDhekHGzX5M8Qv+oerss1V22gt2l4NfEYo3/8panx75eo2+XJUnSRqRna57T+uipBi3zZXhaIRiryH4TNPU2tLVmpr7lablfqOCmvzAc4nuRA3JGqbhLU5Uv/QBjTbiTq/BKvQarEKvwSqE9QYI1wvStWuRUt8/S353vApGL5GcnKEdqkL15m+apiYtzNXT322Qx2eqRVK0Hh7VTT1bJtldGo5QqPYaGo/P9Glp4WJN3zFVM3fOUFFtYeC5eFe8BmcN1QnNR2hA5nGKDuK/E/QarEKvwSr0GqxCWG+AsL0gTb/SXh8oZ8VOlZz1hmrbjbS7IhxEqN/8V+4q07jPVmpbcbWcDkM3DW2vy/u3loNp8WEn1HsNjctn+rSsaIm+2/Gtvts5fb8R9xhnrAZnDdEJzU/UwMzBinXFHtXXotdgFXoNVqHXYBXCegOE8wWZMOOvil32uqqOuVTlJ/7N7nJwEOFw8y+v8eqRr9fq69V10+IHt0/VfafnsFt8mAmHXoM1/KZfK4qX67sd0/TdzunaXb0r8Fy0I1qDsgZrePORGpQ1+Ih2lafXYBV6DVah12AVwnoDhPMF6d72g1I+uVj+qCQVXLNAOsqREjSOcLn5m6apj5fu1JPfrleN16+UWLfuPa2LTuiUbndpOEzh0muwlmmaWlWyUt/t/FYzdkzTzqodgefcjij1Sz9WxzcbpsFZQ5Uek3FYn5Neg1XoNViFXoNVCOsNENYXpOlX2ptD5CzbptJTn1NN59/YXREOINxu/hsKKnTP5FVam1chSTq/VwvdNqKjYt1OmyvDoYRbr8F6dZvTrQkE9+2V2/Z7vltKdx2fNUxDmg1Tu4T2Bz0lgl6DVeg1WIVeg1UI6w0Q7hdk3JwnFD//KdW2Ga6Sc962uxwcQDje/Gu9fr3wwya9Nb/uB/l2qbGacEaOurdg87lQFo69BvuYpqlN5Rv0w66Z+mHXTK0uWbnf863iWmtIs2E6vtkwdU/tKaex9xd29BqsQq/BKvQarEJYb4BwvyAdJZuV/tbxMmWo8Ko58ie0tLsk/Ew43/znbC7ShC9WK6+8Vk5DumpgG/1+cDu5nQ67S8MBhHOvwX751Xn6cdf3+nH3TC0sWCCP3xN4LjkqRcdlDtHxzYbp2IyBinPH0muwBPc1WIVeg1UI6w0QCRdk8kcXKip3tioG3a3K/n+0uxz8TLjf/IurPHpi2rrAmeydM+M1/vQcdclKsLky/Fy49xpCR6W3QvPy5uiHXTM1J+9HlXnKAs9FOaJ0bMYAndxxpLrH9VVWTHMbK0Wk474Gq9BrsAphvQEi4YKMXjlJSdNulze5g4ou/66uAxAyIuXmP3VNnh79Zp2KqzxyOgz9/ri2umpgG0bZQ0ik9BpCi9fv1dKixfph10z9uGvmfhvUSVKHhI4alDVYg7KGqHtKT7kcLpsqRSTivgar0GuwCmG9ASLigqytUMZrfWV4K1V0/kfythhgd0XYRyTd/AsqavXoN2s1fV2BJKlTRpzGndJFvVqylj0URFKvITSZpqkNZes1O+8H/VQ0V4t3L5Zf/sDz8a4E9c8YqEFZgzUwc7DSotNsrBaRgPsarEKvwSqE9QaIlAsycertilk1iTPXQ1Ck3fxN09SXq/L05LfrVVzlkSHpgt4tdNOwDkqIZkTNTpHWawhd9b22IXe75ubN1pzdszQ3b7ZKPSX7vS4nuasGZQ7RoKzByknuJofBTBw0DPc1WIVeg1UI6w0QKRekO3e2Uj66UH53ggqu+Ulyx9ldEvaI1Jt/cZVHT8/YoM+W75IkZSZEaezIbI3ofHjnNCP4IrXXEHoO1Gs+06fVxSs1J2+WZu/+UWtLV+/3MSlRKeqfMUgDMgfp2IyBjLrjsHBfg1XoNViFsN4AEXNBmqbS3hoqZ+lmlZ78tGpyLrC7IuwR6Tf/eVuKNPHrtdpaXC1JGpGdrrtGZisrMdrmypqeSO81hI7D6bWC6vy6Ufe8WVqQP1cV3or9nu+U2FkDMgeqf8Yg9UjtqSgn9wz8Evc1WIVeg1UI6w0QSRdk3LynFD/3CdW2Ol4l5/7H7nKwR1O4+Vd7fPrXnC16Y942+fym4qOcumlYB13Qu4UcbHhomabQawgNDe21+k3q5uXN0fz8uVpXuma/56Md0eqd3lfHZgxU/4yBap/QQQb3Doj7GqxDr8EqhPUGiKQL0lG6TWlvDpYhUwW/myV/Uhu7S4Ka1s1/XV6FHv56jZbtqDvmqWeLJN19UrZymnHMmxWaUq/BXkfba0U1hfopf77m58/V/Py5KqjJ3+/59OgM9c8YuGfK/AAlR6UEp3CEHe5rsAq9BqsQ1hsg0i7I5E8uVdS2marsd6MqBo+zuxyo6d38fX5THyzeoee/36iKWp8MSef2aq4bjm+v1Lgou8uLaE2t12CfYPaaaZraVL5B8/PqgvviwoWq9dfu/VoylJ3URcdm9Fff9P7qmdZbMc6Yo3wHCBfc12AVeg1WIaw3QKRdkFEbv1LylGvlj05WwZVzpah4u0tq8prqzX9XWY2embFBX63OkyQlRDt13eB2uqhPS7k4m71RNNVeg/Uas9dqfTVaUrg4MOq+oWzdfs+7HW51T+mpyzpdqf6ZA4P7xRFyuK/BKvQarEJYb4CIuyBNv1LfHi5XyUaVDXtA1b2utbuiJq+p3/wXbivRE9PWaU1e3eZSHdLidPuJHXVce3aCDram3muwjpW9VlCdr4UFC7Qgf55+KpivvOrdkqTeaX31f8c917hfHLbjvgar0GuwCmG9ASLxgoxZ9oYSZ4yTL6mdCi//TnI47S6pSePmXzc1/pNlO/XC95tUXOWRJJ3QKV1/GtFRrVNiba4uctBrsIpdvWaaprZVbNXy4qU6JqWH2ia0s+6Lwxbc12AVeg1WaeywzvzVEFed81v5o1PkLN2sqI1f2l0OIKfD0Pm9WuiDa/vr0n6t5HQY+m59gS7693w9O3OjKmq9dpcIIAwYhqE2CW11eutRBHUAAA6AsB7q3LGq6nGlJClu0T9tLgbYKynGrdtP7KR3rzxWx7VLlcdn6vW5W3XeK/P0n5+2y+Pz210iAAAAELYI62GgqufVMh1Rcu+cL9fOBXaXA+ynQ3qcnrmgh574TXe1SYlRUZVHT3y7Xhe+Nl+fr9wlP/PPAAAAgAYjrIcBMz5LNV3OlSTFLnrZ3mKAAzAMQ8Oz0zXp6v7688nZSo+PUm5Jte6bslpXvPmTfthYqAjaHgMAAABodIT1MFHZ5zpJUvSGKXKUbrG5GuDAXE6HLujdUh+NHqAbh7ZXfJRTa/MqdNuHy3T9pCVatqPU7hIBAACAsEBYDxO+9G6qbTNchulX7JJ/2V0O8Kti3U5dM6itPv79QF1+bGtFOQ39tK1E17yzSHd9slwbCyrtLhEAAAAIaYT1MFI/uh6z4l0ZVYU2VwMcWkqsW7eN6KgPrh2gs7s3k8OQpq8r0MX/nq97Jq/UhoIKu0sEAAAAQhJhPYx42gyXJ7OnHJ4Kxf30nN3lAIeteVKM7js9R+9ceaxGZKfLlPTlqjxd8u8F+sunK7Uun9AOAAAA7IuwHk4MQxWDxkqSYpf+W47yXJsLAhqmU0a8/vab7nrrd/10YucMmZK+WZOnS19foD9/ukJr88rtLhEAAAAICYT1MONpO0K1LQbJ8NUobv4zdpcDHJGcrAQ9fs4xeufKfjq5S4YMSVPX5OuyN37SXZ8s1+rdhHYAAAA0bYT1cGMYqjjubklSzMr35CjeaHNBwJHrnJmgiWcfo3evOlan5GTKUN2a9ive/El3fLxcS3LZPR4AAABNE2E9DHlbDlRNu5Ey/F7Fz33S7nKAo9YpI16PnNVN/7m6v07rmimHIX23vkCj312k37+7SDPW5cvPOe0AAABoQgjrYapyz9r16LWfyJm/wuZqgODokB6nh0bVhfbf9Ggut9PQ4txS3fnJCl302nx9vGSHarx+u8sEAAAAGh1hPUx5M3uoOvtsGTIVP+cJu8sBgqp9WpzuOa2L/vf7gbpqYBslRDu1uahKD3+9Vue8PEevzdmi0mqP3WUCAAAAjYawHsYqB94p03AoetNXcu1cYHc5QNBlJETr5mEd9NmYQbpteEdlJUSpsNKj57/fpLP+OUd//3a9ckuq7S4TAAAACDrCehjzpXZSddffSpISfnhQMpkejMgUH+XS5f1b65PfD9SEM3KUnRGvKo9f7/60Xee9Old3frxcczcXyWRdOwAAACIEYT3MVQ68U6YrTu6d8xW96r92lwM0KpfToTOPaaZ3ruynp8/voYFtU+Q3pRnrC3TT+0t18esL9P6iXFXW+uwuFQAAADgqhPUw509ooYqBt0uSEn58WEZ1kc0VAY3PMAwN6ZCm537bS5Ou7q8Le7dQrNuhjQWVemzqOo3652z93/T12lZcZXepAAAAwBEhrEeAql6j5U3LkaO6UPGzH7O7HMBSHdLjdPfJnTXlD8fp9hM7qU1KjMprfHpnwXad/+o8/emjZfphY6F8fqbIAwAAIHwYZgQt8szPL1PkvJuGcefOVspHF8qUoeIL/ydvs752lxSRDEPKyEhs0r0W6vymqVmbijRp4Xb9uHHvTJMWSdE6p0dzndOjubISo22s8PDQa7AKvQar0GuwCr0Gq9T3WqN9fsJ65Ej85jbFrH5fnsyeKr7wM8nhtLukiMPNP7xsKarSfxflasqKXSqt9kqSHIY0tGO6zuvVXIPbp8npMGyu8sDoNViFXoNV6DVYhV6DVQjrDdDUL0ijMk9pbw+Xo7ZUZSc8rOqeV9ldUsTh5h+eqj0+fbsuXx8t2amF20oCj2clROk3PetG25snxdhY4S/Ra7AKvQar0GuwCr0GqxDWG4ALUopZ+m8lfneP/FFJKrxsusz4LLtLiijc/MPfpoJKfbR0hyYv36WSfUbbB7dP01ndm2lYp3RFu+zfzoNeg1XoNViFXoNV6DVYhbDeAFyQkvw+pbx/ttx5S1TT/hSVnvmvui5CUHDzjxy1Xr+mr8vXR0t2aP7WvaPtidEundo1U6OOaaYeLRJl2HT90GuwCr0Gq9BrsAq9BqsQ1huAC7KOs2ClUieNkuGvVdmJj6v6mMvsLilicPOPTJsLKzV5xS5NXr5Lu8trA4+3TY3VWd2b6YxuWZZPk6fXYBV6DVah12AVeg1WIaw3ABfkXrELX1LCjw/KdMWp8OIv5U/pYHdJEYGbf2Tz+U3N31qsKSt2adqafFV7/ZIkQ1L/tik6q3szjcjOUFxU42/eSK/BKvQarEKvwSr0GqxCWG8ALsh9mH4lf3KxorbPkqf5sSo+7wPJ4bK7qrDHzb/pqKj1atqafE1esUsL9pkmH+1yaFjHdJ3WNVODO6Q12vp2eg1WoddgFXoNVqHXYBXCegNwQe7PUbpNqf85RY7aMlUMGqvK/rfYXVLY4+bfNOWWVGvKil36fOVubSmqCjyeEO3UiOwMndY1U/3bpsoVxGPg6DVYhV6DVeg1WIVeg1UI6w3ABflL0avfV9I3t8l0uFR8wf/kzepld0lhjZt/02aaplbtLteXK/P09erd+61vT4tz66QumTqta6Z6tkyS4yg3pqPXYBV6DVah12AVeg1WIaw3ABfkAZimEr+8QTHrP5M3pZOKfztZZlSC3VWFLW7+qOc3TS3aXqKvVuXpm9V5gWPgpLrz20d2ydTIzhnq1TJJziMYcafXYBV6DVah12AVeg1WIaw3ABfkgRnVRUp97xQ5K3aqptOZKj3tJY5zO0Lc/HEgXp9fc7YU66tVuzV9bYEqPb7Ac+nxURqRna6RnTPUr03KYU+Vp9dgFXoNVqHXYBV6DVYhrDcAF+TBuXYuUMpHF8rwe1Q++C+q6neT3SWFJW7+OJQar1+zNxVp2to8fbe+QOU1e4N7coxLI7IzNLJLhga0TZHbefDN6eg1WIVeg1XoNViFXoNVwi6sv/TSS/rqq6+0YcMGxcTEqG/fvrrzzjvVsWPHwGtqamr06KOPasqUKaqtrdXQoUN1//33KyMjI/Ca3NxcjR8/XnPmzFFcXJzOPfdc3XHHHXK5Dr6jORfkr4tZ/pYSp/9ZpuFQydlvydPmBLtLCjvc/NEQHp9f87YUa9qafE1fl7/fVPmEaKeO75CmEzqla0iHNCVE739vo9dgFXoNVqHXYBV6DVYJu7A+evRojRo1Sj179pTP59Pf//53rV27VpMnT1ZcXJwk6f7779eMGTM0ceJEJSYm6sEHH5RhGHrvvfckST6fT+eee64yMjI0duxY7d69W3fffbcuuugi3X777Qf92lyQh2CaSvj2LsWufE/+6BQVXTRF/qS2dlcVVrj540h5/aZ+2lqsaWvzNX1dgQoq9m5O53QYOrZ1soZnp2tYp3S1SIqh12AZeg1WoddgFXoNVgm7sP5zhYWFGjx4sN566y0NGDBAZWVlGjx4sJ544gmdfvrpkqT169frzDPP1H/+8x/16dNHM2bM0PXXX6+ZM2cGRtvfffddPfHEE5o1a5aioqIO+LW4IA+Dt1opH10g9+7F8mR0V/H5H0vuWLurChvc/BEMPr+p5TvLNGNdgWauL9DGwsr9nu+cGa8R2ek659i2ah5tSGKPCTQe7muwCr0Gq9BrsEpjh/WDzykPkrKyMklScnKyJGnZsmXyeDwaMmRI4DWdOnVSy5YttWjRIvXp00eLFi1Sly5d9psWP3ToUI0fP17r1q3TMcccc8CvxZ5ph8Edo7IzXlbKpDPkzl+upGm3q+y05yTj4GtnsVd9j9FrOBoup6HerZLUu1WSbhneQVuKqvTdugLNWJ+vxdtLtTavQmvzKvTyrC1Kj4/SkA6pOr5Dmo5rn/qL6fLA0eK+BqvQa7AKvQarNHaPNepPfX6/X4888oj69eunLl26SJLy8/PldruVlJS032vT09OVl5cXeM2+QV1S4O/1rzmQ9PTG+61GRMnIkS56XXrzXEWv+1TRme2k0x62u6qwQq8hmDIyEtWvc5Zuk1RYUatvV+3W1yt26bu1eSqoqNWny3bp02W75HIYOrZdqkbkZOnErpnKaZYog59EECTc12AVeg1WodcQ7ho1rE+YMEFr167VO++805hfJqCggKkuhy2xj6JP+rsSv75FmvWsyh1pqu47xu6qQp5h1N346TU0puHtkjWifbISkvto2pLt+n59oX7YWKhNhVWas7FQczYW6rEvVqlZYpSGdEjT4PZpGtA2RYkxjLqj4bivwSr0GqxCr8Eq9b3WWBrtJ7sHHnhA06dP11tvvaXmzZsHHs/IyJDH41Fpael+o+sFBQXKzMwMvGbJkiX7fb78/HxJCrzmQExTXJANUN3lfBnlu5Qw62El/PCA/PHNVNP5N3aXFRboNVgh2uXUgLap6t8mVbeN6KRtxVX6cWORftxYqPlbi7WrrFYfLdmpj5bslMOQjmmeqIFtUzSwXap6tUz61aPhgJ/jvgar0GuwCr2GcBf0sG6aph588EF9/fXXevPNN9WmTZv9nu/Ro4fcbrdmzZql0047TZK0YcMG5ebmqk+fPpKkPn366MUXX1RBQYHS09MlST/++KMSEhKUnZ0d7JKbtKq+18tRsUNxS/6lxG9ukz82Q57Wx9tdFoADaJ0Sq4v6xuqivi1V7fHpp20l+nFjoeZsLtKmwiot21GmZTvK9K85WxXrdqhf6xQNbFcX3julxzFlHgAAIIwEPaxPmDBBn332mZ5//nnFx8cH1pgnJiYqJiZGiYmJuuCCC/Too48qOTlZCQkJeuihh9S3b99AWB86dKiys7M1duxY3XXXXcrLy9NTTz2lyy+//KA7weMIGYYqho6Xo2K3YtZ/pqTPf6+S3/xH3qxedlcG4FfEuJ0a0iFNQzqkSZJ2llZr7pZizd1cpHlbilVY6dEPG+umz0tSenyUBrZN0aB2qRrYLkWZCdF2lg8AAIBDCPrRbTk5OQd8fOLEiTr//PMlSTU1NXr00Uc1efJk1dbWaujQobr//vv3m+K+fft2jR8/XnPnzlVsbKzOO+883XHHHXK5Dv77BY5nOAreaiV/eoWicmfLH52sknPeJbAfAEeBwCpH02t+09S6vArN3VKsOZuLtHBbiWq8/v1e0yE9TgPbpqhfmxT1a5WslDh3EKtHOOG+BqvQa7AKvQarhP0561bigjw6Rm25kj+9Qu6d8wnsB8HNH1YJZq/VeP1amluqOZuLNGdzkVbtKtfPP2XnzHj1a52sY9ukqG/rZKXEEt6bCu5rsAq9BqvQa7AKYb0BuCCPHoH913Hzh1Uas9dKqjyav7VYC7aWaMHWYm0oqPzFa+rD+yk5merdKjm4BSCkcF+DVeg1WIVeg1UI6w3ABRkcBPaD4+YPq1jZa4WVtVq4reSA4d2QNO3mIUqI5li4SMV9DVah12AVeg1Waeywzk9f+AUzKkElZ78VCOzJn1ys0jNflafVELtLA9AI0uKidFKXTJ3UpW7fkH3De2qsW/FRTpsrBAAAaHo4hBcHVB/Ya1sMkqO2TMn/u0JR6z6zuywAFqgP72NPytZ1Q9px5BsAAIANCOs4KDMqQSXnvKWajqfL8Ncq6csbFLP033aXBQAAAAARj7COX+eKVelpL6mq++9kyFTid/cobvZjYgEQAAAAADQewjoOzeFU+fBHVDHwTklS/IJ/KPGbWyRvlc2FAQAAAEBkIqzj8BiGKgfcprIRj8k0nIpZ85FSPrxAjvJcuysDAAAAgIhDWEeDVHe/XCXnvCN/TKrceUuUOmmUXDvm2V0WAAAAAEQUwjoazNP6eBX9drK86d3kqMpTyscXKWb523aXBQAAAAARg7COI+JPaqui8z9WTadRMvweJU6/W4lT/yTVVthdGgAAAACEPcI6jlxUvEpPe1EVg+6WaTgUs+q/Sv3vmXLmr7C7MgAAAAAIa4R1HB3DUGX/P6rk3EnyxTeXq3i9Ut8/WzFLX+d4NwAAAAA4QoR1BIWn5XEquvgr1bQ/WYavRonf/VVJn/9eRmW+3aUBAAAAQNghrCNozNg0lZ75msqHjpfpcCt645dKe3ekotZ9ZndpAAAAABBWCOsILsNQVe/f79kt/hg5qguV/OX1SvzyRhlVhXZXBwAAAABhgbCORuHLOEZFv/1MFf1vlWk4FbPuf0p7d6Si137KWnYAAAAAOATCOhqPM0qVg+5S8YWfypuWI0dVvpK+ukHJn10hR/FGu6sDAAAAgJBFWEej82b1UtFFU1Qx4HaZjihFbZmhtPdOVty8/5N8NXaXBwAAAAAhh7AOazijVTnwdhVd+o1q25wgw1ej+LlPKvXdkxW16RumxgMAAADAPgjrsJQvpaNKzn5bpac+L19cllwlG5U8+Wol/+8yOfNX2F0eAAAAAIQEwjqsZxiq6XyOii6focp+N9ZNjd82U6mTTlfCt2NlVObZXSEAAAAA2IqwDtuYUYmqGDxOhZdPV3X22TJMv2JXvKP0N49X3OzHZFQX210iAAAAANiCsA7b+ZPaquy0F1R0/kfyZPWR4a1U/IJ/KO2t4xU3/x9SbYXdJQIAAACApQjrCBneFgNUfOGnKjnj1bqj3mpKFD/nMaW/dbxif3pBRm253SUCAAAAgCUI6wgthqHajqep6OKvVHrKP+RLaidHVb4SZj2stDeOU9y8p2TUlNhdJQAAAAA0KsI6QpPDqZou56nwsukqHfmkvMkd5KgpVvzcJ5T2+iDFz5ooR8Uuu6sEAAAAgEZBWEdoc7pV0+1iFV02XaWnPlc3Pd5TrrifnlPaG8cpceqfOPINAAAAQMQhrCM8OJyq6fwbFV3ytUrOeFWeFgNk+D2KWfVfpf3nVCV/cqmiNk2V/D67KwUAAACAo+ayuwCgQQyHajueptqOp8m18yfFLn5Z0esnK2rbTEVtmylfUltVdb9C1d0ukRmbZne1AAAAAHBEGFlH2PI276ey015Q4RU/qLL3GPmjk+Us3aKEWY8o/fUBSvzmNrlz50imaXepAAAAANAghmlGTpLJzy8jlzVlnirFrP1EMctelztvaeBhX1I7VXe7SNU5F8qf2OqovoRhSBkZifQaGh29BqvQa7AKvQar0GuwSn2vNdrnJ6wj4pimXLsWKmb524pe/5kcnoq6h2XI0/p4VXf9rWo6nim5Yxv8qbn5wyr0GqxCr8Eq9BqsQq/BKo0d1lmzjshjGPI276fy5v1UfsKDit4wRTEr/6uo7T8oatv3itr2vfzuv6qm89mq7nqRvM37111pAAAAABAiCOuIbO441eRcqJqcC+Uo3aqY1e8rZtV/5SzdotgV7yp2xbvyJbZRTaczVZN9lrxZfQjuAAAAAGzHNHg0PaZf7h1zFb3yv4pZ96kMb2XgKV9Cq73BvVlfydh/D0amVcEq9BqsQq/BKvQarEKvwSqsWW8ALkg0mKdKUVu+rTv+bdM3gfXtkuSLb14X3DudJW+L/pLh4OYPy9BrsAq9BqvQa7AKvQarsGYdaEzuWNV2OlO1nc6UvFWK2vKdotd/pqiNX8tZsVNxS/6luCX/kj82UzXtRsrTfqSUcKYkpsoDAAAAaDyMrAMH4qtR1NaZil73maI2fiVHbene5xwu1bYYqNp2J6m23Uj5UrNZ546gY1QAVqHXYBV6DVah12AVpsE3ABckGoWvVu7cuYraPFVRm6fJVbx+/6eT2qq23ci6/7U8TnLH2VQoIgk/aMAq9BqsQq/BKvQarEJYbwAuSDQ2w5AyjN0qX/SpojZPk3vbLBn+2sDzpsMtT7N+8rQ+vu5/zfpKzigbK0a44gcNWIVeg1XoNViFXoNVCOsNwAWJxvaLm7+nsu7s9s3TFLX5WznLt+/3etMVK0/Lgaptdbw8rYfKm9FdcjjtKR5hhR80YBV6DVah12AVeg1WYYM5IJS541Tb4VTVdjhVMk05SjcratsPcm/7QVHbf5CjqkBRW2YoassMSZI/OlmeFgPlaTFAnhYD5c3qKTmjbX4TAAAAAEINYR0IFsOQP7m9qpPbq7r75ZJpylm4KhDe3bmz5agpUfSmrxW96WtJkumMljertzwt+teF+ObHyoxJtfmNAAAAALAbYR1oLIYhX3o3VaV3U1Xv30t+r1x5S+XeMU/uHXPl3jFPjqqCPX+eK+l5SZI3tYs8LY6VN6uPPM36ypfWRXJwqQIAAABNCQkAsIrDJW+zvvI266uqPmPqRt5LNsoVCO/z5SpeL1fRGrmK1kgr3pUkma4YeTN7yZPVW95mfeTJ6iN/UluOiwMAAAAiGGEdsIthyJfSUb6UjqrpdnHdQ1UFdSPvuxbKtWuRXLsXy+Ep32f0vY4/JlWeloNUfsLD8sc3s+sdAAAAAGgkhHUghJix6arteLpqO56+5wG/nEXr5dq9WO7dewJ8/ko5qosUveELVXc5X7WdzrS3aAAAAABBR1gHQpnhkC+ts3xpnVXT9cK6x3w1ewJ7oWrbDLe3PgAAAACNgrAOhBtntLzN+thdBQAAAIBG5LC7AAAAAAAAsD/COgAAAAAAIYawDgAAAABAiCGsAwAAAAAQYgjrAAAAAACEGMI6AAAAAAAhhrAOAAAAAECIIawDAAAAABBiCOsAAAAAAIQYwjoAAAAAACGGsA4AAAAAQIghrAMAAAAAEGII6wAAAAAAhBjCOgAAAAAAIYawDgAAAABAiCGsAwAAAAAQYgjrAAAAAACEGMI6AAAAAAAhhrAOAAAAAECIIawDAAAAABBiCOsAAAAAAIQYwjoAAAAAACGGsA4AAAAAQIghrAMAAAAAEGII6wAAAAAAhBjCOgAAAAAAIYawDgAAAABAiCGsAwAAAAAQYgjrAAAAAACEGMI6AAAAAAAhhrAOAAAAAECICemw/vbbb2vkyJHq2bOnfvvb32rJkiV2lwQAAAAAQKML2bA+ZcoUTZw4UTfddJM++ugjde3aVaNHj1ZBQYHdpQEAAAAA0KhCNqy/9tpruuiii3TBBRcoOztbEyZMUExMjD744AO7SwMAAAAAoFG57C7gQGpra7V8+XL94Q9/CDzmcDg0ZMgQLVy48KAfZxhWVIemrL7H6DU0NnoNVqHXYBV6DVah12CVxu6xkAzrRUVF8vl8Sk9P3+/x9PR0bdiw4aAfl56e2NilAZLoNViHXoNV6DVYhV6DVeg1hLuQnQYPAAAAAEBTFZJhPTU1VU6n8xebyRUUFCgjI8OmqgAAAAAAsEZIhvWoqCh1795ds2bNCjzm9/s1a9Ys9e3b18bKAAAAAABofCG5Zl2SrrnmGt19993q0aOHevXqpddff11VVVU6//zz7S4NAAAAAIBGFbJh/cwzz1RhYaGeeeYZ5eXlqVu3bnrllVeYBg8AAAAAiHghOQ2+3hVXXKFvv/1Wy5Yt03//+1/17t37F695++23NXLkSPXs2VO//e1vtWTJEhsqRST5xz/+oZycnP3+d/rppweer6mp0YQJEzRo0CD17dtXf/zjH5Wfn29jxQgX8+bN0/XXX6+hQ4cqJydH33zzzX7Pm6app59+WkOHDlWvXr109dVXa9OmTfu9pri4WHfccYf69eun/v37a9y4caqoqLDwXSAcHKrX/vznP//iPjd69Oj9XkOv4XC89NJLuuCCC9S3b18NHjxYN9544y9O7jmcfzdzc3M1ZswY9e7dW4MHD9Zjjz0mr9dr5VtBiDucXvvd7373i3vbfffdt99r6DUcyjvvvKOzzz5b/fr1U79+/XTxxRdrxowZgeetvKeFdFg/lClTpmjixIm66aab9NFHH6lr164aPXr0LzamAxqqc+fO+v777wP/e+eddwLPPfLII/r222/11FNP6c0339Tu3bt1880321gtwkVlZaVycnJ0//33H/D5l19+WW+++abGjx+vSZMmKTY2VqNHj1ZNTU3gNXfeeafWrVun1157TS+++KLmz5//ix9EgEP1miQNGzZsv/vc3//+9/2ep9dwOObOnavLL79ckyZN0muvvSav16vRo0ersrIy8JpD/bvp8/n0hz/8QR6PR++9954effRRffTRR3rmmWfseEsIUYfTa5J00UUX7XdvGzt2bOA5eg2Ho3nz5rrzzjv14Ycf6oMPPtBxxx2nm266SWvXrpVk8T3NDGMXXnihOWHChMDffT6fOXToUPOll16ysSqEu2eeecY855xzDvhcaWmp2b17d/Pzzz8PPLZu3TqzS5cu5sKFCy2qEJGgS5cu5tdffx34u9/vN48//njzlVdeCTxWWlpq9ujRw/zss89M09zba0uWLAm8ZsaMGWZOTo65c+dO64pHWPl5r5mmad59993mDTfccNCPoddwpAoKCswuXbqYc+fONU3z8P7dnD59utm1a1czLy8v8Jp33nnH7Nevn1lTU2Np/QgfP+810zTNK664wnzooYcO+jH0Go7UgAEDzEmTJll+TwvbkfXa2lotX75cQ4YMCTzmcDg0ZMgQLVy40MbKEAk2b96soUOH6qSTTtIdd9yh3NxcSdKyZcvk8Xj267tOnTqpZcuWWrRokU3VIhJs27ZNeXl5+/VWYmKievfuHbinLVy4UElJSerZs2fgNUOGDJHD4WAJEBps7ty5Gjx4sE477TTdf//9KioqCjxHr+FIlZWVSZKSk5MlHd6/m4sWLVKXLl3225do6NChKi8v17p166wrHmHl571W79NPP9WgQYN01lln6cknn1RVVVXgOXoNDeXz+TR58mRVVlaqb9++lt/TQnaDuUMpKiqSz+dTenr6fo+np6f/Yv0K0BC9evXS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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, y_act=20)\n", "curves = [\n", @@ -3830,23 +2998,12 @@ }, { "cell_type": "code", - "execution_count": 211, - "id": "8a5df413-de9f-485a-951a-bb046fd9687c", + "execution_count": null, + "id": "8576042a", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "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jLIOAAAAJaOsAwAAQMko6wAAAFAyyjoAAACUjLIOAAAAJaOsAwAAQMko6wAAAFAyyjoAAACUjLIOAAAAJaOsAwAAQMko6wAAAFAy3V7WOzo6csUVV+S4447L1KlTc/zxx+crX/lKKpVKdZtKpZIrr7wyzc3NmTp1as4444w89dRTXfazYcOGnHPOOZkxY0ZmzpyZCy+8MFu3bu3u4QIAAEDpdHtZv/baa/Od73wnF198cW699dace+65+drXvpbrr7++yzbXX399FixYkCVLlmTgwIGZN29etm3bVt3m3HPPzZo1a3Ldddflmmuuyf3335+LL764u4cLAAAApdPtZX358uV53/vel/e85z0ZM2ZMPvCBD6S5uTkrV65MsvOs+je/+c186lOfyvHHH59Jkybl85//fNatW5fbbrstSfL444/nrrvuyqWXXppp06Zl5syZueiii3LLLbfkpZde6u4hAwAAQKl0e1lvamrKPffckyeffDJJ8uijj+aBBx7Iu9/97iTJc889l5aWlsyePbv6mCFDhmTatGlZvnx5kp2Ff+jQoZkyZUp1m9mzZ6e2trZa+gEAAODNqm937/Css87Kli1b8r/+1/9Knz590tHRkc985jP5gz/4gyRJS0tLkqShoaHL4xoaGtLa2pokaW1tzfDhw7sOtG/f1NfXVx+/OzU13flK4PV2ZUzW6GmyRlFkjaLIGkWRNYrS0xnr9rL+wx/+MDfddFO++MUvZvz48XnkkUdy+eWXZ+TIkTn55JO7++m6aGgY0qP7h11kjaLIGkWRNYoiaxRF1tjXdXtZ//znP5+zzjorc+fOTZJMnDgxa9euzVe/+tWcfPLJGTFiRJKkra0tI0eOrD6ura0tkyZNSpI0NjZm/fr1Xfa7Y8eObNy4sfr43Wlr25z/dtN56HY1NTsnflmjp8kaRZE1iiJrFEXWKMqurPWUbi/rr732Wmp+43qAPn36VL+6bcyYMRkxYkSWLl2aww47LEmyZcuWPPjgg/nTP/3TJDs/975p06asWrUqkydPTpLcc8896ezszNSpU3/rc1cqcUBSCFmjKLJGUWSNosgaRZE19nXdXtbf+9735pprrsno0aOrl8Ffd911OeWUU5IkNTU1Of3003P11VfnkEMOyZgxY3LllVdm5MiROf7445Mk48aNy5w5c/LZz342CxcuTHt7exYt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KIqsUZSeLut9e2zPAMBbWl2f/pk54qhqEW97rTXL2x7IA6335T/b7k/La+uyYv1/ppKKsg4Av0FZBwAK0TCgMce/7cQc/7YTU6lU8tzWZ/PwhofyzmGTe3toAFA6yjoAULiampocNPjgHDT44N4eCgCUUm1vDwAAAADoSlkHAACAklHWAQAAoGSUdQAAACgZZR0AAABKRlkHAACAklHWAQAAoGSUdQAAACgZZR0AAABKRlkHAACAklHWAQAAoGSUdQAAACgZZR0AAABKRlkHAACAklHWAQAAoGSUdQAAACgZZR0AAABKRlkHAACAklHWAQAAoGSUdQAAACgZZR0AAABKRlkHAACAklHWAQAAoGSUdQAAACgZZR1gD1QqlTy2bkte2d7R20MBAOAtoG9vDwBgX/Djx1ryt7c8mv59azPn0IacOGlEZo0dnv59/c0TAIDup6wD7IEJIwfnkP0H5umXX81tv2rJbb9qyeD+ffKe8Y05cdKIzDx4//StrentYQIA8CahrAPsgbcP3y//cubMPPLSlvzo0XW57bGWrNuyPTc//FJufvilDN+vX943YUROnDQiU0YPTW2N4g4AwO+vplKpVHp7EN2ltXVz3jyvhjKqqUkaG4fIGumsVLLi+Y35j0dbcttjLdn42o7qupGD63LchBE57h2NmTp6aPr8HmfcZY2iyBpFkTWKImsUZVfWemz/yjrsOZM/u7OjozP3PrMh//Houvx0dVteaf/1TegaBtXlPeMbctw7GjPjoGF7fKm8rFEUWaMoskZRZI2i9HRZdxk8wBvUt09tjhk7PMeMHZ5t7+/MPU+9nNtXt+Rnj7elbev2fP/BF/L9B19I/YC+ec/4xhw3oTFHHjws/fq4OR0AALvX7WX9q1/9av7jP/4jTzzxRAYMGJCmpqace+65OfTQQ6vbbNu2LYsXL86tt96a7du3p7m5OfPnz09jY2N1m7Vr12bBggW59957s99+++UP//APc84556RvX39fAMqrf9/aHDu+IceOb0h7R2fue2ZDbv9Va366pjUbX9uRf1v1Yv5t1YsZ3L9Pjhk7PO8e15DZY4dncH9zGwAAv9btl8HPmzcvc+fOzZQpU9LR0ZEvfelLWb16dW655Zbst99+SZL58+fnzjvvzOWXX54hQ4Zk0aJFqampyY033pgk6ejoyB/+4R+msbEx559/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+MY38uqrr+bDH/5wbw+NfdjnPve5vPe9783o0aOzbt26/MM//ENqa2vzwQ9+MEOGDMkpp5ySxYsXp76+PoMHD86ll16apqYmZZ3faevWrXnmmWeqPz/33HN55JFHUl9fn9GjR+f000/P1VdfnUMOOSRjxozJlVdemZEjR+b4449PsvMGJnPmzMlnP/vZLFy4MO3t7Vm0aFHmzp2bUaNG9dbLooT+p6zV19fny1/+ck488cQ0Njbm2Wefzd///d/nkEMOyZw5c5LIGntu4cKFufnmm/OP//iPGTRoUPXzmEOGDMmAAQP26H2zubk548ePz/nnn5/zzjsvLS0tueKKK3Laaaelrq6uF18dZfK7svbMM8/kpptuyrHHHpthw4blsccey+WXX54jjzwykyZNSiJr7JkvfvGLefe7350DDzwwW7duzc0335xly5bl61//euFzWk2lUqn0wGsszLe+9a18/etfT0tLSw477LBcdNFF1Ute4Pfxmc98Jvfdd182bNiQ4cOH54gjjshnPvOZ6medtm3blsWLF+eWW27J9u3b09zcnPnz57t8it/p3nvvzemnn/665SeffHIWL16cSqWSq666KkuWLMmmTZtyxBFHZP78+Rk7dmx12w0bNmTRokW5/fbbU1tbmxNOOCEXXXRRBg0aVORLoeT+p6wtWLAgZ599dn75y19m8+bNGTlyZI455pj85V/+ZZePkckae2LixIm7XX755ZdXT57syfvm888/nwULFmTZsmUZOHBgTj755Jxzzjnp23efPq9EN/pdWXvhhRdy3nnnZfXq1XnllVdy4IEH5vjjj8+f/dmfZfDgwdXtZY3f5cILL8w999yTdevWZciQIZk4cWI+/vGP55hjjklS7Jy2z5d1AAAAeLPZZz+zDgAAAG9WyjoAAACUjLIOAAAAJaOsAwAAQMko6wAAAFAyyjoAAACUjLIOAAAAJaOsAwAAQMko6wAAAFAyyjoAAACUjLIOAAAAJaOsAwAAQMn8/wHEgjoOUuMPrgAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, x_act=10, y_act=20)\n", "curves = [\n", @@ -3864,7 +3021,7 @@ }, { "cell_type": "markdown", - "id": "ac7e6dc1-992b-448d-a8fe-cff6c0e24d59", + "id": "8c55ead8", "metadata": { "lines_to_next_cell": 2 }, @@ -3874,8 +3031,8 @@ }, { "cell_type": "code", - "execution_count": 212, - "id": "f7127e10-e463-4ae2-ba78-2c10483cdae0", + "execution_count": null, + "id": "14363ce5", "metadata": {}, "outputs": [], "source": [ @@ -3885,21 +3042,10 @@ }, { "cell_type": "code", - "execution_count": 213, - "id": "d1051e52-d073-4656-b43e-d6c7404fe2e6", + "execution_count": null, + "id": "d6e4c237", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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zzn8j+ecPNaYY0SNtQ411jrUWetRY61DpbkSOu32jLrb86iIiIiIiIhIlfJzjGhxHEKL45C8LZGO43xoDMPBQfHc8uAQxkKjiKai6PZ1otvXKY/N1epRZalGrRTMa6y1qLLWwKAzZOHVLMcATkRERERERNuaXpeHensj6u2N8rZUJoWL4XGMBIcwFBSnr48EhxBNRTEYcGEw4JLHaqHFXvM+uVtea61DtbVW8RXYGcCJiIiIiIhox8nR5qDKWo0qazXegb8HAGSEDKaik9Jib0NyKPcn/BgPX8B4+AL+e/K38j6KDSWosdbKnfIaax1K8ku3bLE3BnAiIiIiIiLaFbQaLfaYKrDHVIG/Lfs7ebt33oPh4GIgHw4OYSo6idn5GczOz+DsksXezDkWKYzXyh3zfeZK5GzCeeUM4ERERERERLSrFRqcKDQ4cVPxLfK2cDKM0dAwRoPDGA4MYTQ0jAuh8winQuj0/RWdvr/KY3O1udhvrkKNtRbVUjivstTAnGte13EwgBMREREREZHqmHPNaHW0o9XRLm9LZpIYD5/HSHBY6paLAT2SiojT2oODy/ZRZixHjUWcvv6/i+6/5s/UCIIgbPoryTK3O5TtQ1AVjQZwOi3weELYfdVEJGKdkxqwzkkNWOekBqzzzSUIAqZjU3IYXwjms/Mzy8b13NVzzX2xA05ERERERER0BRqNBmXGcpQZy/Gm0rfI24OJIEZDwxgJDmM8dH5N+2IAJyIiIiIiIlonq96K9sI3oL3wDWv+Hu0WHg8RERERERERSRjAiYiIiIiIiBTAAE5ERERERESkAAZwIiIiIiIiIgUwgBMREREREREpgAGciIiIiIiISAEM4EREREREREQKYAAnIiIiIiIiUgADOBEREREREZECGMCJiIiIiIiIFMAATkRERERERKQABnAiIiIiIiIiBTCAExERERERESmAAZyIiIiIiIhIAQzgRERERERERApgACciIiIiIiJSAAM4ERERERERkQIYwImIiIiIiIgUwABOREREREREpAAGcCIiIiIiIiIFMIATERERERERKYABnIiIiIiIiEgBDOBERERERERECmAAJyIiIiIiIlIAAzgRERERERGRAhjAiYiIiIiIiBTAAE5ERERERESkAAZwIiIiIiIiIgUwgBMREREREREpgAGciIiIiIiISAEM4ERERERE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8pUtWOfbDwM4reBwOOBwOK457jOf+Qw+8YlPyM9nZ2dxzz334Ctf+QpaW1sBAG1tbXjqqaeQTCaRm5sLADh79iwOHDiw7BxaIqWttc6BxfDd3NyM06dPQ6tdfvYO65x2Mr1ej+bmZrzyyit429veBkCcsvvKK6/g2LFjWT46oo0RBAGf//zn8bvf/Q7f//73l/1BFQBaWlqQm5uLV155BbfeeisA8aoXk5OTaGtry8IRE63fTTfdhF/+8pfLtp04cQJVVVU4fvw4ysrKWOfbEAM4bVh5efmy50ajEQCwb98++a/Mt912G77+9a/j05/+NI4fP47h4WF873vfw4kTJxQ/XqKNmJmZwZ133ony8nJ86lOfgs/nk7+28Ndj1jntdB/+8IfxqU99Ci0tLTh06BD+8z//E7FYbFlXhWgneeSRR/CrX/0KTz/9NEwmk3y+q8VigcFggMViwe23347HHnsMNpsNZrMZX/jCF9De3s5gQjuG2WyW1zVYYDQaYbfb5e2s8+2HAZy2lMViwXe/+12cOnUK73rXu1BQUICPfexjeN/73pftQyNak5dffhnj4+MYHx/Hm9/85mVfGxwcBMA6p53vH/7hH+Dz+fDVr34VbrcbjY2N+M53vsMp6LRj/ehHPwIA3Hnnncu2nz59Wv7D0smTJ6HVanH//fcjkUjg8OHDePjhhxU/VqKtxDrffjSCIAjZPggiIiIiIiKi3Y6XISMiIiIiIiJSAAM4ERERERERkQIYwImIiIiIiIgUwABOREREREREpAAGcCIiIiIiIiIFMIATERERERERKYABnIiIiIiIiEgBDOBERERERERECmAAJyIiIiIiIlIAAzgRERERERGRAhjAiYiIiIiIiBTAAE5ERERERESkgP8PLNMG1+qv8ZIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2)\n", "curves = [\n", @@ -3917,21 +3063,10 @@ }, { "cell_type": "code", - "execution_count": 214, - "id": "f6ae5188-ded5-49c4-b106-88cb2d7eddbe", + "execution_count": null, + "id": "9b358bf2", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, x_act=10)\n", "curves = [\n", @@ -3949,21 +3084,10 @@ }, { "cell_type": "code", - "execution_count": 215, - "id": "f1650f4a-56c7-4aec-a5e6-196f5a5e77aa", + "execution_count": null, + "id": "02407300", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+AAAAH6CAYAAACH9SapAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACD3ElEQVR4nOzdd3hUZd7G8e+09AIplEBCCb2FJr0odqxgF1Tsvb2WVVcX29rWta9dsXdFVBALKNJ7J/SWEEoSSE+mnvePaJRdCyU5Z5Jzf67L611nJjO/yXs/Z/fOnHmOwzAMAxERERERERGpU06rBxARERERERGxAxVwEREREREREROogIuIiIiIiIiYQAVcRERERERExAQq4CIiIiIiIiImUAEXERERERERMYEKuIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE9RpAX/ppZc444wz6NWrFwMHDuSaa65h8+bN+z3G6/Vy33330b9/f3r16sX1119PQUHBfo/Jy8vjiiuuICsri4EDB/Loo48SCATqcnQRERERERGRWlWnBXzBggWMGTOGjz76iAkTJhAIBLj00kupqKioecxDDz3EDz/8wFNPPcXbb7/Nnj17uO6662ruDwaDXHnllfj9fj744AMeeeQRJk6cyDPPPFOXo4uIiIiIiIjUKodhGIZZL7Z3714GDhzIO++8wxFHHEFpaSkDBw7k8ccf54QTTgBg06ZNjBw5kg8//JCePXsyY8YMrrrqKmbOnElKSgoA77//Po8//jhz584lIiLCrPFFREREREREDpmp3wEvLS0FIDExEYBVq1bh9/sZNGhQzWMyMzNJS0tj2bJlACxbtowOHTrUlG+AIUOGUFZWxsaNG80bXkREREREROQwmFbAQ6EQDz30EL1796ZDhw4AFBQU4PF4SEhI2O+xycnJ5Ofn1zzmt+UbqPn3Xx7z31rfMZmXZmyq7bcg8it/FTzUEu5NhJwFVk8jIiIiIiL1gNusF7rvvvvYsGED7733nimv99jUtbRJiKB3eiNTXs/OHA5ITo6nsLAU877QYL241scQtX4ilYs+ojy6s9XjSB2za87FXpRzsQPlXOxAObdGSkr8Xz7GlAJ+//338+OPP/LOO+/QrFmzmttTUlLw+/2UlJTs9yl4YWEhqampNY9ZsWLFfs/3yy7pvzzm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uIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE6iAi4iIiIiIiJhABVxERERERETEBCrgIiIiIiIiIiZQARcRERERERExgQq4iIiIiIiIiAlUwEVERERERERMoAIuIiIiIiIiYgIVcBERERERERETqICLiIiIiIiImEAFXERERERERMQEKuAiIiIiIiIiJlABFxERERERETGBCriIiIiIiIiICVTARUREREREREygAi4iIiIiIiJiAhVwEREREREREROogIuIiIiIiIiYQAVcRERERERExAQq4CIiIiIiIiImUAEXERERERERMYEKuIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE6iAi4iIiIiIiJhABVxERERERETEBCrgIiIiIiIiIiZQARcRERERERExgQq4iIiIiIiIiAlUwEVERERERERMoAIuIiIiIiIiYgIVcBERERERERETWFrAR4wYQceOHff75+WXX97vMWvXruX888+ne/fuDB8+nFdeecWiaUVEREREREQOndvqAW644QbOPvvsmn+PjY2t+c9lZWVceumlDBw4kPvuu4/169dz1113kZCQwDnnnGPFuCIiIiIiIiKHxPICHhsbS2pq6u/e98UXX+D3+3nooYeIiIigffv2ZGdnM2HCBBVwERERERERqVcsL+CvvPIKL7zwAs2bN+fkk09m3LhxuN3VYy1btoy+ffsSERFR8/ghQ4bwyiuvUFxcTGJi4h8+r8NR56PLz375Xet3Lg2Zci52oJyLHSjnYgfKefiytIBfcMEFdOnShcTERJYuXcoTTzxBfn4+d955JwAFBQW0bNlyv59JSUmpue+PCnhSUiwul/aXM1tycrzVI4jUOeVc7EA5FztQzsUOlPPwU+sF/PHHH//LjdKmTJlCZmYmF198cc1tnTp1wuPxMH78eG655Zb9PvU+WHv3luuvPSZyOKoXd2FhKYZh9TQidUM5FztQzsUOlHOxA+XcGikpf/0Hj1ov4JdccgmjRo3608ekp6f/7u1ZWVkEAgFyc3Np27YtKSkpFBQU7PeYX/79l0/C/4iCZj7D0O9dGj7lXOxAORc7UM7FDpTz8FPrBTwpKYmkpKRD+tns7GycTifJyckA9OzZk6eeegq/34/H4wFgzpw5tGnT5k+//y0iIiIiIiISbiz7ovTSpUt54403WLt2LTk5OXzxxRc8/PDDnHrqqTXl+pRTTsHj8fD3v/+dDRs2MGXKFN566639Tl0XERERERERqQ8s24QtIiKCKVOm8Nxzz+Hz+WjZsiXjxo3br1zHx8fz2muvcf/99zN69GgaN27MNddco0uQiYiIiIiISL3jMIyG962A/PxSq0ewFYejesOBggJt8iANl3IudqCcix0o52IHyrk1UlP/ehM2XatLRERERERExAQq4CIiIiIiIiImUAEXERERERERMYEKuIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE6iAi4iIiIiIiJhABVxERERERETEBCrgIiIiIiIiIiZQARcRERERERExgQq4iIiIiIiIiAlUwEVERERERERMoAIuIiIiIiIiYgIVcBERERERERETqICLiIiIiIiImEAFXERERERERMQEKuAiIiIiIiIiJlABFxERERERETGBCriIiIiIiIiICVTARUREREREREygAi4iIiIiIiJiAhVwEREREREREROogIuIiIiIiIiYQAVcRERERERExAQq4CIiIiIiIiImUAEXERERERERMYEKuIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE6iAi4iIiIiIiJhABVxERERERETEBCrgIiIiIiIiIiZQARcRERERERExgQq4iIiIiIiIiAlUwEVERERERERMoAIuIiIiIiIiYgIVcBERERERERETqICLiIiIiIiImEAFXERERERERMQEKuAiIiIiIiIiJlABFxERERERETGBCriIiIiIiIiICVTARUREREREREygAi4iIiIiIiJiAhVwEREREREREROogIuIiIiIiIiYQAVcRERERERExAQq4CIiIiIiIiImUAEXERERERERMYEKuIiIiIiIiIgJVMBFRERERERETKACLiIiIiIiImICFXARERERERERE6iAi4iIiIiIiJhABVxERERERETEBCrgIiIiIiIiIiZQARcRERERERExgQq4iIiIiIiIiAlUwEVERERERERMoAIuIiIiIiIiYgIVcBERERERERETqICLiIiIiIiImEAFXERERERERMQEKuAiIiIiIiIiJqizAv7CCy9w7rnnkpWVRd++fX/3MXl5eVxxxRVkZWUxcOBAHn30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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, y_act=20)\n", "curves = [\n", @@ -3981,21 +3105,10 @@ }, { "cell_type": "code", - "execution_count": 216, - "id": "b0cfdea8-ae01-406a-9f7e-5871d9e5d140", + "execution_count": null, + "id": "6a424616", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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HlNXV5exY8e+4L6HHnood9xxR/7rv/4r06ZNS5JceOGFOfPMM3P++ednl1122eozAwAAQH/o1wL+ctxzzz2ZM2dORo0alUMPPTTve9/7stNOOyVJlixZklGjRvWW7ySZO3duamtrc9999+Woo4560cetqen30fmtZ59rzznbMzmnDOScMpBzykDOB66qFvDDDjssRx11VMaPH581a9bkn//5n3PGGWfka1/7WgYNGpSmpqbU19f3uc/gwYMzevToNDY2vujj1tcPz6BBri9XtDFjRlZ7BOh3ck4ZyDllIOeUgZwPPFUt4Mcdd1zvvz97EbYjjzyy913xV2v9+hav9hSopmbL4m5u3phKpdrTQP+Qc8pAzikDOacM5Lw6Ghpe+gWPqn8E/XdNmDAhO+20Ux555JHMmTMnDQ0NWb9+fZ9jurq68swzz7zoeePPErTiVSqed7Z/ck4ZyDllIOeUgZwPPAPqc9pPPPFEnn766d5yPWvWrGzYsCHLli3rPeauu+5KT09Ppk+fXq0xAQAA4BXr13fAW1pa8uijj/befuyxx7J8+fKMHj06o0ePzic/+ckcffTRaWhoyJo1a/KP//iP2XPPPXPYYYclSSZOnJjDDjssF110URYsWJDOzs5cdtllOe6441wBHQAAgG1KvxbwZcuW5bTTTuu9/ez3fR9//PG55JJL8uCDD+Yb3/hGNm7cmJ133jmvf/3r8973vrfPd4FfffXVueyyy/KOd7wjtbW1eeMb35gLL7ywP8cGAACAra6mUtn+zgpobNxY7RFKpaZmywUHmppc5IHtl5xTBnJOGcg5ZSDn1TF27EtfhG1AnQMOAAAA2ysFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAFUMABAACgAAo4AAAAFEABBwAAgAIo4AAAAFAABRwAAAAKoIADAABAARRwAAAAKIACDgAAAAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAFUMABAACgAAo4AAAAFEABBwAAgAIo4AAAAFAABRwAAAAKoIADAABAARRwAAAAKIACDgAAAAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAFUMABAACgAAo4AAAAFEABBwAAgAIo4AAAAFAABRwAAAAK0K8F/N57783ZZ5+defPmZfLkyfne977XZ3+lUsnHP/7xzJs3L9OnT8873/nO/PrXv+5zzNNPP53zzjsvBx10UGbPnp0LLrggLS0t/Tk2AAAAbHX9WsBbW1szefLkXHzxxS+4/9prr82Xv/zlXHLJJbnpppuyww475PTTT097e3vvMe9///uzatWqXH/99fnsZz+bn/70p/nIRz7Sn2MDAADAVtevBXz+/Pn5u7/7uxx11FHP21epVPKlL30pf/3Xf50jjzwyU6ZMycc+9rGsW7eu953yhx56KHfccUcuv/zyzJgxI7Nnz86FF16YW265JU8++WR/jg4AAABb1eBq/eDHHnssjY2NmTt3bu+2kSNHZsaMGVmyZEmOO+64LFmyJKNGjcq0adN6j5k7d25qa2tz3333vWCxf1ZNTb+Oz+949rn2nLM9k3PKQM4pAzmnDOR84KpaAW9sbEySjBkzps/2MWPGpKmpKUnS1NSU+vr6PvsHDx6c0aNH997/hdTXD8+gQa4vV7QxY0ZWewTod3JOGcg5ZSDnlIGcDzxVK+D9af36Fq/2FKimZsvibm7emEql2tNA/5BzykDOKQM5pwzkvDoaGl76BY+qFfCxY8cmSZqbm7Pzzjv3bm9ubs6UKVOSJA0NDVm/fn2f+3V1deWZZ57pvf+LEbTiVSqed7Z/ck4ZyDllIOeUgZwPPFX7nPb48eMzduzYLF68uHfbpk2b8otf/CKzZs1KksyaNSsbNmzIsmXLeo+566670tPTk+nTpxc+MwAAALxa/foOeEtLSx599NHe24899liWL1+e0aNHZ9y4cTnttNPymc98JnvuuWfGjx+fj3/849l5551z5JFHJkkmTpyYww47LBdddFEWLFiQzs7OXHbZZTnuuOOyyy679OfoAAAAsFX1awFftmxZTjvttN7bV155ZZLk+OOPz1VXXZUzzjgjbW1t+chHPpINGzbk4IMPzhe+8IUMHTq09z5XX311LrvssrzjHe9IbW1t3vjGN+bCCy/sz7EBAABgq6upVLa/swIaGzdWe4RSqanZcsGBpiYXeWD7JeeUgZxTBnJOGch5dYwd+9IXYfNdXQAAAFAABRwAAAAKoIADAABAARRwAAAAKIACDgAAAAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAFUMABAACgAAo4AAAAFEABBwAAgAIo4AAAAFAABRwAAAAKoIADAABAARRwAAAAKIACDgAAAAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAFUMABAACgAAo4AAAAFEABBwAAgAIo4AAAAFAABRwAAAAKoIADAABAARRwAAAAKIACDgAAAAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAAClD1Av6v//qvmTx5cp9/jjnmmN797e3tWbBgQQ455JDMmjUrf/u3f5umpqYqTgwAAACv3OBqD5Ak++23X66//vre24MGDer99yuuuCI/+tGPcs0112TkyJG57LLLcu655+bGG2+sxqgAAADwqgyIAj5o0KCMHTv2eds3btyY//7v/87VV1+dOXPmJNlSyI899tgsXbo0M2fOLHhSAAAAeHUGRAF/5JFHMm/evAwdOjQzZ87Meeedl3HjxmXZsmXp7OzM3Llze4+dOHFixo0b95IFvKamgMFJ8txz7TlneybnlIGcUwZyThnI+cBV9QI+ffr0XHnlldl7773T2NiYT33qUzn55JPzrW99K01NTRkyZEhGjRrV5z5jxoxJY2Pjiz5mff3wDBpU9dPbS2fMmJHVHgH6nZxTBnJOGcg5ZSDnA0/VC/j8+fN7/33KlCmZMWNGDj/88Nx6660ZNmzYq3rM9etbvNpToJqaLYu7uXljKpVqTwP9Q84p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AAVQwAEAAKAACjgAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACqCAAwAAQAEUcAAAACiAAg4AAAAF6LcC/pnPfCYnnXRSZsyYkdmzZ7/gMWvXrs2ZZ56ZGTNmZM6cOfnoRz+arq6uPsfcfffdOf744zN16tQcddRR+frXv95fIwMAAEC/6bcC3tnZmWOOOSZ/8Rd/8YL7u7u7c9ZZZ6WzszM33nhjrrrqqtx88835xCc+0XvMmjVrctZZZ+WQQw7JN7/5zbzjHe/IhRdemDvuuKO/xgYAAIB+Mbi/Hvg973lPkrzoO9Y/+clPsmrVqlx//fVpaGjI/vvvn/e+9725+uqrc+6556auri433nhjxo8fnw9+8INJkokTJ+ZnP/tZ/v3f/z2HHXZYf40OAAAAW12/FfCXsnTp0kyaNCkNDQ292+bNm5dLLrkkq1atygEHHJClS5dmzpw5fe43b968XHHFFS/5+DU1W31kXsSzz7XnnO2ZnFMGck4ZyDllIOcDV9UKeFNTU5/ynaT3dmNj4+89ZtOmTdm8eXOGDRv2go89duzIfpiYlzJmjOed7Z+cUwZyThnIOWUg5wPPKyrgV199da699trfe8zChQszceLEP2goAAAA2N68ogL+7ne/O8cff/zvPWbChAkv67EaGhpy33339dnW1NSUJBk7dmzvMc9u+91jRowY8aLvfgMAAMBA9IoKeH19ferr67fKD545c2Y++9nPprm5OWPGjEmSLFq0KCNGjMi+++7be8yPf/zjPvdbtGhRZs6cuVVmAAAAgKL029eQrV27NsuXL8/atWvT3d2d5cuXZ/ny5WlpaUmy5WJq++67b84///ysWLEid9xxR6655pqcfPLJqaurS5KcdNJJWbNmTT72sY/loYceyle+8pXceuuteec739lfYwMAAEC/qKlUKpX+eOAPfvCDufnmm5+3/Utf+lIOOeSQJMnjjz+eSy65JPfcc0922GGHHH/88TnvvPMyePBzb8zffffdufLKK7Nq1arsuuuuOeecc3LCCSf0x8gAAADQb/qtgFMuHR0deetb35oVK1bkG9/4Rvbff//efStWrMill16aX/7yl6mvr88pp5ySM844o4rTwsv32GOP5dOf/nTuuuuuNDU1Zeedd85b3vKWnH322b2f1knknG3fV77ylVx33XVpbGzMlClTctFFF2X69OnVHgtelc997nP57ne/m9WrV2fYsGGZNWtW3v/+92efffbpPaa9vT1XXXVVFi5cmI6OjsybNy8XX3zx876BB7YVn//85/NP//RPOe200/LhD384iZwPRP32EXTK5WMf+1h23nnn523ftGlTTj/99IwbNy5f//rXc/755+eTn/xkvva1r1VhSnjlVq9enUqlkksvvTS33HJLPvShD+XGG2/Mv/zLv/QeI+ds6xYuXJgrr7wyf/M3f5Obb745U6ZMyemnn57m5uZqjwavyj333JOTTz45N910U66//vp0dXXl9NNPT2tra+8xV1xxRX74wx/mmmuuyZe//OWsW7cu5557bhWnhlfvvvvuy4033pjJkyf32S7nA1AF/kC333575ZhjjqmsXLmyMmnSpMoDDzzQu+8rX/lK5bWvfW2lvb29d9s//uM/Vo4++uhqjApbxbXXXls54ogjem/LOdu6P//zP68sWLCg93Z3d3dl3rx5lc997nNVnAq2nubm5sqkSZMq99xzT6VSqVQ2bNhQOfDAAyu33npr7zGrVq2qTJo0qbJkyZIqTQmvzqZNmypvfOMbK3feeWfllFNOqVx++eWVSkXOByrvgPMHaWpqykUXXZSPfexjL/jVcEuXLs3s2bP7fFR33rx5efjhh/PMM88UOSpsNRs3bszo0aN7b8s527KOjo7cf//9mTt3bu+22trazJ07N0uWLKniZLD1bNy4MUl6/3YvW7YsnZ2dfXI/ceLEjBs3LkuXLq3GiPCqXXrppZk/f36fPCdyPlAp4LxqlUolH/zgB3PSSSdl2rRpL3hMU1PT884xefb2//2Od9gWPPLII7nhhhty0kkn9W6Tc7ZlTz31VLq7u3u/EvRZY8aMkV+2Cz09Pbniiity0EEHZdKkSUm2/G0eMmRIRo0a1efYMWPGpLGxsRpjwqtyyy235IEHHsh55533vH1yPjC9ou8BpxyuvvrqXHvttb/3mIULF+bOO+9MS0tLzjrrrIImg63n5eZ84sSJvbeffPLJ/NVf/VWOOeaYvO1tb+vvEQHYChYsWJCVK1fmP/7jP6o9CmxVv/nNb/IP//AP+bd/+7cMHTq02uPwMingPM+73/3uHH/88b/3mAkTJuSuu+7K0qVLn/fu94knnpg3v/nN+ehHP5qGhobnvYPy7G1XX6SaXm7On/Xkk0/mtNNOy6xZs3LZZZf1OU7O2ZbttNNOGTRo0PMuuNbc3Cy/bPMuvfTS3H777bnhhhuy66679m5vaGhIZ2dnNmzY0Ofdwebm5owdO7Yao8Irdv/996e5ubnPVzR3d3fn3nvv7f1mCzkfeBRwnqe+vj719fUvedyFF16Y973vfb23161bl9NPPz3/8i//khkzZiRJZs6cmWuuuSadnZ0ZMmRIkmTRokXZe++9+5xDC0V7uTlPnivfBx54YK688srU1vY9e0fO2ZbV1dXlwAMPzOLFi3PkkUcm2fKR3cWLF+eUU06p8nTw6lQqlVx22WW57bbb8uUvf7nPC6pJMnXq1AwZMiSLFy/O0UcfnWTLt16sXbs2M2fOrMLE8Modeuih+da3vtVn24c+9KHss88+OeOMM7LbbrvJ+QCkgPOqjRs3rs/tHXfcMUmyxx579L7K/OY3vzmf+tSn8uEPfzhnnHFGVq5cmS996Uv50Ic+VPi88Go8+eSTOfXUUzNu3Lh84AMfyPr163v3PfvqsZyzrXvXu96VD3zgA5k6dWqmT5+eL37xi2lra+vzrgpsSxYsWJBvf/vb+fSnP53hw4f3nu86cuTIDBs2LCNHjsyJJ56Yq666KqNHj86IESNy+eWXZ9asWYoJ24wRI0b0XtfgWTvuuGNe85rX9G6X84FHAadfjRw5Mtddd10uvfTSnHDCCdlpp51yzjnn5O1vf3u1R4OX5c4778wjjzySRx55JG94wxv67PvVr36VRM7Z9h177LFZv359PvGJT6SxsTH7779/vvCFL/gIOtusr371q0mSU089tc/2K6+8sveFpQsuuCC1tbV5z3vek46OjsybNy8XX3xx4bNCf5LzgaemUqlUqj0EAAAAbO98DRkAAAAUQAEHAACAAijgAAAAUAAFHAAAAAqggAMAAEABFHAAAAAogAIOAAAABVDAAQAAoAAKOAAAABRAAQcAAIACKOAAAABQAAUcAAAACvD/AfRj7fYtCBiJAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, x_act=10, y_act=20)\n", "curves = [\n", @@ -4013,23 +3126,12 @@ }, { "cell_type": "code", - "execution_count": 217, - "id": "669bcaca-0d61-44be-bda1-8a271719064d", + "execution_count": null, + "id": "5fb5f4db", "metadata": { "lines_to_next_cell": 0 }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9gAAAH0CAYAAADG24UVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACVzUlEQVR4nOzdZ4AV5cH28f+cvr1Sd+ll6VWlgyiiFBVQwN41JkbzJEbTo2mP5olvEk2xYEMR6SAodgUVEUsEpJdlaUtZtrfT5/1wcI1xNqJnl7Nn9/p9y+zZM/fgfWW4mJl7DNM0TUREREREREQkKrZYD0BERERERESkOVDBFhEREREREWkAKtgiIiIiIiIiDUAFW0RERERERKQBqGCLiIiIiIiINAAVbBEREREREZEGoIItIiIiIiIi0gBUsEVEREREREQagCPWA/imiooqT8t+MjOTKCmpPi37Eok3yoeINWVDxJqyIWJN2YgfrVqlnNLndAXbgmGA3W7DMGI9EpGmR/kQsaZsiFhTNkSsKRvNkwq2iIiIiIiISANQwRYRERERERFpACrYIiIiIiIiIg1ABVtERERERESkAahgi4iIiIiIiDQAFWwRERERERGRBqCCLSIiIiIiItIAVLBFREREREREGoAKtoiIiIiIiEgDUMEWERERERERaQAq2CIiIiIiIiINQAVbREREREREpAGoYIuIiIiIiIg0ABVsERERERERkQaggi0iIiIiIiLSAFSwRURERERERBqACraIiIiIiIhIA1DBFhEREREREWkAKtiNwJX/CukLL8C9+4VYD0VEREREREROExXsRuAo3oHzxBZSX7uNlDd/BP7qWA9JREREREREGpkKdiOoGfp9qs/4ASYGnh2LyFh0AY6iz2I9LBEREREREWlEKtiNweagZthdlE9bRCi5HY7yfaQvuYiETx8FMxzr0YmIiIiIiEgjUMFuRIGcEZTOfg1f1wswwgGS3/8daauuxqg+HuuhiYiIiIiISANTwW5kpieDigvmUDnufkyHB9fBtWQunIhr/1uxHpqIiIiIiIg0IBXs08Ew8Pa7itKZqwlm9cJWe4K0F68h6b17IeSL9ehERERERESkAahgn0ahzJ6UXvoiNf2vByBx0+OkL7kIe+meGI9MREREREREoqWCfbo5PFSP/R3lU54m7MnEeWIrGYsm4dk2H0wz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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "defaults = dict(p=2, x_act=10, y_act=20)\n", "curves = [\n", @@ -4048,7 +3150,7 @@ { "cell_type": "code", "execution_count": null, - "id": "59b18c4c", + "id": "9548029b", "metadata": {}, "outputs": [], "source": [] @@ -4056,7 +3158,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c5d91773", + "id": "74a35d7d", "metadata": {}, "outputs": [], "source": [] @@ -4064,7 +3166,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5c0af1b", + "id": "1ed207ed", "metadata": {}, "outputs": [], "source": [] diff --git a/resources/NBTest/NBTest_002_CPCandOptimizer.py b/resources/NBTest/NBTest_002_CPCandOptimizer.py index 9849724c5..49a3506ab 100644 --- a/resources/NBTest/NBTest_002_CPCandOptimizer.py +++ b/resources/NBTest/NBTest_002_CPCandOptimizer.py @@ -16,16 +16,16 @@ # + from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, CPCInverter, Pair -#from fastlane_bot.tools.simplepair import SimplePair -from fastlane_bot.tools.optimizer import CPCArbOptimizer, F -#import carbon.tools.tokenscale as ts +from fastlane_bot.tools.optimizer import CPCArbOptimizer, F, MargPOptimizer, SimpleOptimizer +from fastlane_bot.tools.analyzer import CPCAnalyzer print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Pair)) print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) -#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ts.TokenScale)) print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("3.0", __VERSION__) @@ -34,10 +34,50 @@ # # CPC and Optimizer in Fastlane [NBTest002] try: - df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") + market_df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") -CCmarket = CPCContainer.from_df(df) + market_df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") +CCmarket = CPCContainer.from_df(market_df) + +# ## description + +d = CCmarket.bycid("167").description().splitlines() +d0 = """ +cid = 167 [167] +primary = WETH/DAI [WETH/DAI] +pp = 1,826.764318 DAI per WETH +pair = DAI/WETH [DAI/WETH] +tknx = 3,967,283.591895 DAI [virtual: 3,967,283.592] +tkny = 2,171.754481 WETH [virtual: 2,171.754] +p = 0.0005474159913752679 [min=None, max=None] WETH per DAI +fee = 0.003 +descr = sushiswap_v2 DAI/WETH 0.003 +""".strip().splitlines() +d0 = [l.strip() for l in d0] +assert d == d0 +for l in d0: + print(l) + +# ## bycids + +CC = CCmarket + +assert len(CC.bycids()) == len(CC) +assert type(CC.bycids()) == type(CC) +assert type(CC.bycids(ascc=False)) == tuple +for c in CC: + assert isinstance(c.cid, str), f"{c.cid} is not of type str" +cids = [c.cid for c in CC] +assert raises(CC.bycids, include="foo", endswith="bar") == 'include and endswith cannot be used together' +assert raises(CC.bycids,"167, 168, 169") +CC1 = CC.bycids(["167", "168", "169"]) +assert len(CC1) == 3 +assert [c.cid for c in CC1] == ['167', '168', '169'] +CC2 = CC.bycids(endswith="11") +assert len(CC2) == 5 +assert [c.cid for c in CC2] == ['211', '311', '411', '511', '611'] +CC3 = CC.bycids(endswith="11", exclude=['311', '411']) +assert [c.cid for c in CC3] == ['211', '511', '611'] # ## pairo and primary @@ -406,8 +446,8 @@ pe = CC.price_estimate(tknq="USDC", tknb="WETH") assert pe == np.average(p, weights=w) -O = CPCArbOptimizer(CC) -Om = CPCArbOptimizer(CCmarket) +O = SimpleOptimizer(CC) +Om = SimpleOptimizer(CCmarket) assert O.price_estimates(tknq="USDC", tknbs=["WETH"]) == CC.price_estimates(tknqs=["USDC"], tknbs=["WETH"]) CCmarket.fp(onein="USDC") r = Om.price_estimates(tknq="USDC", tknbs=["WETH", "WBTC"]) @@ -480,7 +520,7 @@ CCfm += CPC.from_pk(p=pp, k=k, pair=pair, cid = f"mkt-{ctr}") ctr += 1 -O = CPCArbOptimizer(CCfm) +O = MargPOptimizer(CCfm) assert O.MO_PSTART == O.MO_P tknq = "WETH" df = O.margp_optimizer(tknq, result=O.MO_PSTART) @@ -628,13 +668,13 @@ # ## Real data and retrieval of curves -try: - df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") -except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") -CC = CPCContainer.from_df(df) +# try: +# df = pd.read_csv("../nbtest_data/NBTEST_002_Curves.csv.gz") +# except: +# df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") +CC = CPCContainer.from_df(market_df) assert len(CC) == 459 -assert len(CC) == len(df) +assert len(CC) == len(market_df) assert len(CC.pairs()) == 326 assert len(CC.tokens()) == 141 assert CC.tokens_s @@ -652,7 +692,7 @@ cids = [c.cid for c in CC.bypairs(CC.fp(onein="WBTC"))] assert len(cids) == len(CC1) assert CC.bycid("bla") is None -assert not CC.bycid(191) is None +assert not CC.bycid("191") is None assert raises(CC.bycids, ["bla"]) assert len(CC.bycids(cids)) == len(cids) assert len(CC.bytknx("WETH")) == 46 @@ -947,8 +987,8 @@ assert iseq([c.p for c in CC0][-1], 2000) # + -O = CPCArbOptimizer(CC) -O0 = CPCArbOptimizer(CC0) +O = SimpleOptimizer(CC) +O0 = SimpleOptimizer(CC0) func = O.simple_optimizer(result=O.SO_DXDYVECFUNC) func0 = O0.simple_optimizer(result=O.SO_DXDYVECFUNC) funcs = O.simple_optimizer(result=O.SO_DXDYSUMFUNC) @@ -1033,7 +1073,7 @@ # CC.plot() # - -O = CPCArbOptimizer(CC) +O = SimpleOptimizer(CC) r = O.simple_optimizer() print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") assert iseq(r.result, -1.3194573866437527) @@ -1109,7 +1149,7 @@ for i in range(10) ] tild = TI.to_dicts(til) -tildf = TI.to_df(til) +tildf = TI.to_df(til, robj=None) assert len(tild) == 10 assert len(tildf) == 10 assert tild[0] == { @@ -1140,7 +1180,7 @@ CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.0, k=200000*200000, cid="c2") -O = CPCArbOptimizer(CCa) +O = MargPOptimizer(CCa) r = O.margp_optimizer("WETH", result=O.MO_DEBUG) assert isinstance(r, dict) @@ -1176,7 +1216,7 @@ assert r.targettkn == "WETH" assert r.dtokens is None assert sum(abs(x) for x in r.dtokens_t) < 1e-10 -assert r.p_optimal is None +assert not r.p_optimal is None assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) assert set(r.tokens_t) == {'USDC', 'USDT'} assert r.errormsg is None @@ -1205,7 +1245,7 @@ assert sum(abs(x) for x in r.dtokens_t) < 1e-10 assert iseq(0.0005, r.p_optimal["USDC"], r.p_optimal["USDT"]) assert iseq(0.0005, r.p_optimal_t[0], r.p_optimal_t[1]) -assert tuple(r.p_optimal.values()) == r.p_optimal_t +assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t assert set(r.tokens_t) == set(('USDC', 'USDT')) assert r.errormsg is None assert r.is_error == False @@ -1219,7 +1259,7 @@ CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=200000*200000, cid="c2") -O = CPCArbOptimizer(CCa) +O = MargPOptimizer(CCa) r = O.margp_optimizer("WETH", result=O.MO_DEBUG) assert isinstance(r, dict) @@ -1249,11 +1289,11 @@ assert abs(r.dtokens_t[0]) < 1e-6 assert abs(r.dtokens_t[1]) < 1e-6 assert r.dtokens["WETH"] == float(r) -assert tuple(r.p_optimal.values()) == r.p_optimal_t -assert tuple(r.p_optimal) == r.tokens_t +assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t +assert tuple(r.p_optimal)[:-1] == r.tokens_t assert iseq(r.p_optimal_t[0], 0.0005421803152482512) or iseq(r.p_optimal_t[0], 0.00045575394031021585) assert iseq(r.p_optimal_t[1], 0.0005421803152482512) or iseq(r.p_optimal_t[1], 0.00045575394031021585) -assert tuple(r.p_optimal.values()) == r.p_optimal_t +assert tuple(r.p_optimal.values())[:-1] == r.p_optimal_t assert set(r.tokens_t) == set(('USDC', 'USDT')) assert r.errormsg is None assert r.is_error == False @@ -1262,7 +1302,42 @@ abs(r.dtokens_t[0]) +ti = r.trade_instructions() +assert len(ti) == 3 +dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR) +assert len(dfa)==7 +assert list(dfa.index) == ['c0', 'c1', 'c2', 'PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] +assert list(dfa.columns) == ['WETH', 'USDC', 'USDT'] +assert dfa.loc["PRICE"][0] == 1 +assert iseq(dfa.loc["PRICE"][1], 0.0005421803152) +assert iseq(dfa.loc["PRICE"][2], 0.0004557539403) +dfa + +df = r.trade_instructions(ti_format=O.TIF_DF) +assert len(df) == 3 +assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] +df + +df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") +assert len(df) == 3 +assert list(df.columns) == ['pair', 'pairp', 'tknin', 'tknout', 'WETH', 'USDC', 'USDT'] +assert df["USDT"].loc["c0"] == "" +df + +dcts = r.trade_instructions(ti_format=O.TIF_DICTS) +assert len(dcts) == 3 +assert list(dcts[0].keys()) == ['cid', 'tknin', 'amtin', 'tknout', 'amtout', 'error'] +d0 = dcts[0] +assert d0["cid"] == "c0" +assert iseq(d0["amtin"], 0.41326380379418914) +dcts +objs = r.trade_instructions(ti_format=O.TIF_OBJECTS) +assert len(objs) == 3 +assert type(objs[0]).__name__ == 'TradeInstruction' +objs + +help(r.trade_instructions) # ## simple_optimizer demo [NOTEST] @@ -1270,8 +1345,8 @@ O = CPCArbOptimizer(CC) c0 = CC.curves[0] CC0 = CPCContainer([c0]) -O = CPCArbOptimizer(CC) -O0 = CPCArbOptimizer(CC0) +O = SimpleOptimizer(CC) +O0 = SimpleOptimizer(CC0) funcvx = O.simple_optimizer(result=O.SO_DXDYVALXFUNC) funcvy = O.simple_optimizer(result=O.SO_DXDYVALYFUNC) funcvx0 = O0.simple_optimizer(result=O.SO_DXDYVALXFUNC) @@ -1305,7 +1380,7 @@ CCa += CPC.from_pk(pair="WETH/USDC", p=2000, k=10*20000, cid="c0") CCa += CPC.from_pk(pair="WETH/USDT", p=2000, k=10*20000, cid="c1") CCa += CPC.from_pk(pair="USDC/USDT", p=1.2, k=20000*20000, cid="c2") -O = CPCArbOptimizer(CCa) +O = MargPOptimizer(CCa) CCa.plot() @@ -1328,7 +1403,7 @@ assert len(CC) == len(CCr) + len(CCi) CC.plot() -O = CPCArbOptimizer(CC) +O = SimpleOptimizer(CC) r = O.simple_optimizer() print(f"Arbitrage gains: {-r.valx:.4f} {r.tknxp} [time={r.time:.4f}s]") CC_ex = CPCContainer(c.execute(dx=dx) for c, dx in zip(r.curves, r.dxvalues)) diff --git a/resources/NBTest/NBTest_003_Serialization.ipynb b/resources/NBTest/NBTest_003_Serialization.ipynb index c779f62b8..62f857786 100644 --- a/resources/NBTest/NBTest_003_Serialization.ipynb +++ b/resources/NBTest/NBTest_003_Serialization.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 34, + "execution_count": 1, "id": "be65f3d2-769a-449f-90cd-2633a11478d0", "metadata": {}, "outputs": [ @@ -10,18 +10,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v2.10.1 (07/May/2023)\n", - "CPCArbOptimizer v3.6 (06/May/2023)\n", + "ConstantProductCurve v2.14 (23/May/2023)\n", + "CPCArbOptimizer v4.0 (10/May/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", "Version = 3-b2.2 [requirements >= 2.0 is met]\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_2607/4063320543.py:8: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pairtkn_intkn_outnis_reverseprice_outinprice
0LINK/WETHLINKWETH1False0.0041530.004153
1LINK/WETHWETHLINK1True240.7650160.004153
2LINK/USDCLINKUSDC1False6.1005216.100521
3LINK/USDCUSDCLINK1True0.1639206.100521
4AAVE/WETHAAVEWETH1False0.0408050.040805
5AAVE/WETHWETHAAVE1True24.5068920.040805
6UNI/WETHUNIWETH1False0.0033270.003327
7UNI/WETHWETHUNI1True300.6130150.003327
8WETH/USDCUSDCWETH1True0.0005491822.819584
9WETH/USDCWETHUSDC1False1822.8195841822.819584
10LINK/WETHLINKWETH1False0.0041440.004144
11LINK/WETHWETHLINK1True241.2888110.004144
12LINK/USDCLINKUSDC1False7.3008817.300881
13LINK/USDCUSDCLINK1True0.1369707.300881
14AAVE/WETHAAVEWETH1False0.0405490.040549
15AAVE/WETHWETHAAVE1True24.6612930.040549
16AAVE/USDCAAVEUSDC1False80.82639380.826393
17AAVE/USDCUSDCAAVE1True0.01237280.826393
18UNI/WETHUNIWETH1False0.0033300.003330
19UNI/WETHWETHUNI1True300.2552450.003330
20UNI/USDCUNIUSDC1False6.0986346.098634
21UNI/USDCUSDCUNI1True0.1639716.098634
22WETH/USDCUSDCWETH1True0.0005491819.922154
23WETH/USDCWETHUSDC1False1819.9221541819.922154
\n", - "" - ], - "text/plain": [ - " pair tkn_in tkn_out n is_reverse price_outin price\n", - "0 LINK/WETH LINK WETH 1 False 0.004153 0.004153\n", - "1 LINK/WETH WETH LINK 1 True 240.765016 0.004153\n", - "2 LINK/USDC LINK USDC 1 False 6.100521 6.100521\n", - "3 LINK/USDC USDC LINK 1 True 0.163920 6.100521\n", - "4 AAVE/WETH AAVE WETH 1 False 0.040805 0.040805\n", - "5 AAVE/WETH WETH AAVE 1 True 24.506892 0.040805\n", - "6 UNI/WETH UNI WETH 1 False 0.003327 0.003327\n", - "7 UNI/WETH WETH UNI 1 True 300.613015 0.003327\n", - "8 WETH/USDC USDC WETH 1 True 0.000549 1822.819584\n", - "9 WETH/USDC WETH USDC 1 False 1822.819584 1822.819584\n", - "10 LINK/WETH LINK WETH 1 False 0.004144 0.004144\n", - "11 LINK/WETH WETH LINK 1 True 241.288811 0.004144\n", - "12 LINK/USDC LINK USDC 1 False 7.300881 7.300881\n", - "13 LINK/USDC USDC LINK 1 True 0.136970 7.300881\n", - "14 AAVE/WETH AAVE WETH 1 False 0.040549 0.040549\n", - "15 AAVE/WETH WETH AAVE 1 True 24.661293 0.040549\n", - "16 AAVE/USDC AAVE USDC 1 False 80.826393 80.826393\n", - "17 AAVE/USDC USDC AAVE 1 True 0.012372 80.826393\n", - "18 UNI/WETH UNI WETH 1 False 0.003330 0.003330\n", - "19 UNI/WETH WETH UNI 1 True 300.255245 0.003330\n", - "20 UNI/USDC UNI USDC 1 False 6.098634 6.098634\n", - "21 UNI/USDC USDC UNI 1 True 0.163971 6.098634\n", - "22 WETH/USDC USDC WETH 1 True 0.000549 1819.922154\n", - "23 WETH/USDC WETH USDC 1 False 1819.922154 1819.922154" - ] - }, - "execution_count": 63, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.edgedf(consolidated=False)" ] }, { "cell_type": "code", - "execution_count": 64, + "execution_count": null, "id": "adb634cb-a53e-4a8b-8bf3-3e99602d1d6a", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nn_revprice
pair
AAVE/USDC1180.826393
AAVE/WETH220.040677
LINK/USDC226.700701
LINK/WETH220.004149
UNI/USDC116.098634
UNI/WETH220.003329
WETH/USDC221821.370869
\n", - "
" - ], - "text/plain": [ - " n n_rev price\n", - "pair \n", - "AAVE/USDC 1 1 80.826393\n", - "AAVE/WETH 2 2 0.040677\n", - "LINK/USDC 2 2 6.700701\n", - "LINK/WETH 2 2 0.004149\n", - "UNI/USDC 1 1 6.098634\n", - "UNI/WETH 2 2 0.003329\n", - "WETH/USDC 2 2 1821.370869" - ] - }, - "execution_count": 64, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "df = AG.edgedf(consolidated=True)\n", "df" @@ -1941,29 +1439,10 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": null, "id": "74fa4d4f-e077-4f54-8719-d91ce21bff3f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "71.22 LINK -0.3 WETH 170\n", - "-0.28 LINK 1.99 USDC 171\n", - "3.4 AAVE -0.14 WETH 180\n", - "-10.82 UNI 0.04 WETH 305\n", - "755278.31 USDC -393.48 WETH 309\n", - "-65.01 LINK 0.27 WETH 337\n", - "-5.93 LINK 46.42 USDC 339\n", - "-3.38 AAVE 0.13 WETH 349\n", - "-0.02 AAVE 1.41 USDC 351\n", - "60.27 UNI -0.2 WETH 599\n", - "-49.45 UNI 316.84 USDC 601\n", - "1507698.66 USDC -786.1 WETH 606\n" - ] - } - ], + "outputs": [], "source": [ "dx,dy = ((71.22, -0.28, 3.4, -10.82, 755278.31, -65.01, -5.93, -3.38, -0.02, 60.27, -49.45, 1507698.66, -2263343.63), \n", " (-0.3, 1.99, -0.14, 0.04, -393.48, 0.27, 46.42, 0.13, 1.41, -0.2, 316.84, -786.1, 833.78))\n", @@ -1976,7 +1455,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "519e81fb-180b-4003-9104-09df28bda6a4", "metadata": {}, "outputs": [], @@ -1987,22 +1466,10 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "7657cc5e-b0fc-459c-8a10-bbe1f9960ecb", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[0 1 0 0 0]\n", - " [1 0 0 1 1]\n", - " [1 1 0 1 1]\n", - " [0 1 0 0 0]\n", - " [0 1 0 0 0]]\n" - ] - } - ], + "outputs": [], "source": [ "assert np.all(AG2.A.toarray() == np.array(\n", " [[0, 1, 0, 0, 0],\n", @@ -2015,46 +1482,10 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "5fe9565c-71a6-4efd-a690-44341813c423", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'len': 2,\n", - " 'edges': ({'node_in': {'tkn': 'USDC', 'ix': 2},\n", - " 'amount_in': 755278.31,\n", - " 'node_out': {'tkn': 'WETH', 'ix': 1},\n", - " 'amount_out': 393.48,\n", - " 'ix': 4,\n", - " 'inverse': False,\n", - " 'uid': 309},\n", - " {'node_in': {'tkn': 'USDC', 'ix': 2},\n", - " 'amount_in': 1507698.66,\n", - " 'node_out': {'tkn': 'WETH', 'ix': 1},\n", - " 'amount_out': 786.1,\n", - " 'ix': 11,\n", - " 'inverse': False,\n", - " 'uid': 606}),\n", - " 'amount_in': {'amount': 2262976.9699999997, 'node': {'tkn': 'USDC', 'ix': 2}},\n", - " 'amount_in_remaining': {'amount': 2262976.9699999997,\n", - " 'node': {'tkn': 'USDC', 'ix': 2}},\n", - " 'amount_out': {'amount': 1179.58, 'node': {'tkn': 'WETH', 'ix': 1}},\n", - " 'price': 0.0005212514381001412,\n", - " 'utilization': 0.0,\n", - " 'amounts_in': (755278.31, 1507698.66),\n", - " 'amounts_in_remaining': (755278.31, 1507698.66),\n", - " 'amounts_out': (393.48, 786.1),\n", - " 'prices': (0.0005209735203437789, 0.0005213906603856769),\n", - " 'utilizations': (0.0, 0.0)}" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "assert AG2.edge_statistics(\"WETH\", \"USDC\", bothways=False) is None\n", "assert len(AG2.edge_statistics(\"WETH\", \"USDC\", bothways=True)) == 2\n", @@ -2064,7 +1495,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "80e653d3-8c77-4085-b8f7-c74ec83de173", "metadata": {}, "outputs": [], @@ -2083,169 +1514,10 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "id": "18c718aa-6539-4e32-b2ac-cce270a48356", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
pairtkn_intkn_outamount_inamount_out
uid
170LINK/WETHLINKWETH71.220.30
171LINK/USDCUSDCLINK1.990.28
180AAVE/WETHAAVEWETH3.400.14
305UNI/WETHWETHUNI0.0410.82
309WETH/USDCUSDCWETH755278.31393.48
337LINK/WETHWETHLINK0.2765.01
339LINK/USDCUSDCLINK46.425.93
349AAVE/WETHWETHAAVE0.133.38
351AAVE/USDCUSDCAAVE1.410.02
599UNI/WETHUNIWETH60.270.20
601UNI/USDCUSDCUNI316.8449.45
606WETH/USDCUSDCWETH1507698.66786.10
\n", - "
" - ], - "text/plain": [ - " pair tkn_in tkn_out amount_in amount_out\n", - "uid \n", - "170 LINK/WETH LINK WETH 71.22 0.30\n", - "171 LINK/USDC USDC LINK 1.99 0.28\n", - "180 AAVE/WETH AAVE WETH 3.40 0.14\n", - "305 UNI/WETH WETH UNI 0.04 10.82\n", - "309 WETH/USDC USDC WETH 755278.31 393.48\n", - "337 LINK/WETH WETH LINK 0.27 65.01\n", - "339 LINK/USDC USDC LINK 46.42 5.93\n", - "349 AAVE/WETH WETH AAVE 0.13 3.38\n", - "351 AAVE/USDC USDC AAVE 1.41 0.02\n", - "599 UNI/WETH UNI WETH 60.27 0.20\n", - "601 UNI/USDC USDC UNI 316.84 49.45\n", - "606 WETH/USDC USDC WETH 1507698.66 786.10" - ] - }, - "execution_count": 70, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "assert len(AG2.edgedf(consolidated=False)) == 12\n", "AG2.edgedf(consolidated=False)" @@ -2253,136 +1525,10 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "id": "1f40c9ae-767e-4b68-9cf1-c5cd32fc7d35", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
amount_inamount_out
pairtkn_intkn_out
AAVE/USDCUSDCAAVE1.410.02
AAVE/WETHAAVEWETH3.400.14
WETHAAVE0.133.38
LINK/USDCUSDCLINK48.416.21
LINK/WETHLINKWETH71.220.30
WETHLINK0.2765.01
UNI/USDCUSDCUNI316.8449.45
UNI/WETHUNIWETH60.270.20
WETHUNI0.0410.82
WETH/USDCUSDCWETH2262976.971179.58
\n", - "
" - ], - "text/plain": [ - " amount_in amount_out\n", - "pair tkn_in tkn_out \n", - "AAVE/USDC USDC AAVE 1.41 0.02\n", - "AAVE/WETH AAVE WETH 3.40 0.14\n", - " WETH AAVE 0.13 3.38\n", - "LINK/USDC USDC LINK 48.41 6.21\n", - "LINK/WETH LINK WETH 71.22 0.30\n", - " WETH LINK 0.27 65.01\n", - "UNI/USDC USDC UNI 316.84 49.45\n", - "UNI/WETH UNI WETH 60.27 0.20\n", - " WETH UNI 0.04 10.82\n", - "WETH/USDC USDC WETH 2262976.97 1179.58" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "assert len(AG2.edgedf(consolidated=True, resetindex=False)) == 10\n", "AG2.edgedf(consolidated=True, resetindex=False)" @@ -2398,7 +1544,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "id": "818d1633-8b04-459d-9c1b-9756c9b1b0b3", "metadata": {}, "outputs": [], @@ -2410,7 +1556,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "id": "e1666418-0dd0-4b22-8470-ca881bb2a291", "metadata": {}, "outputs": [], @@ -2420,7 +1566,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "id": "de56707f-35c3-402e-9b29-b651475380d3", "metadata": {}, "outputs": [], @@ -2440,7 +1586,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": null, "id": "274aea35-d311-4995-8878-fc8cf447452d", "metadata": {}, "outputs": [], @@ -2453,7 +1599,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "id": "b325f79e-f43a-49d5-b74f-7fbaf4cac6ca", "metadata": {}, "outputs": [], @@ -2486,18 +1632,10 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "id": "91c93306-b019-468a-ba5a-c345490f362c", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(Cycle(data=[ETH(0), USDC(1)], uid=0),)\n" - ] - } - ], + "outputs": [], "source": [ "AG = ag.ArbGraph()\n", "AG.add_edge(\"ETH\", 1, \"USDC\", 2000)\n", @@ -2509,20 +1647,10 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "id": "0b259f89-6537-4b6e-bc37-853f84c6fafd", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "===cycle [0]: ETH->USDC->...===\n", - "(ETH(0), USDC(1))\n", - "(USDC(1), ETH(0))\n" - ] - } - ], + "outputs": [], "source": [ "for C in AG.cycles():\n", " print(f\"==={C}===\")\n", @@ -2532,44 +1660,20 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "id": "0decf9b2-28cb-4327-9821-ff8b6b08db33", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "((USDC(1), ETH(0)),\n", - " [Edge(node_in=USDC(1), amount_in=1800, node_out=ETH(0), amount_out=1, ix=1, inverse=True, uid=None)])" - ] - }, - "execution_count": 79, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "c, AG.filter_edges(*c)" ] }, { "cell_type": "code", - "execution_count": 80, + "execution_count": null, "id": "ac6983c1-c55c-4666-aed5-0acd26d0819e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1],\n", - " [1, 0]])" - ] - }, - "execution_count": 80, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.A.toarray()" ] @@ -2584,18 +1688,10 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "id": "f0743e1d-8709-41f9-8ae7-dd13cdfe40a0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(Cycle(data=[USDC(0), LINK(2)], uid=0),)\n" - ] - } - ], + "outputs": [], "source": [ "AG = ag.ArbGraph()\n", "AG.add_edge(\"USDC\", 100, \"ETH\", 100/2000)\n", @@ -2616,20 +1712,10 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": null, "id": "69797a28-a7e7-43aa-8442-c164c8bedfed", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "===cycle [0]: USDC->LINK->...===\n", - "(USDC(0), LINK(2))\n", - "(LINK(2), USDC(0))\n" - ] - } - ], + "outputs": [], "source": [ "for C in AG.cycles():\n", " print(f\"==={C}===\")\n", @@ -2639,45 +1725,20 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": null, "id": "5958e342-d8d5-4a19-8692-4cf8f3c90ca1", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "((LINK(2), USDC(0)),\n", - " [Edge(node_in=LINK(2), amount_in=100, node_out=USDC(0), amount_out=1000, ix=1, inverse=False, uid=None)])" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "c, AG.filter_edges(*c)" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": null, "id": "5aa7ed65-ce02-4680-9508-cc793ec287bf", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1, 1],\n", - " [0, 0, 0],\n", - " [1, 0, 0]])" - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.A.toarray()" ] @@ -2692,18 +1753,10 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": null, "id": "2f5230ec-578a-4c93-bf17-daaa9468d9e2", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(Cycle(data=[ETH(0), USDC(1), LINK(2)], uid=0),)\n" - ] - } - ], + "outputs": [], "source": [ "AG = ag.ArbGraph()\n", "AG.add_edge(\"ETH\", 1, \"USDC\", 2000)\n", @@ -2716,21 +1769,10 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": null, "id": "12706bbd-0e07-4e2f-a54e-51bf60956311", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "===cycle [0]: ETH->USDC->LINK->...===\n", - "(USDC(1), LINK(2))\n", - "(LINK(2), ETH(0))\n", - "(ETH(0), USDC(1))\n" - ] - } - ], + "outputs": [], "source": [ "for C in AG.cycles():\n", " print(f\"==={C}===\")\n", @@ -2740,45 +1782,20 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": null, "id": "af355336-48d0-481b-bcef-d49692a5e275", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "((ETH(0), USDC(1)),\n", - " [Edge(node_in=ETH(0), amount_in=1, node_out=USDC(1), amount_out=2000, ix=0, inverse=False, uid=None)])" - ] - }, - "execution_count": 87, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "c, AG.filter_edges(*c)" ] }, { "cell_type": "code", - "execution_count": 88, + "execution_count": null, "id": "0ad02c8f-c4b1-4eb8-a84e-3071e3e40434", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1, 0],\n", - " [0, 0, 1],\n", - " [1, 0, 0]])" - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.A.toarray()" ] @@ -2793,18 +1810,10 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": null, "id": "3aa752af-03db-4d32-816e-199fe861e1d2", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(Cycle(data=[ETH(0), USDC(1), LINK(2)], uid=0), Cycle(data=[ETH(0), USDC(1)], uid=1))\n" - ] - } - ], + "outputs": [], "source": [ "AG = ag.ArbGraph()\n", "AG.add_edge(\"ETH\", 1, \"USDC\", 2000)\n", @@ -2819,7 +1828,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": null, "id": "b8008e76-42c0-4bea-ab27-c5f76622837f", "metadata": {}, "outputs": [], @@ -2829,96 +1838,40 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": null, "id": "d788ef90-4537-41f7-beec-a3c8edb63589", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[Edge(node_in=ETH(0), amount_in=1, node_out=USDC(1), amount_out=2000, ix=0, inverse=False, uid=None),\n", - " Edge(node_in=ETH(0), amount_in=1, node_out=USDC(1), amount_out=2000, ix=1, inverse=False, uid=None),\n", - " Edge(node_in=USDC(1), amount_in=1500, node_out=LINK(2), amount_out=200, ix=2, inverse=True, uid=None),\n", - " Edge(node_in=LINK(2), amount_in=200, node_out=ETH(0), amount_out=1, ix=3, inverse=True, uid=None),\n", - " Edge(node_in=USDC(1), amount_in=1800, node_out=ETH(0), amount_out=1, ix=4, inverse=True, uid=None)]" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.edges" ] }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "id": "150bc2d2-91cb-40de-bb5c-c99aca5750c0", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(Edge(node_in=ETH(0), amount_in=2, node_out=USDC(1), amount_out=4000, ix=0, inverse=False, uid=None),\n", - " Edge(node_in=USDC(1), amount_in=1800, node_out=ETH(0), amount_out=1, ix=1, inverse=True, uid=None),\n", - " Edge(node_in=USDC(1), amount_in=1500, node_out=LINK(2), amount_out=200, ix=2, inverse=True, uid=None),\n", - " Edge(node_in=LINK(2), amount_in=200, node_out=ETH(0), amount_out=1, ix=3, inverse=True, uid=None))" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.duplicate().edges" ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "id": "b739e7f3-2fb7-4def-901b-37aea603632d", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 1, 0],\n", - " [1, 0, 1],\n", - " [1, 0, 0]])" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "AG.A.toarray()" ] }, { "cell_type": "code", - "execution_count": 94, + "execution_count": null, "id": "75a82201-5489-489e-aadd-49d5b2f002a8", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "===cycle [0]: ETH->USDC->LINK->...===\n", - "(ETH(0), USDC(1))\n", - "(USDC(1), LINK(2))\n", - "(LINK(2), ETH(0))\n", - "===cycle [1]: ETH->USDC->...===\n", - "(ETH(0), USDC(1))\n", - "(USDC(1), ETH(0))\n" - ] - } - ], + "outputs": [], "source": [ "for C in AG.cycles():\n", " print(f\"==={C}===\")\n", @@ -2928,21 +1881,10 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": null, "id": "06b66d5c-a52d-40ee-ad3f-d0facbd60d3d", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Cycle(data=[ETH(0), USDC(1)], uid=1)" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "cycle = AG.cycles()[1]\n", "cycle" @@ -2950,28 +1892,10 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": null, "id": "548a9736-819c-4adc-9d6c-966462b6bcec", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(ETH(0), USDC(1)): 2 edges, capacity 2 ETH -> 4000 USDC, actual 2 -> 4000.0 [1.0x]\n", - "(USDC(1), LINK(2)): 1 edges, capacity 1500 USDC -> 200 LINK, actual 1500 -> 200.0 [0.375x]\n", - "(LINK(2), ETH(0)): 1 edges, capacity 200 LINK -> 1 ETH, actual 200.0 -> 1.0 [0.375x]\n", - "Profit: 0.25 ETH [in: 0.75; out: 1.0]\n", - "RACResult(profit: 0.2 [ETH], in: 0.8, rpcs: 8.3%, ppcs: 0.1, len: 3, uid: 0)\n", - "---\n", - "(ETH(0), USDC(1)): 2 edges, capacity 2 ETH -> 4000 USDC, actual 2 -> 4000.0 [1.0x]\n", - "(USDC(1), ETH(0)): 1 edges, capacity 1800 USDC -> 1 ETH, actual 1800 -> 1.0 [0.45x]\n", - "Profit: 0.09999999999999998 ETH [in: 0.9; out: 1.0]\n", - "RACResult(profit: 0.1 [ETH], in: 0.9, rpcs: 5.0%, ppcs: 0.0, len: 2, uid: 1)\n", - "---\n" - ] - } - ], + "outputs": [], "source": [ "for cycle in AG.cycles():\n", " result = AG.run_arbitrage_cycle(cycle=cycle, verbose=True)\n", @@ -2981,21 +1905,10 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": null, "id": "6b182784-b8eb-433f-867a-4e38d4bc5839", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'cannot get price on amount-type graphs'" - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "assert raises(AG.price, AG.nodes[0], AG.nodes[1])\n", "raises(AG.price, AG.nodes[0], AG.nodes[1])" @@ -3005,6 +1918,30 @@ "cell_type": "code", "execution_count": null, "id": "bc5a98c8-5750-4a9c-9afd-38a0d36ff213", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ac7f39d-b457-46cc-a5d6-5f73d00c356e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fdc42a32-dd22-46f8-ac97-dbe59cebce18", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4e84b58c-c488-49a4-9d3e-27111baeddfe", "metadata": { "lines_to_next_cell": 2 }, @@ -3018,7 +1955,7 @@ "formats": "ipynb,py:light" }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -3032,7 +1969,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.7" + "version": "3.8.8" } }, "nbformat": 4, diff --git a/resources/NBTest/NBTest_004_GraphCode.py b/resources/NBTest/NBTest_004_GraphCode.py index f19cd4f6a..c2414da6b 100644 --- a/resources/NBTest/NBTest_004_GraphCode.py +++ b/resources/NBTest/NBTest_004_GraphCode.py @@ -7,9 +7,9 @@ # extension: .py # format_name: light # format_version: '1.5' -# jupytext_version: 1.14.5 +# jupytext_version: 1.13.1 # kernelspec: -# display_name: Python 3 (ipykernel) +# display_name: Python 3 # language: python # name: python3 # --- @@ -21,7 +21,7 @@ print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ag.ArbGraph)) from fastlane_bot.testing import * -plt.style.use('seaborn-dark') +#plt.style.use('seaborn-dark') plt.rcParams['figure.figsize'] = [12,6] from fastlane_bot import __VERSION__ require("2.0", __VERSION__) @@ -575,9 +575,9 @@ def myval(self, value): # ## With real data from CPC try: - df = pd.read_csv("../nb_data/NBTEST_002_Curves.csv.gz") + df = pd.read_csv("_data/NBTEST_002_Curves.csv.gz") except: - df = pd.read_csv("fastlane_bot/tests/nbtest_data/NBTEST_002_Curves.csv.gz") + df = pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTEST_002_Curves.csv.gz") CC0 = CPCContainer.from_df(df) print("Num curves:", len(CC0)) print("Num pairs:", len(CC0.pairs())) @@ -785,3 +785,9 @@ def myval(self, value): + + + + + + diff --git a/resources/NBTest/NBTest_005_Uniswap.ipynb b/resources/NBTest/NBTest_005_Uniswap.ipynb index b9f4839fa..02fed1f71 100644 --- a/resources/NBTest/NBTest_005_Uniswap.ipynb +++ b/resources/NBTest/NBTest_005_Uniswap.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 8, "id": "e401b140-2580-43c4-94b7-b317c9f1a06f", "metadata": { "ExecuteTime": { @@ -15,19 +15,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v2.10.1 (07/May/2023)\n", - "Univ3Calculator v1.4 (07/May/2023)\n", - "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "ConstantProductCurve v2.14 (23/May/2023)\n", + "Univ3Calculator v1.4.1 (25/Jul/2023)\n", "Version = 3-b2.2 [requirements >= 2.0 is met]\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/rt/qnj8r6yd6131ccxkw_k9d9gc0000gn/T/ipykernel_968/385949749.py:9: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4824
WETH-6Cc2/BNT-FF1C14
USDT-1ec7/USDC-eB4813
vBNT-7f94/BNT-FF1C12
WBTC-C599/WETH-6Cc210
......
MOVE-324C/WETH-6Cc21
VXV-bFCe/USDT-1ec71
ACX-F82F/WETH-6Cc21
PANDA-00DC/WETH-6Cc21
DECI-4eA6/HEX-eb391
\n", + "

2834 rows × 1 columns

\n", + "" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 24\n", + "WETH-6Cc2/BNT-FF1C 14\n", + "USDT-1ec7/USDC-eB48 13\n", + "vBNT-7f94/BNT-FF1C 12\n", + "WBTC-C599/WETH-6Cc2 10\n", + "... ...\n", + "MOVE-324C/WETH-6Cc2 1\n", + "VXV-bFCe/USDT-1ec7 1\n", + "ACX-F82F/WETH-6Cc2 1\n", + "PANDA-00DC/WETH-6Cc2 1\n", + "DECI-4eA6/HEX-eb39 1\n", + "\n", + "[2834 rows x 1 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f77c58ad-454b-4a3d-9bbe-1c92cc04c731", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4824
WETH-6Cc2/BNT-FF1C14
USDT-1ec7/USDC-eB4813
vBNT-7f94/BNT-FF1C12
WBTC-C599/WETH-6Cc210
......
HOP-a3CC/WETH-6Cc22
imgnAI-CBe0/WETH-6Cc22
WAR-1543/WETH-6Cc22
BUSD-7C53/USDT-1ec72
ARB-4ad1/MATIC-eBB02
\n", + "

935 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 24\n", + "WETH-6Cc2/BNT-FF1C 14\n", + "USDT-1ec7/USDC-eB48 13\n", + "vBNT-7f94/BNT-FF1C 12\n", + "WBTC-C599/WETH-6Cc2 10\n", + "... ...\n", + "HOP-a3CC/WETH-6Cc2 2\n", + "imgnAI-CBe0/WETH-6Cc2 2\n", + "WAR-1543/WETH-6Cc2 2\n", + "BUSD-7C53/USDT-1ec7 2\n", + "ARB-4ad1/MATIC-eBB0 2\n", + "\n", + "[935 rows x 1 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs(minn=2)" + ] + }, + { + "cell_type": "markdown", + "id": "a188b742-340e-469d-bce8-d8cff0aaebed", + "metadata": {}, + "source": [ + "### All crosses" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e6099e82-4bd0-4748-ad2e-1a1c06d43896", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(172,\n", + " [('HEX-eb39', 17),\n", + " ('UNI-F984', 10),\n", + " ('ICHI-C4d6', 10),\n", + " ('FRAX-b99e', 9),\n", + " ('MATIC-eBB0', 8),\n", + " ('HDRN-5e06', 8),\n", + " ('SHIB-C4cE', 7),\n", + " ('REVV-A8Ca', 7),\n", + " ('LINK-86CA', 6),\n", + " ('ICSA-69ed', 6)])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCx = CCm.bypairs(\n", + " CCm.filter_pairs(notin=f\"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}\")\n", + ")\n", + "len(CCx), CCx.token_count()[:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7c727bf9-3d6e-42b4-89e0-e6f398acb265", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "AGx=ArbGraph.from_cc(CCx)\n", + "AGx.plot(labels=False, node_size=50, node_color=\"#fcc\")._" + ] + }, + { + "cell_type": "markdown", + "id": "63a8cdac-1563-4a68-979f-6c0aec3a7a4e", + "metadata": {}, + "source": [ + "### Biggest crosses (HEX, UNI, ICHI, FRAX)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "aba143f8-1b00-49fd-b5eb-88914d16a823", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOydd1hTSRfG35sESKP3JiBVsaNYQMHeu2Lvva5r17W3tbuWta8FFV0ExbV37F2xoIgo0ouA9J6c74+Yu0SKYFndb+/vefJAZubOzL1J7rkzc847DBERODg4ODg4/iPwvncHODg4ODg4/kk4w8fBwcHB8Z+CM3wcHBwcHP8pOMPHwcHBwfGfgjN8HBwcHBz/KTjDx8HBwcHxn4IzfBwcHBwc/yk4w8fBwcHB8Z+CM3wcHBwcHP8pOMPHwcHBwfGfgjN8HBwcHBz/KTjDx8HBwcHxn4IzfBwcHBwc/yk4w8fBwcHB8Z+CM3wcHBwcHP8pOMPHwcHBwfGfgjN8HBwcHBz/KTjDx8HBwcHxn4IzfBwcHBwc/yk4w8fBwcHB8Z+CM3wcHBwcHP8pOMPHwcHBwfGfgjN8HBwcHBz/KTjDx8HxL0ROhAKZHET0vbvCwfGvQ/C9O8DBwVE+ZHJCTEYOQlOykJ5fCAYAAdBSF8BBTwJzTRH4POZ7d5OD44eHG/FxcPwLSMnJx6nXCQhKSMfNa1cxwsMFyrFeen4hghLScep1AlJy8itc97Zt2zBp0qQv7mNeXh6cnJzw7t27L66Lg+Nbwhk+Do5P4OPjg7p160IqlcLU1BRt27bF9evXsWDBAqipqUEqlUJHRweNGjXCrVu3AABt2rTBvHnzitV17NgxmJiYoLCwsNztp+Tk41pUCgrkhMISpjbnDeiOHtWt4VXLFuYGurBzcGDzTp48CXd3d+jo6MDExATDhw9HRkYGm5+fn48lS5Zg2rRpAIDQ0FB07twZhoaG0NPTQ+vWrfHy5UuV9tatWwcTExNoaWlh6NChyMvLAwBoaGhg6NChWL58ebnPjYPje8AZPg6OMli7di0mTZqE2bNnIyEhAZGRkRg7diyOHTsGAOjVqxcyMzORlJSEpk2bomfPngCAQYMGYf/+/cXW4Pbt24d+/fpBICjfKoNMTrgRnQLZJ9byhs9dggMPw3DgYRjWnbwKmVxRPi0tDXPmzEFsbCxevHiBmJgY1sgBCkPs5OQEc3NzAEBqaio6deqEly9fIiEhAa6urujcuTNb/uzZs1i+fDkuXryIiIgIvHnzBvPnz2fz+/bti71797LGkIPjh4Q4ODhKJDU1lSQSCfn6+paYP3/+fOrXrx/7Pjg4mABQYmIiZWdnk5aWFl25coXNT0lJIQ0NDQoKCiqxvmfPnlGLFi1IV1eXjIyMaOnSpRSRmkW+j9+QZxcvkmhpk4WtPQ2YNof0jE3JPySW/ENiybleQxqzeBX7/tjLOIpIyy6xDX9/f6pWrRr7fsiQIbR48eJSr0FycjIBoKSkJCIi6tOnD82aNYvNv3DhAhkbG6scY2dnR4GBgaXW+SlkcjnlF8pILpd/dh0cHGXBjfg4OErh1q1byM3NRdeuXT9ZNj8/H97e3tDX14euri5EIhG8vLzg7e3NlvH19YWTkxNq1qxZ7PiMjAy0aNECbdq0QWxsLMLCwtC8eXOEpmTBZ9MaJES9xe/nbmLuTh8EBhwudvyBtb9icANnzO7TCUG3byA0ObPEfl69ehXOzs7s+6dPn8LR0bHU87p69SpMTEygr68PAAgODlbpf82aNZGQkIDk5GQ2rUqVKnj8+HEZV6s4MjkhMi0bF8LfISA0HifCEnA0NB4Xwt8hMi2bHcFycHwNOMPHwVEKycnJMDAwKHNa0tfXFzo6OhCJRNixYwf8/PzY8oMGDYKfnx9yc3MBAN7e3hg0aFCJ9Zw4cQImJiaYMmUKhEIhNDU14erqivT8Qtw8fRzdR/8ETR1dGJiao13/YSrH9p/6Czafv40dVx+ipVd//DpmEELDwopNs54/fx579+7FokWL2LTU1FRoamqW2Kfo6GiMGzcOa9euZdMyMzOhra3Nvlf+X3TdUFNTE6mpqaVes48p6riTnq9Y+/xajjtFmTVrFn777bcvqkOJq6srgoODv0pdHP88nOHj4CgFfX19JCUllemI4uXlhdTUVCQkJKBatWp48OABm+fu7g4DAwMEBATg9evXuHv3Lvr27QsAcHZ2hlQqhVQqxbVr1xAVFQVbW1uVugvlBAbA+8QE6JuYsemGZhYq5Rxq1oFIKoWaugaadvWCU516eHjlIgqLjJLGjBmD9u3bw8/PDw4fnF/s7e3x7t07FaNlb2+PQ4cOITExEfXq1YNMJsOwYcNgYmICT09PFBYWIj09HYDCi1NpyF1dXVkDmZGRAR0dnRKv18eOQi1atca2o6dZx53je7ZjmHtN9HdxwO+zf0ZBfh4KiVAgJzjZ20IkErHXrVWrVmy9o0ePZtOlUik0NDRUDPq7d+/g7e2NUaNGAVCM0Hv06AFra2swDIPAwECVfubl5WH06NEwNjaGnp4eOnbsiJiYGDZ/6tSpJTovcfw74AwfB0cpNGzYEBoaGggICPhkWQMDA2zfvh0LFixAXFwcmz5w4EB4e3tj//79aN26NYyNjQEopgwzMzORmZmJxo0bw9LSEm/evFGpU8BjQAB0DY2QHB/LpifFxaAsGIYBEUHwIabv0aNHOHToEAQCATw9PQEAcXFxKCgoQF5eHkJCQti0sLAw1KhRA87OzsjNzcW+ffuQnJyMmJgYLFmyBHw+n53GXLBgAZ4+fQojIyNcuXIFK1euxJkzZ/DixYsSp3M/dhQKfxuBht374fbFM4p+XgvE0R2bMH+3L7ZeuouEqEgc2rj67woImL1lL9LSM5CZmYlz586xWVu3bmWvZ2ZmJvr06cM6GgHAnj170K5dO4hEIjbN3d0d+/fvh4mJSbG+rl+/Hrdu3cKTJ08QGxsLXV1dTJgwgc3v1KkTLl++jPj4+DI/C44fE87wcXCUgra2NhYtWoRx48YhICAA2dnZKCgowOnTpzF9+vRi5R0dHdG6dWusXLmSTRs4cCAuXLiAHTt2lDrNCQAdOnRAXFwcfvvtN+Tl5SEjIwN3796FlroAjdp2xJFtG5GZlork+Fic2r+LPS4rPQ2PrgUiPy8XssJCXD1+BM/v30bjZi3BMAyePXuGNm3aYNOmTQCAoKAgAMC1a9fQtGlTVK5cGSdPnmTTbGxs0Lt3byQlJeH8+fNo2bIlRCIR+Hw+3N3dsXnzZvzxxx94/vw5du/eDT6fjyFDhqBKlSoYMWIENm/ejJSUFDRo0EDl/NLS0jBv3jz8/vvv6NatGyQSCRJzC1GvaSsMmq4YOQUG+KJ59z6oZO8IqbYOeoydhMCjvir1EICYzNwyP7esrCz4+/urXO/Tp0/Dw8ODfa+uro5JkybB3d0dfD6/WB3h4eHsg4pQKESvXr1UpjaFQiFcXFxw9uzZMvvC8WPCGT4OjjKYMmUK1q5diyVLlsDQ0BCWlpbYtGkTunTpUmL5adOmYfv27UhMTAQAWFtbo1GjRsjKykKnTp1KbUdTUxPnz5/H8ePHYWJiAnt7e1y+fBkOehL0HT8FhuYWGNOiARYN6wOPzt3Z4woLC3Fw/QoMaVgdgxtWw6n9uzD7991oVk8x4lqzZg3evXuHUaNGIS8vD40aNYKzszOuXr2Kxo0bo2PHjnj58iViY2Nx5coVmJmb4+nTp2AYBp6enuzUYWRkJABFfOL06dPh6emJhIQEODk5YeHChQAUji53797FoEGDoKGhoXJ+JTkKhaZkqcQlRoWFwtqpKvve2qkqUpPeIeN9Cpu2duo41LCxRKtWrUp1oPH394ehoSGaNGnCpn3Kiedjhg0bhhs3biA2NhbZ2dk4cOAA2rZtq1Lmc5x4OH4MOMkyDo5P0K9fP/Tr169YeqNGjYql1a9fH1lZWSppH68flUa1atVw8eJFlTSZnCAUizFxxQaV9C7DxgIAtPX0sdLvtEqeGo+BuVQIANi9ezd2794NQDE1+fjxYxw9ehQ1a9bETz/9BGMTUxw/dRrjf1mIh7euo9Pgkajk0giPrlzE2cCrrAyahYUFMjMzkZubi5cvX6Jnz56oVKkS9uzZwxo5kUiE5ORkzJw5s9i5fewoRESsI4uS3OwsiDW12PdiqeL/nKwsaOrqYdLqTbCpWh0gQvipP9G6dWuEhIQUW0/cu3cvBg4cCIb5W76tLCeekrC3t4elpSXMzc3B5/NRvXp1dtSsRFNTU2Vam+PfAzfi4+D4geHzGLhZ6IHPlE+Dk898KF+CZmeTJk1w/fp1pKSk4N27d9C3sEKmqR1iYmPRefRPiHoVgir1GkCqo4ukxHgVb8ro6GgkJSUhLy8PRASpVAoArKMLAOTm5sLJyQlGRkZo27Yt1NXVoaGhgQMHDhRzFFI67ijZs3whCvLzkJ35t6NNzof/RRIJAMCpjis0hCIIRWJMmzETOjo6uHbtmso5RkZGIjAwEAMHDlRJ19XVVXHi+RTjxo1DXl4ekpOTkZWVhW7duhUb8ZXlxMPxY8MZPg6OHwRra2sVr0WpVIqbN29CX6yBfnXs0K+OHcY0d8WR7RvZY7o7mSEuIhy52VlQ4zFobKkHPZE6AODt27dgGIatq2PHjkhKSsL48eNRr0FDXI1MxqHNvyHj/XuM9KwLDZEIRuaWqF7fDSnxcTjhswc/dWkJC0N9WNvYYMeOHWy7SuUaKysrtv4+ffqgcuXKABShG4aGhkhNTUW/fv0QFRUFmUzGltXWlKKbkxleP3sCAOg8dDQy01LxJvgp28bbl8+hY2AITV09letEUDj+KJ14irJv3z64ubmx/VBSo0YNhIaGlvuzCAoKwuDBg6GnpwcNDQ1MmDABd+/eRVJSElumNCcejh8fzvBxcPxAHD9+XMU70cxMEcaQmpqKzIxMbN2zD36bf8Oja5fZEZNUjY+t86ZjpEcdpMZFF6szNTUVmZmZyMrKQsOGDXHx4kUYO9fGmUP7cPfCGXh07g4NkQhgeDj35z6YV7ZD8559sXPRbFR1qY+d14MwfsUmTJ48WaVec3NzuLq6IioqCvfv34e+vj7GjBkDoLgX5YgRI7B69Wpoa2tj//79Cr1Py0pITX4H71WLoWtkDHMbW5z7cx+iwkKRlZ4Gvy3r4dnVCwDwLjYaIQ/voiA/H0IqxOrVq5GUlAQ3NzeVPnl7e2Pw4MHFrkG7du1w5coVlbS8vDw2xjI/Px+5ubmsIa1Xrx68vb2RlpaGgoICbN68GWZmZjAwMACgGN0+ePAALVu2LO9Hy/Ej8T1lYzg4OP7GysqKzp8/r5IWHh5OAKigoIBNq1u3Lq1cuZLyC2UEgF69ekUMwxAAEovFdPDgwVKPnTlzJgGgtUfOkmMtFxq1cCVNXreVAFCTTt3JvmYd8g+JpZ3XgggAWdo5kLqGkHQNjUgildLEiRNJJpPR7t27qWHDhjRkyBDS1NQkIyMjWrNmDdtO06ZNad++fcXOcf/+/eTi4kI8Ho/EEgm5eDSnpT7HyD8klvpMmkG21WqStr4BiSRSatrViw49CSf/kFhad/wyVXKoQhoiEeno6lGzZs3o3r17KnXfvHmTxGIxpaenF2v33bt3ZG5uTtnZf0u5WVlZERQDSPYVHh5ORERJSUnUt29fMjQ0JG1tbXJzc6M7d+6wx/r6+lLXrl3L87Fy/IBwzi0cHP8SiAg3b95EcHAw6tSpAzX+3xM2fD4fhYWFyM7ORt++fZGcnIz27dsXq+PXX39F85GTkZ5fyHpROtSsA7e2nRD29DHmD+oBQBE76N6+C5zq1EOr3gMR9uQRVo4fiqlTp4LHU7TL4/Gwa9cu7Nq1q1g7pXlR9uvXD+7u7qhcuTIeP36CF3IxCj4E2ltUtsdt+UnsuvGk2HGV7B2x7q+LUOMxaGdrXOIaZsOGDYs5FikxMDDAwIEDVbZgevv2bYllAYV4wYEDB0rNX716Nf74449S8zl+bDjDx8HxA9GlSxfW89HT05OV2DIwMADDMDAxMcHy5cvRvHlzleOKejD26NEDnTt3Zh1JlNNzShb5/AULW/sPXpR/ezqKNTWRm50FIgLDMHBv3wVb5k7FrmWKOLuR85fDwuJv1Zjbt2+rOHfo6+vj9evXAMr2ovT29kbjxo1hZ1sZeh+2XJIRQSSRIKuIs8zHlOW4Ux6WLVv2WceVxJ07d8pdVk4EmZzYdUmO7w9n+Dg4fiACAgLQokUL9r1yVJKUlFSmZqienh6SkpIgk8kQEBCA1av/VjwpemyBTI4TYQkgAEKxBDmZf4tZ52RmQiiWgGEYRL95hXVTxmDahj9Q060J4t6+wa9jBqFNTUd07tQRANCgQQNcv369xP6U5UXp7e2N2bNnK/otUkdjSz3ciE5BfnYWJFpaxcoLGAYMA7hZ/O2486MjkxNiMnIQmpKF9PxCMFDMpWqpC+CgJ2HDRDi+D5xzCwfH/wFxcXEoLCzEwoULwePxSpThAv6WQQMASzsHvA15zua9fRkMS3vF9GRU6EuYWVdG7cae4PF4MK9shzoezXHu7Jly9ac0L0plUHiPHj3YND2ROtrZGqMwIQpmVjYguZx13NFSF6CWiTba2Rr/a4zePyW6XZSiU7hfQl5eHpycnPDu3bsv79QPDGf4ODj+D1BOoc2ZMwdqamqYMmVKqeW01BWjP48uPXF8zzYkJ8QhJSEef+3ehqYfvChtqlZDXEQ4nt6+DiJCfORbPLpyodzu+yV5UQKK4PLu3bsXmwbl8xjcuxaIm2dOYGTjmuhgZ4yuDiZoYWOISlrFR0cMwyAsLEwlbcGCBejfvz/7ftmyZbCxsYFUKoWFhQV69erF5nl6erK7YGhpacHFxQXLly9X2UB3wYIFUFNTg1QqhY6ODho1aoRbt26Ves6+vr5wcHKCuYEexrZtghvnT7F5Bfl52P3rfAxvXBt96znh9/kzcfnN38avpFCW8ePHA1A81HTq1AlmZmZgGKbY2mR+fj6WLFmissHwyJEj4ejoCB6Phz179hTr67p162BiYgItLS0MHTqUPW8NDQ0MHToUy5cvL/U8/y/4zs41HBwcHyivV2dR8MGrsygrVqwgNTU1CgkJIQAkkUhUXnOW/ErHXsaR34sY6jxsDEm1dUiqrUOdh40hvxcx7Ia2k9dtJUt7RxKKJaRvbEqjf5pMMpmMiIh2795NPB6vWN13794lopK9KHNyckhbW5suXLhQ7DxiYmJIQ0ODABCPx2M3vi2Nks676MbAe/bsIScnJwoLCyMiori4ONq2bRtb1sPDg3bs2EFERJmZmXT58mWqWbMmNWvWjN0At2h9+fn5NG3aNDIxMSlxg9zo6GhSU1Oj+Tv2k9+LGJq91ZvUhULadeMJ+YfEUq/xU6iKiyvtuR1Mu24+Jfuadajn2J/pr9A4KpTJS/zslcTHx9Pvv/9ON2/eVPE8VeLr60stWrRQSdu0aRNduHCBXFxcaPfu3Sp5Z86cISMjI3r27BmlpKSQh4cHzZgxg82PiooifX19ys3NLbE//w9wIz4Ojh+Et2/fqqzvAYqRABGVur5HRLCzs1NJmzp1KsRiMdasWQMiUokLzMzMxIJZM8AwilHTwGlzsffOc+y98xwDp81Vcb5wa9sJvx2/jAMPX2H3tYfYtHY169E5ePBgyGSyYnXXq1cPgKoXpRKhUIjU1NRijjnK+uhDDJ26unq5dsQoi3v37qF169bsVk8mJiYYOXJkiWUlEgk8PT3x119/4datW6xod1HU1NQwaNAgxMfHq2y6qyQ6Ohpa2tqo06Q5GIaBi2cLCEVixEe+BQDcv3we7QYMg6aOLrT19NG+/1BcOnIIRJ8W3TY2NsbYsWPZa/sxHwtwAwrlmebNm0MoFBYrv3fvXgwbNgzOzs7Q1dXF3LlzVUaFFhYW0NXVxe3bt8vs178ZzvBxcPyfwePxsHDhQuzevRvZ2dnF8r+mDFpZLFu2rFzrTkSEe/fusUY1NzeX1Rf9XBo0aABvb2+sWrUK9+/fh0wm++QxlSpVQt26dYvJoAGKta89e/bA0tKymJcsANStWxdmle1x6+IZyGQy3LlwGgJ1DVg5/i26TUVUZghAcnwc0tLTEJqcWay+ilBRAe7g4GCVKeuaNWsiISFBxaD/vwtwc4aPg6OcyIlQIJMXk8n6Efnpp5+gqamJsWPHlpiv9KZU4zEQlGIABQxTTAbtW8AwDJ4/f47Zs2eDz+dj3LhxqF+//hfV2b9/f2zcuBFnz56Fh4cHjIyMsGLFik8eZ2ZmhpSUv3eD8PX1hY6ODiwtLfHgwQMcPXq0xON4PB7cO3XHb1PHoXcNa/w2dRxGL1wBoVgMAKjVuClOeu9EWkoy3r9LxKl9ihjA/Jwc1gGmS5cu0NHRYV9FJeLKoqIC3JmZmdDW1mbfK/8v6oWrqamJ1NTUctf5b4MLZ+DgKIN/s1v6smXLMH78eGzatIkVlS6K0psyJjMXL5MzkJZbAD6P9/f56UthLhX+I+dnamqKnJwc6OvrF9sFoST4fD4KCgpU0goKCqCmpsa+V+6qUVBQgICAAPTr1w+1atVC69atS603JiZGZdcNLy8v7N+/X6VMZGQkqlb9eySXmZmJs+fOY9+qpVi41x+VnavjTfAT/Dp2MOZs3w+bKtXQffREZKWnYWqXlhCoq6Nlz34If/EM2gaGrAfrx6Es5aWiAtxSqVRFXFz5f1Hj+f8uwM2N+Dg4SuF7uKV/TUaPHg1dXd1S17YAxbRnJS0Rgvz2ole1SpBEPS/Tm/Jb8uTJE5ibm5erbKVKlYp5N4aHh8PKyqpYWTU1NfTs2RM1atTAs2fPSq0zKioKDx48QOPGjT/ZdtF1TQB4+uQxqtarD7vqNcHj8WBXvRbsa9TGk5uKaVMNoQgj5i3DjqsPseXCbUh1dFG5ag3wPjxofAkVFeB2dnZWmcZ8/PgxjI2Noa+vz6b9vwtwc4aPg6MEUj4oihTISWWz1KIUEqFATrgWlfLVjF9eXh6qVq36VfZ5O378OGxsbODr61vmtNW7d+8wf/58yOVy/LZ2zXdTF3n9+nW516p69eqFJUuWIDo6GnK5HBcuXMDx48fZ+MA9e/bg5MmTyMjIgFwux+nTpxEcHFziFGp2djauXLmCzp07w9XVFe3atatw311dXRHy4C7CXygM65vnT/Hi/l1YOVYBADZkhIgQGvQAflvWodcERciJMrykLHJzc9mQg6Li2kDJoSNFRbcLCgqQm5sLuVwOABg4cCD++OMPPH/+HKmpqViyZImKsHdMTAxSUlLQoEGDCl+Hfw3fzZ+U4z/H/v37i7m/SyQSAkALFy4kDw8P0tDQUMnr0KEDERFdvnyZANCYMWNU6nRzc2PdtXfv3k1ubm4q+bt376Zq1aqRSCQiY2NjGjNmDKWmppbZz6pVq5JQLGZfPD6fXDxbkH9ILG08fY3qNWtFWrp6JNXWoZpuHrTh1FXWLf3gwYPk4OBAWlpaZGhoSAMHDqS0tDS27n79+pGJiQlpamqSvb0961KvZMOGDTRq1Cj2/cqVK8nZ2ZmkUilZW1vTypUrVcp7enqSgYEBaWpqUo0aNSggIEAl39nZmfT09Kh79+6lnm+fPn1IIBAQANLQ0KD4+Pgyr8+3Qltbm1asWFGustnZ2TR16lSysrIiLS0tql27Nh07dozN9/f3p0aNGpGOjg5pampStWrVVNz6ld81qVRKUqmUatWqRUuWLKGcnBy2TNFwhvKwcOUaMqlkTUKxhIwsKtGg6fPY0JBF+46QoZkFqQuFZGZdmX5atYn8Q2Lp2Ms4ikjLJisrKxIKhSrf/S5durB14yMx7aK37vz8fLK0tKSYmBiV8/u4/OXLl9n8NWvWkJGREWlqatLgwYNVQhdWrlxJP//8c7nP+98IZ/g4vis7duwgY2Njio2NVYmt+pjLly+TRCIhqVSqEsdUluFbvXo1GRkZ0enTpyk/P5/Cw8Opbdu25OrqSvn5+aX2KSI1i469jCP/kFjyexFDRuaWNGH5evIPiaXlvifJsVZd6jh4FP35NIJ6jJlEZja2dPRlLEWkZVNkZCS9e/eOiIgyMjKob9++NGHCBLbuZ8+esTeZFy9ekLGxMd2/f5/Nr1q1Kl2/fp1yc3OpSpUq9Msvv9CDBw+ooKCAQkJCqFKlSuzuC0REjx8/ZmP8bt++TVKplGJjY9n8JUuWkKOjIwFg+1WU58+fEwDW8PH5fFq8eHGp1+ZbwuPx6ObNm9+l7a9BoUxOf4XGscauPC/lA9OXsm3bNvrpp5++uJ7c3FxydHSkhISEL67rR4ab6uT4bjx69AiTJk3CoUOHYGpqqpLHMAyqV6/OTs8ACs85CwsLLFy4EI8ePYKWlhZycnJYL8u3b9/i9u3bePv2LdLT0zFt2jQkJyejbt26UFNTg7W1NXx9ffHgwQOoq6uXqs4fcPEK5g7xwqD6VTGwnhOS4mPhVFsRQ2VfozZMrStDXSiEQE0NHQaNQGz4a6SlpOBFUgYsLS1haGgIiUQCY2Nj+Pn5wcfHB3/++ScAxfqKhoYGPD09UaNGDSQmJsLNzQ1SqRQtWrTAmzdvUL9+fWzfvh1NmjTBkiVLUKdOHVy7dg2jR49GfHy8yppdjRo12Bg/hmGQl5cHMzMzzJkzB4BCoSQ3Nxc8Hk9F1URJ5cqVceTIETRs2BA6OjoYMWIE7O3tP/MT/Xzi4+Mhl8tLjVX7N5CYEI8dcyYjPzenXOW/VHS7KCNHjmQFzb8EDQ0NhISEwMjI6Ivr+pHhDB/HdyE1NRU9evTA3Llz4enpWWKZ2NhYHDp0SCWtevUa8PP3R1BKLlr2GYyQ0Fd4EJ+KM6Gx2L5jJypVqgRra2vcvHkTRITKlSvj4MGD7PHh4eGQSCSl9ouIkJicgpZe/bHl4h3Ua94aRuaW2LF4donln9+/DR1DI2jq6iGrQIZCmcJQ83g8ZGdnQyAQYOjQoRg/fjwWLlwIABg7diyuXbuGgoIC1KpVC0lJScjMzMTPP/+MypUrQyAQYOvWrRgwYADbjkQiwZAhQ2BsbKziuQgAHTp0gFAoRP369SEUCuHq6srmValSBREREWjcuDHOnTuHhIQElWM1NDTQtWtX6OnpwdraGlu2bFGR9vqnuHLlCjQ0NMoU4v4RyczMhLe3Nxo2bAhzc3Mc9z0I09yUHyJMhKN0OMPHgZcvX6JWrVrQ1NTEhg0bvmlbu3fvRocOHTBw4EBUq1YNO3bsQM+ePdn8kSNHsm7V2dnZGD9+PLu9DhGQXAi09BqAnWt+hdf4ySgsKEDwnVvYs3EtSKAOoa4BUnLykZSUBB6Ph4EDB8Lb25utf+/evaV6qxERBg8Zgt+mjsOxP7aAz+fj7oUzyM3OwosHd1XKZrxPwS/9umDlhOGQSLWQGKPY+TwyQ+F08OjRI0RHR2PatGkYPnw4tmzZgqVLl6JLly7YvHkz3N3dMX36dHTr1g0aGhoA/o7HioyMZEd+SlxdXfH69WtWO7IoJ06cQEZGBgYPHgwXFxdUqVKFzVNey65du0JdXb3E3ckBIDExUcWr75/m9u3b37X9z6V27doYMWIEbt++DSKCpaUlPOrXRTtbY9Qy0WYdV/7Notv/j/y7Hq84vgkrV65E06ZNERQUVOFjra2tkZCQAD6fz6YNHjwYZmZm7P5nhYWFKCgogEgkglwuR25uLmxsbPDmzRuYmZmxwr+5ubng8/no1KkTfHx88OTJE/Tu3Rt79uyBkaUVZESQE9B5+FgMda+Jh1cvw6SSFW6ePQ4+X4CuI8fj4ZWLuBaVAg1NbXbqbN++fXjx4gUcHBywdetW1mvRz88PYWFhbJxW3759cfHCBWwPfAChWIwrf/mDLxDAyLwS6IPT+dPbNxB0/TJSk96Bx+ej17jJyEhLxfpp47DU5xjmfphidHR0xNy5c9GmTRv07t0bd+7cgVwux6NHj/DkyRMwDAN7e3vcv38fW7ZswcSJE9l4rKdPn7IjPyWbNm2Ct7c3li1bhlmzZhX7HGJjY3Hjxg1YWVkhMjKS3TdPGd9Vu3ZtqKmp4ezZs4iOjlbZVw8AUlJSYGNjU+HP/2vx7NkzWFpafrf2P5ddu3ahWbNmABSxhUOHDlX8/yFMpJKWCESEQm4/vh8KbsTHgYiICDg7O5eYVx6pp+PHj6vENW3atAmzZ89m32/duhUNGzZEZmYmTp1SKNYvXrwYANC4cWOYmZkhJCQEqamp0NfXZ28ODMNg8eLFWLx4MYJi/1bTyMnKglwmQ0FeLgry88FjeKjk4ARdQ2NFn4kgs3QEwzC4fv06BgwYAG9vb5w/fx5mZmYqRnrr1q1sP5s0aQJra2sY6Sj2hAsM8IWcCFFhLzFw2lwAgFAshqG5JdSFQmiIxPAaPwV9J81EaNADJMXFQM9CEUemnL4tLCxkR2oGBgZwdXXF9u3bAQATJ07Erl27MG3aNOjo6ODs2bMIDw9HcnKySjDxrl27sHz5cly8eBGGhoYlfgYTJ07E4sWLQUQqwcwvXryAtbU1TE1NkZ2dDSsrqxJHfenp6eWOofsWvHnzRmWk+m/h9OnTkMlkEIlE4PF46NatW7EyDMNAjc/jjN4PBGf4/uM0a9YMly9fxvjx4yGVStG3b1+MGTMG7dq1g0QiwdKlS2FgYICoqCgAimBXXV1dhISEVLituLg49O7dG66uroiPjwcA1KtXD56enrhy5QpSU1Ohp6encky7du1gaGqGu5fOsWmBxw7DrkZt8Ph8xEe+hVllOyQnxOHV44fITEvF1K4tMbSJCwBg9erVsLS0xIEDB/D7779DJBLBzMyMrSsyMhJSqRRCoRADBgzArVu30Lm6DXYtm4dnt28gOz0Nw35ZjKp1FdOO5pXtEB/xFrpGxpBqKaSeRBIJpNo6SElMAP/DKE0qlSI1NRW//PILmjdvjoKCAiQmJkJDQwPHjx8HEWHkyJFQU1PD4cOHkZqaivXr18POzg6JiYms8Tpw4ABmz56N8+fPo3LlyirXJiQkBKdPn4afnx/S0tJQUFCAq1evquzFd+XKFbRt2xYZGRnQ1tbGtm3bcOnSJURERKjUlZmZiUqVKlX4M/1aJCYmwsXF5bu1/zksX74cy5cvx969e3H37l306tUL1atX/97d4igP38+hlONHoWgYwaBBg0hLS4uuX79OMpmMcnJyaPbs2dS0aVPKzs6matWq0caNG9ljy9pORYkyzGDhwoVsrBifzycAJBKJSCgUkp2dHZuudK0Xi8VUp04dWu1zlCTaOiQUS8izixeZVLKmEfOWkWvzNgSA+kyaQbO37SORRErmle1p7bGLdPh5NOkbGZNIJCJLS0tiGIYAkLu7O0VERBAAWrVqVYn9LCiUUedhY4kvEJCOoZGK+/n4X38jAMTweASGIaFYTBoiMTEMQ9su36NuoyayYQGampo0YsQISkpKosOHD5OamhrVq1ePzTc3N6ft27er9GHTpk3Uv39/EolEVFBQQNbW1iQQCNjYLqFQSFKplIgUoQiurq6kpqbGhiRoa2uz8WCdOnWiatWqUVBQEO3fv588PT2JiMjOzo6aNGmi0q6amhodP378875AXwGGYejp06ffrf2K8vvvvxPDMLRp06bv3RWOz4Ab8XEUo3PnznBzcwOPx4NQKMSCBQuQlpYGV1dXmJubY9y4cSrlyyuuO2/ePBARnjx5ApFIBAAQCARQV1fH69evkZeXBz6fz3oVPn78GPfv34dNnfqwda4OgZo60pLf4V1sNFw8m+Pty+fQMTSChlAEF4/mqNesFeyr14KVYxXweDzwBGpo3bo1unfvjlevXmHu3Ll4+/Yt6yxTGgnxcbh77iQatu4AQzPVtbCmXb3g2cULauoa0NEzwJ7bz9HSqx8carnAwNQcnp26AwCqVq2KyZMnY/ny5Thz5gzGjRuHmTNn4saNGwAUI90FCxZgxIgRKvUPHz4cDx48gJWVFe7evYvw8HAUFBQgPT0dSUlJOHLkCPT09JCbmwtbW1vcuXMHycnJiIuLQ1RUFEJCQtCpUyeMGDECvXr1QpUqVVCzZk125AcAO3bswLVr1/D69Wu23cLCwq8SxvA5Qt6vX78GEanoX/7I7Nu3D+PHj8fSpUuL/Rb+TULm/2m+r93l+BH4eMQ3e/bsYmU2bNhAAOjcuXMq6RUZ8RXFxMREZTNRFxcXatOmDauWAYAmT56sGOWIxeTaQjG6M7WyoToezandgGFUu0kz6jVhKlk7VSX/kFjafespSbS0ycqxKmnp6hHDMKSmpkb9+/dn2/X29qb9+/eXOeJbsGABASA1DQ1iPozqhGIxO+rz7OJFLp4tSE1dg4RiMVWpW582X7hN++6HUuMOXRUjwg9t6+rqkqenJx04cICIiJKTk9mR58cqNXXq1GH7smnTJho9ejT7XqlcU/Tl4eFR4vUeNGgQ/fLLL+z7nJwcMjc3V1FkcXJyooYNG7L5ACgvL6/Mz7E0CmVyikjNovNvEsk/JJaOfLhO598kUkRq1icDtHfu3Elisfiz2v6nOXr0KPF4PJo1axab9qXnz/HPw3l1chTj40X4mJgYLFy4EEOGDMGUKVNw79491gX/c4mLi1Np5/79+wCABQsWAPh777LVq1fjaKhiPTAvNwfD3Wvh/bsEvAl+AgAIDXqArPQ0vA0JhrWTM6TaOmja1Qut+wyEuoYQVzYvV9lnTBkbt2XLlhL3VQOA+fPnY87cefC+8QijW7nB+24Iu3YHABOW/4bHN68iMjQEWy/9HeaQmfoet84qNjH18PCAh4cHez5KlM4mJe35VpThw4ejdu3aiIuLg6mpKTw9Pcs9iii6qSigGOH17dsXxsbGbNrOnTvRuHFjvHjxAjKZDAzDQF294u71KTn5uBGdAiKwmqYfC3k/TkyHm0XpMWv379+HgYEBBg8eDAsLCyxZsgSAQpOydu3auHjxYjGBg4py/Phx7N+/nxUS+BwuXLiA7t27Y8yYMVi2bBlevnyJHj298PrNa/SbNBNtBwwDUPHzrwgVuSZ5eXmoWbMmrl27VqpT1H8VbqqTo0yICIMHD8awYcPwxx9/wNTUFHPnzv3H2mcYho2FunvhDHh8Pn47EYjVR89j9dHzWH/yCqrUrY/AAD8AQE5WJqTaOlDXECL2xROV4HWgbPHeovB5DDrXrQbTSjZ49eQRmy6Xy5GflwtZYSEIhPwPnqV8Btg0fTwYENzd3REYGIgLFy4gNzdXxTO26JRjWWhoaOD58+el3tx8fHxQt25dSKVSmJqaom3btrh+/ToWLFjAxvopX3PnzsXKlSvZ6xkWFgY3Nzc4Oztj0KBBCAsLKxYUHxgYCB6Px9ZhYWEBLy8v3Lt3jy1TVMj78Z2b6O5kBp/f/t7z7vJRX/zctRV61baHg401Jk6eUuI0c3BwMKytrYulK9VrlNfg8uXLaNq0KbS1tdnye/bsQfXq1SESiSAUCiGRSKClpQU3NzcMHz6cVavp2LEjgoOD2VCSsLAwAIoHLYZhsH79epW2169fD4Zh2AeXW7duoU2bNujXrx+7bdLiZcthU6c+9j94hbYDhuHp7RuYN7AHBtR1xOhmChGBokLmDMNAIpFAKpVCX18fzZs3L2aIBw8eDHV1dZXPr+j35+NrAgAPHz5EkyZNIJVKYWxszJ6LhoYGhg4diuXLlxe7tv91OMPHUSYbNmxAYmIiFi9eDIZhsHv3buzevVtlxNKxY0eVH2rXrl2/ah8c9CQQMAwCAw6jaddeMDSzgK6hEftq228Irp04AllhIUbO+xWHNq5Cvzr2OLr1N3h5eanU1apVK4hEIty8eRMjR46ESCTC1atXS2xXT6SOsaNH4dpxf1aF4/m92+hTszKWjuyPpNgY9KlZGUuG90FjS33MmzYZDRo0wPXr1wEAN27cgEgkwq5du9g6Dx48iFGjRn3R9Vi7di0mTZqE2bNnIyEhAZGRkRg7diyOHTsGQLFzQdHwktJ2Zti9ezfu37/P9vNjzMzMkJmZiYyMDNy+fRtOTk5o3LgxLl68CJmccCM6BTIiFBYUYNeyubCvWUfl+LzcHAyZvQi7bz3Dr74ncOrceaxctapYOxERESWu75WkXjN06FCs+lDHmjVrMGPGDKxatQpBQUGYOnUq6tevDwcHB/Tr1w8+Pj4qe/b16dOHDSUpioODg4rIAaAQOnBwcACg2C7Jw8MDHTp0YMvJ5IRnr17Dws6BPUYoFqNZ994YMK34g6Hsw2j44aMgZGZm4uXLlxg8eLCKoo+S6dOnq3x+H4ffFL0mSUlJaNOmDUaNGoXk5GSEhYWhVatWbH7fvn2xd+9edmcHDgUMlXf+hIPjOyGTE069TkCBvPxfVUYuQ0cHMwj4X/Zsp5xa2htwAmlqmkjPL4RcVgiGx4e2hlqZm7W+ePECjRs3RmFhIQIDAxEVFYV9+/bB19f3s/uTlpYGc3Nz7N69W0XxRsmCBQtUgvI/hmEYvHr1CnZ2dgAUge0xMTFQU1NDTEwMWy4wMBD9+/dHdHS0yvHjx4/H7du3ceTiVQQlpKOQCEe2b0RmWirSkpOhb2KKvpNmlNj2yT3bEBF0FxdOK2I5Hz16hGHDhuHRo0eoV68eKleuDDs7OyxZsgSRkZFwdHRERkZGMRmzCxcuYNiwYUhOTsauXbtUHm4yMzNhY2ODFStWYMyYMWjWrBlOnz4NQPEg0r9/f7x9+5a9Bsrr9eDBA/j5+cHZ2RnBwcHo2bMn6tSpA11dXezYsQNubm64ePEi206jJh64c+M6+AI18AV8rPI/CzMbWwDA45tXsWXOVJVpcADo7mSGKw+fokntamyan58f+vfvj5iYGOjr6xeb7i1KSddk9uzZ7PeqNOzt7bFz5054eHiUWua/Bjfi4/jh4fM+iPmWMwC4IC8X07w6QCIWoX79+pg2bRrOnz//WW0rpxzrOVRGCxtDdHUwwTyvduhd3Qp1tPllbtZapUoVxMbGok6dOnBxcUFoaOgXGT1AMeWWm5v71UbVe/fuxbt378q9ZtutWzc8fPgQj6MTUUiExJhoXPL/Ez3HTv7ksU/v3YaBlcLg5ufno0uXLuxU5KBBg+Dv7/932RLUa4qSm5uL3NzcYgHjUqkU7dq1g6+vL2QymYoQQJUqVUoVJleKHACKazJgwABkZ2dj69atqFmzZrHvz6K9fqjiUh/D5y7BgYdhrNH7FOGpWSrvO3fujMLCQty9+7eR3Lx5M/T09ODi4vLJa3L79m3o6emhUaNGMDIyQseOHREZGanSRpUqVVQ2nuXgDB/HvwQ9kToaW+qVS/zX09oIsa9DkZ+fj7t372L16tWYMaPkUUhFISK8ffMahYWF6NWr1ycdTtTV1XHp0iUsW7YM06dPR8uWLT8ZTlEWycnJMDAwKFPM2dfXVyW8pGnTpqWWrVGjBjQ1NYuJV5eGmZkZiAjxyQolnV1L56DPT9MgKkP4GwAu+h/E62dP0GbwSBARbt++jYKCAjRv3hwMw2DcuHEqOzModUtLQy6Xl3od9PT0cP36dXh4eCAgIIC9DmVJsvXv3x8HDx5EQUEBDh06hHbt2uHEiRPQ1dXFrVu3wOP9faskIqTnf95nmFkgU/nOKBV9UlIU13PixIl49eoVu7wwePBgNgSmpGsSHR2NvXv3Yv369YiMjISNjQ369OmjUkZTU7PMjYj/i3CGj+Nfg55IvVziv8ZaCsUZ5SiGYRhs3Ljxq/ThwYMHrDfqjRs3ijlFlMaMGTNw584d3LlzB2ZmZnj16tVnta+vr4+kpKQyjaeXlxdSU1PZ1+XLl8us08DAANnZ2RCLxcUEsD8mJiYGDMNAqqmNe5fOIScrC27tOpd5zJ0Lp3Fg7a+Ys30/tHX1USgnxMbGwtzcHFevXmXbtLKyYo9R6paWBo/HK/E65OTk4ODBgzA2Nkbjxo1VrkV4eHip9VWqVAl2dnaYPXs2bGxs0Lx5c2hoaGD06NHg8Xho27Ytu4btvX8/Pld8jAFQWGTKvqCgAO/evWMVi+rUqQN9fX0IBAK0a9cO/fr1w5EjR0q9JiKRCF27dkW9evUgFAoxf/583Lx5E2lpaWyZjIwM6OjofGaP/z/hDB/Hvwql+K9y2rGDnTG6OpighY2hyrTjqFGjoKGhAXV1dZibm6Np06Y4evToF7d/5MgR5OYqdmAoKCjAtGnTkJSUVK5j69ati/j4eFhZWaFKlSrYuXNnhdtv2LAhNDQ0EBAQUOFjS0Mmk8HY2BhWVlbIzMwss+zRo0dRp04daIjFeHr7Ol4/e4xh7jUxzL0mbp7+Cye9d2D52MFs+UfXLmPr3GmYtWUvrByrgAAIeAxMTU0RExOD+/fvs3u/FZ2iq1GjBsLDw0s18BoaGtDQ0GCNAqBYj+3YsSNSU1NLHOErQ0lKY+DAgVizZg0eP34MoVCIDh06sCO906dPs84mA/v3x+c6RijPX8mxY8cgEAhUtpIqCsMw7AixpGtSo0YNlbCgkvRAX7x4UeqOJP/VgHvO8HH8aylL/FcsFmPFihWYM2cOoqKiMHjwYHTv3h1jx479ojbT09PZzWSVOqcV2U5HLBbj3r17mD59OkaOHIlu3bqVGE5RGtra2li0aBHGjRuHgIAAZGdno6CgAKdPn8b06dPLVYcypEP5Sk9PR//+/fHy5UsEBgYWK09EbCznzp07sWzZMmipC9Bn4nRsPHOdDS2p26wlWvTsh3HL1gEAnt6+jt+mjsfUDTthX6M2AMXInGEYNGzYEAKBAIGBgbC2tsaRI0dU1rksLCxgZ2enkqbc2aOgoAAMw2D27NkYP348zpw5g+zsbLRr1w5Pnz5FlSpVMGjQoGLn8alQkm7dusHIyAhqamoICQlR8aYsCsMw0FQvnldaqEtRpGp8MAyDlJQUHDhwAOPGjcOMGTPY75Cfnx8yMzMhl8tx7tw57N+/H506dSr1mgwZMgRHjx5FUFAQCgoKsHjxYri7u0NbW6EjGxMTg5SUFDRo0IA9RiYnRKZl40L4OwSExuNEWAKOhsbjQvg7RKZlQ1YBJ7J/Ld8haJ7jX4ZMLqf8QhnJ5f9uBQqlXma1atUoLS3ti+qqW7cutWrV6ovquHz5MolEIrKwsKCoqKgKHbt//35ycXEhsVhMxsbG1K5dO7px4wbNnz9fRdtT+UpISCAiKqb+gg8anwcPHqTGjRuTvb092zeGYUgikZBYLCZTU1Pq3r073bp1i4iIIlKz6NjLOBUdU88uXtR99E/se2fXRsTj81nlG6FYTB4tWrLncO/ePRIIBKSmpkZeXl7k5eWlojhTHvUaBwcHcnZ2JnV1dVYDVXnOampq1LLl3+0pdUtRRDFIqRQkk8nIycmJtLW1KTk5mYiI+vXrR/Pnz6fExES6f/8+nTx5knbs2EGenp7Uvt9gcq7XgMYsXsWe78K9fsX651yvIZsPgERiMUkkkmKKPkrc3d1JS0uLNDU1qUaNGnTw4EGV/I+vCRHR5s2byczMjHR0dKhDhw4UGRnJ5q1cuZJ+/vln9n1ydh79FRpX7LNTvo69jKO/QuMoOfvzVHw+JjExkRwdHSk7O/uL65o8eTJt3rz5K/SKiDN8HCXy/yrDFBERQaampiSRSOjmzZufXc/w4cPJysrqi/vz/v17qlKlCqmpqdHhw4e/uL7Pgcfj0d27d+nt27fEMEwxWbqSKJTJ6a/Qkm+epb3+Co0r9r3R0NCgP//8s8Q2cnNzqUqVKhQbG/vF5/jXX39Rz549S8yTyWTk4uJCEomEYmJiiuUbGRmRSCQiiUTCGrRFixeXev6GZhakriEkoVhM2voG5NnFi/Y/eEV/hcZRwLG/qF69eiQWi0lPT4/69u2r8tBTkryfkmfPnlHz5s2Jx+ORlpYW1alTh06ePFnqOVeqVIl9eNHW1qZ69RvQ6AXL6fDzaLavXuMmE18gUHk4+f38LQp4+bfxy8jIIIlEQm3atKnIJScihbH69ddf2ffTpk0jCwsL0tTUpEqVKtHSpUtVyuODOL3y4WXYsGFsXmxsLFlYWHy2tF5RuKlOjmKk5OTj1OsEBCWks95rH8swnXqdgJSc/NIrqSB5eXmoWrUq4uLivriu48ePs0LXH1OpUiVER0fDw8MD7u7u+PXXXz+rDQ8Pj3J7QpaFjo4Onj9/juHDh8PLy4vdyPSfQi6XQy6Xw8HBAVZWVmjatGm5Aux5DHB13zbIigSIlwWf+RCSUmR9q7CwEHl5eezehR/zKfWaitCxY8dSQ0maNWuG4OBgPH36VGXLKiXTpk1DXl4esrKywDAMevXqhblz5pQZYjNzyx4ceBiGVUfO4nXwYxzZuh7J9wIxoH8/TJo0CUlJSQgODoaGhgbc3d3x/v37cp1D69atkZOTg3fv3mHDhg3Q0tIqtTzDMDh37hwyMzPxJvwtWg0ejSM7fsfmX1RDT9zadsKBh2Hsy+TDps83olMgkxP8/f2hoaGB8+fPs9uJlYe8vDzs3buXDVkBgGHDhiEkJATp6em4efMmDhw4oLJOCyjE6ZXrqUXXwU1NTeHk5IS//vqr3H0oDc7w/cNYW1vjwoULKml79uyBu7u7yvvq1atDLBbDxMQEY8aMUXFHLipLpaOjg0aNGrG7mAPlk5sqiXXr1sHaxgYWhvoY5FYLO5bNg6wE54LHd26ik4MpRk+eXqLxU7qoF12EDwoKQuPGjaGtrQ0LCwt2I1ol5ZGn+pj169fDxsYGEokEVapUQWhoKABVeaqS4PF4OHnyJNasWYM5c+agefPmFQ4xaNOmDXJzc5GdnV2h40pj8+bNCAgIwIEDB+Dg4FBuh5kvRRmgrlwT2rt3L96+fYsTJ06UWL6goAD79++Hjo4OVi9egLoGwnKFmDS2LK5VeefOHfB4PNa55XvQsWNH3Lp1C/fu3Ssx3GHz5s2YM2cOu46sqamJzZs3AyhfiI2xiRnqNmmGjMgwzJ81A3PmzEHfvn0hEolgYmKCnTt3QiqVYt26dWX2MykpCeHh4RgxYgTU1dWhrq4ONzc3lftGWWTy1OHarDUmr9uKwIDDiAz99H6aREBMZi727t2L0aNHo0aNGsWEEZYvXw5bW1toamqiatWqKg5kd+7cgY6ODiws/t7hxNHREZIioS88Ho+VjysPnp6eOHnyZLnLlwZn+H4wisowpaWl4fbt24iIiEDLli2RX2ShXClLlZSUhKZNmxZT8ShLbqo02nfoiF/9zmD/g1CsO34Jb0Oe4+S+P1TKFJWnkgPsU6GSAwcOqMhEKenbty+aNGmClJQUXLlyBZs3b1Z5cvuUPNXH7Ny5E3/88QdOnjyJzMxMnDhxQkV0ujR5qqJMmjQJ9+7dw/3792FmZqayTc+nUMaQXbp0qdzHfIpOnTohIiICBQUFsLS0xNmzZ79a3aXx6tUrlVg4CwsLtGrVqpgTEBFh3bp1MDU1xYgRI5Ceng4HBwfYmBiVK8SkJIHmGzdulDli+db06dMHZ86cwfXr11GtWjWVvNDQUDg6OmLixImsWo1S07PoZsklhdgo0VIXwKgwAy9vXYG2phSRkZHFfqc8Hg/du3f/pMCCvr4+7Ozs0L9/fwQEBFR4tiE0JQuFRLCvURv6JqZ4/uAOm3f/8nkMql8VP3XwxJmDe9n0QiJce/ICgYGB6NevH/r161dM2s3W1hbXrl1DWloa5s+fj/79+7OzNk+fPoWjo2Oxvixfvpx9IM/KykLfvn1V8ps0aQITExN069atmODAVwvG/+LJUo4KUdI2Psp5/bS0NJJIJMXWPDIyMsjAwID++OMPIvp7QV5JcHAwAaDExEQiUjgBmJubF2t73Lhx5OLiUmrfijos7Ln1jKo3dKfWfQaprF/0mzyLOg8bwzoyHHsZRxFpioXr1NRUsre3p1u3bhEAKigoYOsWiUQUHBzMvu/RowctW7ZM0W5EBAmFQpXySs6fP19sLU0mk5GFhQVduHCh1HO5fv06WVtbl5pflKysLHJxcSGBQEDe3t7lOoZIsbXS5MmTy12+vMhkMurTpw8xDKPimPAt2L59O0kkEpW0uLg44vF45Ofnx6bl5+dT5cqV2Q2EGYahefPmFatPXgFHqF69epGTk9OXn8RnMGrUKOLz+XTx4kWVdJlMRsOGDSMej0e1atVSWX978eLFJ89LLpeTlZUVu65WqVIlGjNmDF29epUAUE5OTrFjtmzZQnZ2dkRU9hpfVFQUjRs3jipXrkwMw1Djxo0pNDS01L4o7zVyuVzlN2xfsw71mTSD/ENi6bcTgbTjykPyDY6ipT7HSMfQiCat/p0t2+en6VSzZk0iIoqOjiYej0cPHz4stc2aNWtSQEAAEREtWbKEevXqVep1evjwIc2bN4/S09PZ9CtXrlBeXh69f/+exo0bR87Ozir3hXPnzpGNjU2p7ZcXbsT3A3Hz5s0yZZhKeirMz8+Ht7c39PX1oaurW2b9SrmprKysEvNDU7Jw+S9/9HdxwOCG1RAR8hytev09P1+SPFUhEUKTFbFfs2fPxpgxY2BiYlKs7kmTJsHb2xsFBQV4+fIlbt26hRYtWgD4tDzVx0RHRyM6OhrPnj2DpaUlbGxsMH/+fJWwAKU8VXp6+ifrE4vFuH//PiZOnIhBgwZhwIAB5QoxsLW1xYMHD8rV54rA4/Hg4+MDb29vbNy4EbVq1fpkfN3nEhkZqTL1BAAmJiZo164dJk6cyKapqamxCiI8Hg9isRhubm7F6isrxORjQkNDYWtbPqmvr8n06dOxY8cOBAQEoFmzZmz68ePHoaenh4MHD8Lb2xuPHj1SmaZzcnL65Hkp8wMCApCamoqIiAhs3ryZ3RaopDXsuLi4UrfIKoqFhQU2bdqE169fIyIiAhKJBAMHDgQAlQD7AwcOqBxXKCeVgPuUhDhItXUAAJZ2DtAzNgGfz4dTnXpoP2AYu7UWAAQG+KF3H8WIzNzcHB4eHti79+9Robe3N2rVqsWq4zx79oydpi9LhIBhGNSuXRsikQjz589n05s0aQJ1dXXo6Ohg/fr1CA8Px4sXL9j8rxWMzxm+78DHO5Yrp5WSkpJKlWEyNTVVWfdRylKJRCLs2LEDfn5+nzQcSrmpkuSL6IMMU+OO3bD/QSg2nrmOVr0HQlv/7328SpOnSs8vxL1793Djxg1MmDChxLY7dOgAPz8/iEQiODk5YdiwYaxE1afkqT5GuS517tw5PH36FJcvX8bBgwfxxx9/T8sq66uIVNOaNWtw8uRJHD58uFzrbHXq1KnQ+kRF6d+/P0JDQ5GQkAATExOVddyvRXR0dInXfvfu3YiPj1fZ1qlly5bQ19fH1KlTkZeXV2rQdUXaLi2w+luxZMkSrF69Gvv370eHDh0AKH53bm5u6Ny5M1q1aoX379+jX79+X7VdR0dHWFhY4PDhwyrpcrkc/v7+aN68eYXqs7S0xLhx4/Ds2TMAqgH2H/ddwGNY57Swp0FISYhHlTqlB8wrXdlCHt5DXMQbrFyxHCYmJjAxMcGdO3fg4+ODwsJCREREYMSIEdi0aROSk5ORmpqKatWqqQTcK9fdS6OwsLDMJYaiAfxA2cH4FYEzfN8B5dOg8qVcLDcwMChVjurjp0KlFFNCQgKqVatWrpGHUm5KR0cHy5YtY58QR48eXeyp0My6MiztHLBj0SwAKFOeiuRyjB07DuvXry/R+KakpKBNmzaYN28ecnNzERUVhbNnz7Ln/Sl5qo9RbqEzffp06OjowNraGqNGjcKpU6fYMsr6Kvp02LZtW0RERKCwsBCWlpZlrol6enri3bt3Faq/otjY2CAmJob1Ql20aNFXrT8hIaHEmQIDAwN06dIFP//8MwCFqkloaCju3buHFStW4N27d1/85J2amoqGDRt+UR0VYcOGDZg3bx62bt3K6lkuWrQIpqamiI6OxoMHD+Dr6/tZG/J+CoZhsHr1aixZsgQ+Pj7Izc1FfHw8hg8fjvT0dPY6A4qH0KICA7m5uXj//j3mz5+PsLAwyOVyJCUlYdeuXSqB6YDCMDg6OqJRo0ZISkrCjh070KVLF8S9CcX9y+exdvIYNOnUHVaOVQAAdy+eQWZaKogIr548wql9u1CvWWsAQGDAYdRx98Dz588RFBSEoKAgPHv2DDk5OTh9+jTr5aocze7evZs1xADg6uqK1NRUdtcPuVyObdu24f379yAi3L17F7///jtr9IODgxEUFASZTIbMzExMmTIF5ubmqFKlCltnefez/CRfPFnKUSHKWuNLTU0lsVhc4hqfoaEh7dixg4iKr/GFhISQVCpl450+Z43v43UA/5BYmrhyI1k5ViX/kFhqP3A4iSRS0jEwJB0DQzZOqV6zVuR99wUxDEPGxsZkbGxMBgYGBICMjY3p6tWrdO/ePdLR0VFpb926ddS+fXsiUqxdiESicq/xZWVlkbq6Ol25coVNW7NmDXXp0oV9X5E1vpKQyWTk5eVFDMPQrFmzSiyTkZFBAOj9+/ef3U5F2LhxI/H5fHJzc/sqsUxEikD8tm3blpj3/v174vP5NHDgQGIYhk6dOvVV2iRSfIYAvlhIoLzs2rWLGIah1atXE5EieN7c3JwEAgEtWbLkq7ZV0m9cSUBAANWtW5fEYjHp6upS7969VQLOd+/eXaLIQGpqKg0cOJBdPzQ2NqbevXtTdHS0Sv2pqakkEAiKHS8Si8mxlgsNn7uUfIOj2N+4W7vOJNXWJaFYTGY2tjR09iLyD4mlg4/fkERLm/44VDy2dMyYMdS9e3ciIpo9ezbp6uqSvr4+/fzzz9SkSRP2PkVENHXqVFq+fDkRKX5TrVu3Jl1dXZJIJGRvb09Lly5l100vXrxIDg4OJBaLydDQkDp37qyyhhkbG0vm5uZf5bvPGb5/mLIMHxHRihUryMjIiE6fPk35+fkUHh5Obdu2pdq1a1Nubi4RFTd8RETdu3enSZMmEZGq4ZPL5RQdHU0LFiwgDQ0NOnv2bKl9+/nXtbTrxhN20dvCzoE6DBpJ/iGxtP9+KO28FsS+GrXtSB0GjaA9t4Pp3OsEiouLY193794lABQdHU15eXmUlpZG2tradODAAZLJZBQXF0cNGjRQMSjVq1enGzdusO9lMhnl5OTQqVOnqFKlSpSTk6PyhR8wYAC1b9+e0tPTKSoqihwdHWnnzp1s/tKlS2nMmDEV+mxKYufOncTn86lBgwYlOiaUFYD9LXj27Bnp6uqSjo4OPX78+Ivrs7W1pSFDhpSa37JlSwJACxYs+OK2inLu3DkSCARftc7S8PPzIx6PR3PnzqW8vDzq1q0b6xyiVGn5f+DKlSvk6elJDMOwBk8qldLLly+/muBARfnayi2///77F9dDxDm3/HBMnz4dy5Ytw9SpU6GlpYX69euzU25l7Zk2bdo0bN++HYmJiQCA2NhYdiqzXr16ePr0KQIDA1V2Z/6Y6KcP8XOnZuhb2xZLR/ZHnSbN0G/yTACASCpV2fVcXUMEDZEYurp6cDTQZNcATExM2KkPY2NjqKurQ0tLC0eOHMG6deugq6uLWrVqoVq1apgzZw7b9qhRo1Q207x69SpEIhHatWuHyMhIiEQilb5v2rQJUqkUZmZmaNiwIfr27asS/P01djoHFAG3T58+RWhoKExNTVWmcgDAyMioRH3Lb4WzszPi4+NRvXp11K5du9y7Q5RGeno6zM3NS8x7//49u5v81wgiL8qNGzfY2MFvyZkzZ+Dl5YWJEyfCzs4OOjo6uHTpEk6cOIGrV6+qhCb8G4mOjsaQIUOgo6MDT09PJCcnY/LkyVBXV4dUKsW1a9fg4OBQ4T0tSxIc+BwMDQ0REhLCLk98CWvWrPlirV0l3A7sHCyfs9N5XlYmbGWpqF2rFtTU1D67beVO5xcvXvzim+zx48e/eKfzj8nPz0eLFi1w8+ZNbNy4EWPGjAGgCNbPzs7+Jo4nn2Lp0qWYN28eWrVqhePHj5fbK7YoUqkUv/32G4YPH66SLpfLYW9vj4KCAjZoODk5+Wt1HV27dsXr169LFRn4Gly/fh2enp7o3r07Xrx4geDgYIwYMQKbN29W2V/v30Z+fj5Wr16N7du3IyIiAqamphgwYADmzp0LqVQKmUwGT09PLF++vJjnbUpOPm5Ep4BI4ZH9MQKGAcMAbhbFBQf+r/gq40aO/xuSs/MooBQB249fR0NiybGWCysObGNjQ127dqWgoKDvfRrfjPnz5xPDMNSlSxeSyWQ0ffp0MjY2/m79uX37NkmlUjIyMqKwsLAKHy8QCEqMh+zcuTMJhUJKSEigrKwsEggEtGHDhq/RZSIicnZ2ZteJvgUPHz4kgUBAdnZ2xOPxyMnJ6bOuz49EQEAAubq6Eo/HI7FYTD169KCQkJAK11Mok1NEWnbJOrxp2f9aHd6KwBk+jmJURMH96NGjbFAzAOLxeKyC//8rV65cYXdVOHDgwD+2VlUaWVlZVKdOHRIIBLRnz54KHQuAIiIiVNJWrFhBPB6Prl27xqYNGzaMtLW1SSaTfZU+6+npfXWnEiUvXrwgNTU1UlNTI6FQSFu3bv0m7fwTvHjxgrp3705isZh4PB7Vr1+fjh079tXqr4jgwP8TnOHjKJHyPhXK5XJydHRkDZ+5uTllZWV9595/e96/f09OTk6kpqZGACguLu57d4mmTp1KDMOQl5dXuQxUamoqAVApe/HiRWIYhtatW6dSNicnh9TU1GjlypVfpa98Pp8uX778VeoqytOnT4nH4xEAateu3b/yu5ienk7Tp08nExMTAkDW1ta0bNmyr+bJy8EZPo5y8KmnwuPHjxOPx6PatWuTvr4+aWpq0u3bt//hXn4fhg4dSgCoWbNm37srRER04cIFEgqFVKlSpRK32CnK3bt3icfjse/j4uJIQ0Oj1O17xo4dS5qaml886ktOTiYArJfy12LhwoXs/oJXr179qnV/a2QyGe3evZuqV69ODMOQtrY2DR48uML7NHKUD87wcXwxcrmcfvnlF0pISKCCggJq06YN8Xi8ErUc/x8xNDQkhmGoRo0alJGR8b27Q8nJyeTo6Ejq6up05MiRUsv5+PiQUCgkIqKCggIyMzMjBweHUg1bXl4eqaur0+LFi7+of0eOHCF1dfUvqqMoz549IysrKwJAurq6JcaD/qjcvXuXWrduTerq6iQQCKhp06Yq8akc3wbO8HF8E37//Xfi8/lUr169f+V0U0Vo06YNVatWjYyNjUkqldKdO3e+d5eIiGjEiBHEMAyNGDGixPxly5aRrq4uERE1bdqUpFLpJwPKJ02aRBKJ5ItGfV/LIaigoIAGDBjAjvLMzMz+FdOBCQkJNGrUKNLT0yOGYcjJyYk2b9781dZPOT4NZ/g4vhkhISFkaGhIUqn0i3Y7/9GZP38+6evrq4x2V6xY8b27RUSK4G11dXVydHQsFqw9duxYqlSpEs2aNYv4fD49evTok/UVFBSQUCikuXPnfnaf2rRpU+YuIeXBz8+PNDU1SSKRkL6+PhkZGf3QD1gFBQW0du1asrOzI4ZhyNDQkCZOnPh/FUD/b4IzfBzflIKCAmrbti0xDENz5sz53t35Jly/fl1lrWz16tXE4/GoRYsWP8S0W0xMDFlaWpJIJFIJXejatStZWVkRwzC0a9euctc3ffp0EolEnz1CcXBwKKY8VF4SEhKoXr16xDAM9e7dm+zt7UlXV/cfk42rKOfOnSN3d3fi8/kkFAqpQ4cOX0Vxh+PL4Awfxz/C5s2bic/nk4uLyw/9ZP45yGQyAkCvX79m0+7du0eamppkZGREb968+Y69UyCTyahnz57EMAxNmzaNiIhcXFyIYRgaPnx4hesSiUQ0ffr0z+qLlpYWrVmzpsLH/fLLL8Tn88na2poeP35MNWvWJE1NzR/Co7Yob968ob59+5JUKmWdvg4dOvSfCxn4keEMH8c/RmhoKBkZGZFUKqXr169/7+58VaRSKW3atEklLTMzk2rVqkUCgYAOHDjwnXqmyu7du4nP51OtWrWIYZhi4uHlZe7cuaShofFZI1oej0d3794td/lbt26RiYmJSjiFm5sbiUQievv2bYXb/xZkZWXRvHnzyMLCggCQhYUFzZ079//uIe//Bc7wcfyjFBQUUPv27YlhGJo9e/b37s5Xw8HBgfr06VNi3qRJk4hhGBo8ePA/3KuSCQsLYxX8Swtd+BQymYwkEgkrjF5eoqKiCAAVFhZ+smx2djZ17NiRGIYhT09PdjpT6QX5/Pnzz+n6V+XQoUNUp04d4vF4JJVKqW/fvj/ECJ+jbDjDx/Fd2Lp1Kzv1+SOEAHwpXbp0oerVq5eaf/z4cVJXVyd7e/vv7tAwduxY4vP5xOfziWGYz1ZQWbJkCamrq1fIk3L//v1sCEVZ7Nixg4RCIenp6ansKNKjRw8SCAT04MGDz+rz1+Dx48fUqVMnEgqF7DZRp0+f/m794ag4nOHj+G4opz4lEomKPNa/kRUrVpC2tnaZZeLi4lgnk2+hWlIe9u3bRwzDsN6ew4YNIx6PR02aNKlwKIBMJiNNTc0Kbf80YcKEEveKVPLmzRuqUqUK8Xg8Gj9+vIoDzbBhw4jP53+X78r79+9p0qRJZGhoSADI1taWVq9e/UM4L3FUHM7wcXxXZDIZdejQocwNX/8NPH78mBiG+aSno0wmo+7du38XL9enT58Sn8+nqVOnEhERwzD09OlTevz4Meno6JCenh49e/asQnWuXr2a1NTUStyrsCSaNm1KjRo1KpYuk8lo9OjRxOPxyNnZudja3c8//0w8Hu+rboZbGrIPSkWFhYW0ZcsWcnJyIoZhSE9Pj0aNGkXx8fHfvA8c3xbO8HH8EOzYsYP4fD7Vrl37Xzn1KZPJiGGYcruqK6d6GzVq9I8EXWdkZJCWlha5u7sTkUKFBQBrsHJycqhRo0bE5/MrtNmnTCYjbW1tGjZsWLnK29jYFCt76tQp0tXVJZFIpLKZsBLljhjfcsPfQpmcIlKzFNq0L2LI91kkHX4eTeuOX6Jxvyygm//nwuv/NTjDx/HDEBYWRsbGxiSRSP6Vsk3a2toVEnFW7qauq6tb4ZFWRalatSoZGxuzU3MhISHEMEyxcgsWLCCGYahdu3bljtPbsGEDCQSCcnkwSiQS2rJlCxEppg+bNGnCbvNU0qhx9erVxDBMiQbxa5GcnUfHQmLo0OPwT+5G8jXo3bs3HT16tFxlu3Xr9o+Mcv9rcIaP44dCJpNR586diWGYz44T+15Uq1aNunbtWqFj8vLy2JHWtm3bvkm/+vXrR+rq6iqCx0pnm5K4ceMGSSQSMjExofDw8HK1oaenRwMGDCizjFwuJ4Zh6Pnz5/Trr7+SmpoamZmZkampKZ0/f56IiGJjY2no0KFkYmJCGhoaBIBat25NmZmZRKTYRunVq1cq9c6fP18lIL6kMh9z+fJlAkDtu3Qjn0evVQzdgj2+ZFO1GokkUjKyqESjFq4k/5BYCnipMH4bNmwga2tr0tTUJBcXF5U1x0uXLpGnpydpaWmRlZVVsXYfP35MVapUYWP6Ll26RNWqVSNtbW3S09OjLl26UHR0NFv+zp07VKdOnTLPhaPi/Hu3Ieb4v4TH4yEgIAA7duzAmjVrULt2bWRmZn7vbpWLatWq4fnz5xU6Rl1dHTdu3MCsWbMwevRo9OjRA3K5/Kv1afPmzfDx8cHx48dhYWHBpoeHh0NDQ6PEYxo1aoT4+HgYGRnB3t4e+/fv/2Q7v/76K3x8fJCenl5qmVevXoGI0KZNG8ydOxczZ85ETEwM1NUVO32npKSgYcOGyMnJwaxZs5Cfn4/JkyfD0dERr1+/ruCZl86JEyfQs2dPAMCjx4+hIRKxeYUFBVg5fhhaeQ3AvvsvMWXdVuxdsQBvQ4IhI8Kukxcwc+ZM+Pn5IS0tDcOGDUPXrl0hk8kAABKJBEOHDsWqVatKbHvbtm3o168fGIYBAFStWhVnz55FamoqYmNjYW9vjzFjxrDlXV1dkZ6ejvv373+18+cAOMPH8UMybNgwvHr1CvHx8TA2NkZgYOD37tIncXNzQ0xMzGcdu3jxYly8eBGnTp2CjY0N4uPjv7g/d+7cwYQJE7Bo0SK0atVKJS8yMhJSqbTUY6VSKR4/fowJEyZg4MCB6Nu3b5kGeeTIkdDT08PIkSOL5b179w6rVq1Cu3btAADGxsaIiYnBokWLVMqtXbsWmpqa6N27N37++WdMmTIFa9aswfr161GjRo2KnHoxXr16hZ49e0IikaBTp05ISUnB5F/mIzE6EmFPH7PlMtNSkZ2ZAY/O3cEwDOyq14J5ZXtEhYUCABKio2DvVAUuLi5gGAYDBw5EUlISEhMTASgM1YABA1C5cuUS+3H69Gl4eHiw742NjWFmZsa+5/P5CAsLUznG09MTJ0+e/KLz51CFM3wcPyw2NjaIiYlB69at0axZM0ybNu17d6lM2rZti8zMzM8esTVt2hTR0dHQ0NCAlZXVF93sUlJS0KxZM7Ru3Rpz5swplh8bGwttbe1P1rN27VqcPn0aR48eReXKlcs0yKtXr4avry/WrVuHKlWqsMZgz549mD59Ol6/fg2GYfDgwQNs27at2PEXLlxAnTp10K1bNwwbNqzUUVN5yczMxKxZs2BmZgYHBwfcu3cPs2fPxs6dO2FkZIRWg0ejppsHAgN82WN0DAzh3r4LLh35EzKZDC8f3ce72GhUcXEFANRs3BTZ+QW4c+cOZDIZdu3ahVq1asHExOST/cnKykJ4eDgcHR1V0iMjI6GjowORSITVq1dj+vTpKvlVqlTB48ePwfEV+d5zrRx/u09zWn6ls2fPHhIIBFSjRo1Pbp3zPeHxeF9lJ4pBgwYRwzAVVkYhUqyTWltbk5WVVakOKs2bNy8xrKA03r17R/b29qSurk7Hjh0rll9QUEA7d+4kHo9HfD6fNDQ06MqVK1S7dm0CQCKRiAAQABKLxfTixQsiIiosLCQTExM6f/48WVpaEo/Ho969e5faDwCkqalJ2tra7EtDQ4Nd41Pqpjo4OBDDMKSlpUWDBg2iyMhIlXOfOHEi+YfE0qTVv5OWrh79+TSCXeObuXkPaesbEI/PJx6fT6MXrWLz/F7EUN9JM0kgEBCfzyd9ff0S5dfOnz9fbI0vOjpaxZP2Y5KTk2n58uV06yMP0u3bt1PTpk1LvSYcFYczfN8JFffpkFg68uGHdf5NIkWkZlGhjDOCH/P27VsyNTUlsVhMly5d+t7dKRE9PT1asGDBV6lr//79JBAIqFatWqxzR3no0KEDiUQievfuXallatWqRZ07d65wnwYPHkwMw6gErefl5dHZs2dZwwaA1NTUiMfjkZ2dHT1//pymT5/O7pu3fv169thTp04RAOratSsxDEN2dnZlto9SnFvatGlDbdq0YR1iXF1d6fLlyySRSNhXREQERUZGKh5Obt2mIyGx5PMojIRiCU3f9Af5h8TS+lNXSEMkojk7fOjw82jacOoqmVjZ0Oyt3uQfEktjFq8iUysbevb8BclkMjp9+jQZGRkV2+2+JMOXmZlJACgxMbHU84uLiyMjIyOVwPg1a9ZU2GmKo2y4qc7vQEpOPk69TkBQQjrS8wsBKO4WAJCeX4ighHScep2AlJz8L25r1qxZ+O233764nry8PDg5OeHdu3dfXNfnYmVlhejoaLRp0wbNmzfHlClTvltfSsPa2hp37979KnX169cPoaGhiI2NhampabkcHH799VecOnUKFy9ehIGBQanl3r9/D1NT0wr3affu3Th06BB27tyJqlWrIjExES4uLjh9+jR8fX0h+uAoUlBQgGnTpuHVq1eoUqUK+vTpAwCoXLkyJkyYwNb3559/AgCOHj0KqVQKkUhU7qnipKQkjB07FitXrsSZM2cQHh6OtWvXAgAOHDgAT09PZGZm4u3bt1i4cCGCgoKwbt06yOVydO3SGUPda2Jsy4YoyM9DYMBhAEBU6EuYWVdG7cae4PF4MK9sBxeP5nh49RIAIPxFMFw8W6CqkyN4PB7atGkDU1NT3Lx585P9lUgksLW1RWhoaKllCgsLkZiYqOIk9OLFC9SsWbNc14SjnHxvy/utsLKyIqFQSBKJhIyMjGjQoEGUkZFBHh4etGPHjhKP2blzJzk6OpJUKiUjIyNq27YtpaenE5Fi6klNTY2kUilJpVJydnammTNnUmpqapn98PT0JAMDA9LU1KQaNWrQvj8PU8DLOHbqZNfNp+TevguJpZok0dKmxh26snlK9+lBgwYRn8+n2NhYlbpHjRql8kSrrq5OUqmUzU9MTCQzMzPKzs4mIsWTeffu3cnKyooAFJPNev/+PQ0cOJAMDQ3J0NCQ5s+fr5K/YsUKmjx5cnku/zdHOfVZvXr1T34G/ySDBw+mypUrf9U6CwoKqGXLlsTj8Wj16tWllrtw4QIxDEMbNmz4ZJ16enqfrdFJpBCbNjc3Jz6fT+rq6iQSiahZs2YEgB11Kb9fMrmccvMLiM/n08OHD9k65HI5aWtrs6NEHo9H2tra1L9/f1a5JTo6mn7++WdWGAAA/fLLL2Rvb08Mw5CBgQG5urpSjx492Hrx0agwODiYnSJlGIYAKDRK9x+hndeCaObm3SRQU6c9t57R7+duklAspgV7fMnvRQz9fu4mmVSyZkMaxv/6G5lbV6bXr1+TXC6nc+fOkUgkYqduZTIZ5eTk0KlTp6hSpUqUk5OjIlAwYcIEWrp0Kfve39+fQkJCSCaTUWJiIvXs2ZNq166tcq3t7e3pzp07n/1ZfQv+7csz/9eGTxkbFB0dTc7OzjRjxoxSDV9gYCAZGRmxP8zk5GTas2ePiuH75ZdfiEihcnH37l3y9PQkZ2fnMqehHj9+zE5b3Lh5i0QSCe28+og1blVcXKnDoJHkfS+E/nwaQauOnFWJKfINek1SqZT09PQ+GRw9aNAgGjJkCPt+5cqVKnut5eXl0bp16+jatWtkYmJSzPANHjyYevToQVlZWRQeHk6VK1dW2aA0KiqK9PX1KTc3t8x+/FO8ffuWzMzMim2w+j3ZuXMniUSib1L3ihUriMfjUevWrYtpRMbExJCGhkaZ62NEio1cY2JiSCgU0r59+76oPwcPHiQ+n88aLqUGaV5eHtna29OaP7xVpvL9nkerTOVfvHhRZWrU09OTfHx8qHfv3mRsbExSqZQcHR1pwYIFdOLECWrcuDEBIHV1dWrfvj37Wy0rjk8mk9Eff/xBampqKlOxLVq0oDcpGXTsw0OohZ0DDZuzhPxDYmnyuq1kae9IQrGE9IxNqcvwsXT4ebTiYTQkliZOn0mWlpYklUrJycmJvL292baV8YFFXx4eHmz+06dPqWrVqqzBUMYEisViMjY2pl69eqnItd29e7eYIfxe/NPLM98y0P8/YfiIiKZOnUrt27cv1fCtWrWqzDWPooZPSXp6OpmYmNDGjRvL1adjF6+QmroGLfc9Sf4hsTR3pw8ZmlmQb3BUiYoR/iGx9NOK9WRqbk6//fYbOTs7l1p3ZmYmSaVSCgwMZNOaNm1a6s3N3Ny8mOH7eKF+6dKl5O7urvJkZ2dnp9LG90Ymk1GPHj0+2xHkaxMTE0MAvpkM2e3bt0kqlZKJiQl7gywoKCATExNycnL6pNpKzZo12S2J1NXVyc7O7rMfZIyMjNgRlHIUFRUVRcnZeRQQEkP+z0v+XiuVUDzatCd1dXVau3YtJSYmUnZ2NtWtW5dq1qxJRIoHm379+rEjtVq1apGPj4/KOc6cOZPWrVun0q+cnBxas2YN1ahRgx2RmpqasuesXIMtlMnpr9C4Un97Jb3+Co374ht8nz59KnRDNzIyUrmXESkMbFGxbw8PD9LQ0FBx4vl4nfHje+LBgwdJR0enxN/zo0ePyN3dnbS0tMjc3JxmzZ1Pf4XGsQ8KPo/CqHWfQaSpo0tiqSZVrVtfRd3mzp071LZtW9LW1iZdXV2qV6+eykM0kUKQnGEYGj16dLH2Pw70j42NpY4dO7Kf48fCChUN9P9PrPFFRUXh1KlTqF27dqll6tevj7Nnz2L+/Pm4ceMG8vLyPlmvpqYmWrZsiWvXrpVZrkOHDhAKhejc3APOrg1hW00xXx/6+CHMbGyxaeZPGFTfGdN7tEXw3Vsqx146ehiN23dB7969ERISggcPHpTYhr+/PwwNDdGkSRM27enTp8Vcpz8FEUEmJ0SmZeNVSiYePXmKE2EJOBoajwvh72Bt54BHQUEVqvNbwuPxcPjwYXh7e2PTpk2oVq0aUlNTv1t/zMzMIBAIcPXq1W9Sf/369REXFwcjIyPY2dnhzz//RIsWLZCVlYV79+6Bx1P9STMMoxIX1q9fP/Z/mUwGbW1tCIVCjB07VuU4d3d37NmzB4AiHMHd3Z3Nk8vlGD58ON69e4fKlSujSZMmYBgGRAQra2uYG+jCf+dmgMdHckIclo8djEH1q2KEhwvOHvJGIREK5IRxq37HQf+j2LdvH2xtbaGnp4egoCAEBwfD1NQU1tbWCAwMxE8//YT+/fsjKCgI9erVY8/x3bt38Pb2xqhRo5Camop58+bBwsICIpEIU6ZMQVRUFLZv3468vDwEBAQAAAwMDDB//nwAAJ/HwM1CD/wPweSfgs98KM8rX/nS8PHxQZcuXcpV1t/fn103/RQSiQSLFy8uV9m9e/di3LhxOHnypEpcoZK+ffuiSZMmSElJwbGz57F16xbcvHAGhaTwRtg6bzoy095j/amr2HPnOQbPXIgCOeFaVArOBl5Fs2bN4OHhgbCwMCQnJ2PLli04ffq0Shve3t7Q1dXFn3/+Wex++3Ggv3I91d/fv8TzqWig//+14evSpQt0dHTg7u4ODw8PzJ49u9SyjRs3xpEjR/Dw4UO0b98e+vr6mDx5MqvIUBpmZmZISUkps8yJEyeQnp6OX7bvR003D/aHmxwfh8c3rsC5fiP8cT0InYaMwvJxQ5D+PhkA8C42Gs/u3IBr284wMjJC8+bN4e3tXWIbe/fuxcCBA9kvCgCkpqZCU1OzzL4VpU2bNli0dBn8Hr/G6buPcdrXB3k5OSAAZw7uRY96VXHp/FlcD371xY43X8vpJiEhAVWqVEHPnj3x+vVrpKamwszMDBcuXPjiuj8XPT09XLx48ZvVrwwuHz16NHr37o2rV6/i+vXrZQakKxkyZAjow81LQ0MDU6dOhUQiwb59+/D27dtPHn/8+HHo6enh4MGD8Pb2RlhYGJo2bYq+ffsiv6AQfwa9xoGHYegyfBwAYP20CTCyqIQ/rj/GL9u84bNuOZ7evgEAIDAY0Kc3hg0fDgcHB+Tm5qKwsBCFhYXQ1dVFWFgYoqOj0bp1a0RERBTry4YNG6CrqwtHR0fo6urit99+Q0JCAhYtWoScnBwMGzYM27dvBwDUq1cPT58+hVgsVrk56onU0dhSD2o8BoJSDKCAYaDGY9DYUg96IvVPXqPvxcSJE3Hw4MFPqtxs27YNU6ZMwdmzZ9GoUaMSy7x9+1bxkMTwEKuuC6c6roh6pXDKiX7zCvcuncPoRaugracPPp8P22oKgQEZEX6eMhUDBw7EjBkzYGBgAIZh4OLiAl/fv+MliQje3t5YsmQJ1NTUcPz4cZX2Swr0Hzt2LOrVq1fqeVUk0P//2vAFBAQgNTUVERER2Lx58yefnNq2bYvjx48rnnKOHcOePXuwc+fOMo+JiYmBnp4eAMDZ2RlSqRRSqbTYKJDhC+DSpBke37iCe5fOAgDUhUIYmVuiRY++EKipwb19FzAMg+0LZgEArvzlD3Nbe0g1tcHj8dC7d2/4+PggMDAQjRo1gra2NvT09FC3bl0EBgZi4MCB2LNnD/h8PqRSKQoLC9GsWTMMGTKkTE8yABg8eDD+/PNPnD55Ar3r2GNMaze4te0EfRNTFBYUYO/yhZj3x0HUadIM2obGcLK3hUgkYs+3qDLIs2fP0Lp1a/ZL/zFFn9QBID8/Hz169IC1tTUYhimm0rJgwQKoqamxbUmlUrx58waA4gfRtGlTbN++HZUqVUJkZCQ6dOiAVq1a4aeffirznL8VNjY2uHfv3jdvp1mzZmAYBjweD7169UJqaip8fX1ZD8qSMDAwgLm5OQBg5syZMDExgY6ODgYPHoyFCxeWelxBQQHc3NzQuXNntGrVCu/fv0f//v1VysRl5UFd/W8ZtJysLATfvYnuo3+CQE0N1k7OaNCqPS4dOQTgb5WUk9fv4MGDB+DxeODxeBAIBEhMTIStrS0KCwsxYcIEbNy4EQDw+vVrDBkyBMbGxliyZAkiIyPRtGlTPHv2DKtXr0a9evUwd+5cCIVCLFiwAI8fP0ZISAgYhkG1atVKvDnqidTRztYYtUy0oaUuAAAov7Va6gLUMtFGO1vjH9roAYC5uTlGjBjBjmhLYsuWLZg3bx4uXryIunXrsunbt29Hx44d8eTJEwDApEmT4O3tjbcp6Yh6HYaXQQ9Qo1FjAEDYkyAYmlngz42rMbiBM37u2Ay3ziquaV5ONl4GPUCTdp3K7Ov169cRHR2N3r17w8vLC3v37mXzSgv0/xQVCfT/vzZ8nwuPx0Pz5s3RrFkzPHv2rNRymZmZuHDhAho3VnwhgoODkZmZiczMTDZNiYDHgADIZIWIj1Q8vVo5VgHKmGa5EnAYiVGRmN6zLQBg2rRpSEpKQvv27TFhwgSkpKQgJiYG1apVQ61atViZpIYNGyIzMxPNmjXD1KlTIRKJ4OLiUua5EAHdRozD4eAo+IfEwu+FQnrLrnotpCW/Q35eLiztHBH9JgzWTs4AAbO37EVaegYyMzNx7tw5ti41NTV4eXnhjz/+KLGtPXv2oF27dioPIu7u7ti/f3+pChi9evVir21mZqaKJFS/fv1YJRAejwdfX1/s27cPmzdvhrOz8z8+9Vm7du1PPmh8Ka9fv4aXlxdGjRqFyMhIZGZmwsTEBIMGDcLRo0fLnPJxcHAAwzCYMWMGm/bLL7/A398fL1++BKCQ+Dp69CgA4NixY7h79y6ioqJw//59+Pr6svqaRQlNyWKnwgAovlRF/yreIOpVCIC/VVIsbWyRmJgIb29viEQiGBsbIzk5Ge/fv8e6devg4ODAGuU2bdrg/Pnz8PLyYkfWe/fuhbOzM4KDg1Xc/pXhA8HBwWxaaTdHPo9BJS0RWtgYoquDCTrYGaOrgwla2Biikpboi6c3/ylmzZqF48ePq5xzUc6fP48GDRqgevXqKukvXrzAiRMn0KBBA7Rq1QoODg7w8/ODg4k+xrVtjObde8Ouei0AipmqyFchEEs1sePqIwyfuxSbZv2E6NevkJmeBrlcjmyhVpn93Lt3L9q2bQtdXV307dsXZ86cYZV+lL/XisxWKcuX97cuqFDN/ycUFhYiNzeXfc/n83Hq1Cnk5OSgdevW0NHRwb1793DlypUSp+Py8vLw7NkzzJgxA7q6uhgyZEiJ7YSEhCA8PByenp4QCAS4e+ooXty/g4FTFRJSSbExeBcThd41rGFgag739l2Ql5MDfRMzvHx0H/FREVh95BzU5AWY0LUNgoKCMHz4cFy8eJF9qheJRLh165bKTUxJ+/btERISgu3btyMyMhILFizAgQMH2Kmu/Px85ObmQkNDA9kFhchKTUXG+xSItbTx+MYVnPfdjwnL12NCW4URH1DXAYWFhXCoVQeAwqMhJjMXlbRUR9KOjo5wdHQspjmo5PTp0xg6dCj7Xl1dHZMmTWI/i4pSv359vHnzBhEREbCysgKgMIaNGzeGm5sbTE1NcezYsWJ6ld8KT09P7N69+5vVn5ubC1dXV9SsWRNbtmwBoBhlm5qaIicnBwAwe/ZslYeRolhYWqKSlRXU1NTYNBMTE4wePRrz5s3D2LFjkZSUhFOnTsHY2BhJSUmoVKlSidONSnx9fXH0r7+nq9afCISesQmc6tTD4c3rMHD6XESHheL2uVPQ0tVjy7m374Itc6di5/KFkMvl4PP5iImJAY/HQ+3atdk29fX1AQCjR4+Gqakp5HI5UlNTsXPnThw5cgQymQyXLl2CUCjETz/9BLlcDrlcjqSkJGzcuBGnT59WSJC9fIk3b96gX79+kMvlijVtmYwtX9J75f+lpRV9TwqHwRLfF/37cRoAlbyir8TERPTs2RNqampsmYKCAmRmZkJXVxdEhMzMTNy+fRs///wz8vLyULNmTQgEAuTn50MsFoOIkJubC4FAgL/++gtqamrg8XhgGAYFBQXs55GTk4Pz58/j/Pnz0BAKcTDoDdKS32HVTyOhY2CINn0HQ10ohEBNDT3GTAJfIICza0M4uzZC0I0raNmzL3g8HqJiYkFEJc745OTk4PDhw+xsWsOGDVGpUiX4+Phg0qRJ0NHRAQBkZGRAKBSW+p37mIyMDPbYT/GfNHxjxoxRUUDv168fRo4ciQ0bNmD8+PHIy8uDqakppk2bpuIMsHLlSqxfv16xiG9lhQ4dOsDPzw8SiaTEdogICxYswPPnz8Hn82FV2RZT121FZecaiHkThktHDmHq+h34c+NqJERF4M7506hW3w0aIhECAw6jXrPWsHWqCv28VACKm9OMGTNw9uxZ9O7dG4MGDQKPx0N0dDSrNl+UgQMHolatWsjJyUG3bt0wa9YsODo6sjeT1q1bA1Ao9aflF+LqqaM4c0ixhmhgZo6fVv2O2o098dvxQIxpUR89x05GanIS1D5MZ62dOg5rp4yFq0sdrFy5EqmpqVi0aBEGDx6MgQMHlnr9P8fpRrm2ZGpqivHjx6t8fgKBAHZ2dnj8+DFr+ACwN+t+/fqhTZs2GDduHDtl9i1p3bo18vLykJmZWa51t4qidDS5fv06m6bczUDJhQsX8OjRI/D5fBQUFEAmJ8Rk5CA0JQvp6pqoXNsVR0PjER6XCtkHh6YZM2bA1tYWV65cYW/cWVlZWL9+PQ4dUkxPHjhwgJ2ibty4Meuw0KNnT/SctxpFx3YA8NOq37Fz0WyM8qwLY0srNOnYjRV8jn7zCuumjMGU37Zj/bTxyEpPY9fU5XI5IiIioKamphLUfujQIQgEAtaZxs/PD+rq6mAYhg36TkhIAKAY/aekpODFixeIjo4GwzBITU1Fbm4uHj58yE4TKw1AWe+VaUWnYz9OK/qez+ez75X/f/zi8/ng8/kqxyjfK4/h8/nYvHkz2rdvD3t7ezY/IiICvr6+mDt3Lvh8PjZt2gRXV1c0adIEeXl5mDVrFtq3b4/Lly9jw4YN4PF4mDBhAsaOHQsrKyv88ssvqF27NiZNmgQ+n4/t27fjzz//hIaGBgQCAWQyGZ4GP8fTAjXom5jBvV1nPLxyCW36DlbMVH2E0sBpiMRwqOWCO+dOorB/N6jxixu+o0ePIj09HWPHjmXFDFJTU7F3715MmjRJJdDf0NCwvD+LigX6l9v/k+OLKeo+vensDdLS06d5uw6p6AR6dvGi7qN/KuL6HUthr98QADZ26/nz5zRo0CA2gLhjx44UHx9PRES7d+8mNzc3ts1Zs2bRunXr6PTp0yQQCErsl1wup1X+Z2jPrWfk+yySZm/bR0KxhJb6BJB/SCxtuXCHAJCZjS3tuvGE/ENiaalPAPkEvSafR2HUvXt34vP5JBaLiWEYNkD31atXVNJXTCAQsAG/H1NSmEVwcDDFxMRQYWEh3bhxg0xMTMjHx0elTKNGjWjv3r2lXnsfHx9SU1OjKlWqUHJycqnlvhZqamoUEBDw1esdNWoUCQQCCgsLU0kPCwujjRs3kpeXF5mbm7MB2wDIx++Iiiu6e/su5DVuMvmHxNLCvX6kb2zKuqI7OTmpxKAxDEOjRo1S+U59jDKO7mPX/64jxtOQWQtV0tzbd6GuI8aTf0gsTf1tO9lUcSa/59HEMAyr88kwDKuzaWRkRMbGxmRsbEwAyMDAgA4cOEBECs3N/fv3s/3Ytm2biv5oZmamSnA5EdHw4cO/mqTcP4WVlRWdOnWKcnJy2Nf58+eLhTMUDdNasmQJ6enplRrOEBERQdbW1mwI0KJFi0hXV5fWr19PiYmJpK2tTfv376fDz6Np57UgcqjpQt1GTiD/kFj682kEmVSypt4Tp5Hvs0ha6hNAQrGE1p+68uHecIyEYjGtWLGCkpKSiIgoKCiIevXqRURErVq1oqFDh1JcXBz7un//PjEMQ0+ePCGi4oH+RIowFaXsW0hISDHN04oE+nOG7x8mOTuPVW6ZtGoTOdWpRxItbXJr14l2XHlIzXv0oS7Dx7KCuJvO3qA2PXoTAJJIJCo6h0REL168IBcXFzZweffu3WRubl4stmnnzp1kZGRERKqKL0uXLqX8QhkbjKp8teo1gNoNGE5mNra00u8MASDfZ5HFbm5/Pn1LYqmmys2Sx+ORhoYGK0xsaGhIZmZmZGNjQ05OTqziSosWLahTp07Up08fGjFiBE2ePJk0NTVp3LhxtGvXLvL396eLFy/So0ePKCIigt3h+9dff6Vu3bqpnF/16tVLFE8uSlRUFFlaWpJQKKTTp09/ycf4Sfh8PvH5fBVlnRs3brCfo0QiISsrK/r111+LHasMgl6+fLlK+sKFCwkAbd68mU27f/8+aWtrF4trSktLo5EjRxIAcqxVl7YH3qfDz6Np3q5DJBRLaN1fl+jQk3Bq0Ko9MTweSbS0qVWv/mRTtToxDENqamrk4uJCNjY2pKGhQUKhkI4cOVLiuSoNnzKwWalIpGdkQquOnKP990Npw+lr7PdDQyQioVhMHQaOIKFYTGMXr2YNHj7oeSo3rC16cwRAt27dYpWI1qxZQyNGjGD7kZiYSFpaWuTn50c5OTk0ffp0ql+/vkpff0QVlE+hVFoq+nJzcyvT8GVkZJChoWGZcXxv3rwhCwsLmjlzJuXn56vEnl68eJHq1q1LYqkm6RgYUouefcnnURj7+a47fpkcarqQhkhEFrb2NH3jHyr3hY1Hz1CbNm1IS0uLdHV1ydXVlfbu3UvR0dHE5/NZA1eUtm3b0pQpU4ioeKA/ERW7BkUfqisa6M98qPA/jbW1NXbu3Ino6GgMGTIEkyZNwrp169j8Y8eOoUuXLhg0aBD27NmDR48ewcPDAw8fPoSdnR0A4MGDB2jevDmCgoJgbW2tUv+1a9fQtm1blbSsrCzM2LADrq3aIy0lGb/07YzkuFgQCHrGJthw8ioEH9ZgFgzxwqvHj2DjVBWVDPVgYmICHx8f1sGgoKAAxsbGiIyMxIYNGzBt2jSkpqZCJBIhPz8fffv2ZdcwL1++DE9PT7Yfbdu2xbVr1yD78DUoLCiAmbUtnFxcoa4hhK6hIWLfhuOinw98n0WCLyg+O57/6Ar69+8PPp8PIsL48ePh5uaGV69eYdasWVi0dClSU1KQkZ6OzMxMnD9/HsbGxtDW1kZOTg5ycnKQl5eHvLw8xMfHs04vhYWFKustHyMQCNjpoezsbOjq6kIkEkFDQwMaGhoQiUQQiUQQi8UQi8WQSqUQi8W4du0aXr58CTc3NwwdOhQ6OjrQ1dWFrq4u9PT0YGBgALFYXMFvkSpCoRD29vZ4+vQpm/b27VvY2NigoKAAAoEA9+/fh4eHBwICAtCyZUu23JAhQ/DXX3/BxMSEdVJ48uQJ6tSpg3r16kEoFOLSpUsoLCxE3bp10apVKyxbtkxlzQ4AXr8Jh51tZXQYPBJ3zp1CVnoajCtZodf4KajXrDV8N63BrXMnkf7+PdYeu4BfxwxCHXcP1LI0xqyZM2FsbIzp06dDR0cHa9euRXh4OB49egQHBweVdhYsWICwsDAsXL8ZT95lgBgeAv7YjLi3b2Bp5wj/reuRm52F/Lw8LDt0Ao4f1ogB4Pbp4/DbtArhr1XXg01MTHDv3j2VzXMZhsGrV6/Y31xSUhJq1aqFV69esd+ZCxcuYPz48YiIiED9+vWxZ88e9vd47949jBo1Cg8fPvzcj/WHRf5hulrAY0pcV/tcItOyEZSQruq09AkEDINaJtrF1v4rSt++feHl5VWumMfu3btj2LBh7J6Pn+zjF/Xs/xBbW1v4+vpi1apVEHy4ye/du1flx167dm2MHz8eI0aMYG9AQ4cOxaJFi4oZPUCxFlJ0F/HAwEC0b98ejib6UJMX4tS+P5CdkY56zVqjTb/BmDewOzbN/hkTlq9HWtI7vH72BE4urpi2fgeir53G4X17MXr0aGzYsAFRUVHo3bs3qlatCgC4ceMGawBkMhnCw8ORkJAAIipRtFi5RjPv911wbNgEy0YPgKGZBa7+5Y9ZW/bC1MoaP3dqrnLMu9hoJMfHwrZaLWiq8fA6Kgq6urqYMGECVq1ahYaNGqG6e1OkahoDABw69AEYBvpSCRz0JKizcwtCX75kY6wAhcMQEcHOzg67du1CkyZNoKGhAYZhcOzYMTRp0gQ6Ojq4du0avLy8MHbsWLi7uyM1NRX379/Hrl27MGbMGKSnpyMjQ+FpmpWVhaysLGRnZyM5OVnFwEqlUty4cQM3b95knQZKMrBF12MEAgEEAgHU1dWhpqZWooGVSCSQSCSQy+UKY7BwIbS1taGtrc2uwQUFBcHIyAhVq1aFs7MzgoKCWMOXlZUFPz8/7NixAwMHDsT9+/fh4OAAd3d3uLu74+zZs6hZsya2b9+O+Ph4SKVSrF27FgcPHsTGjRvRpUsX9sYXn6lw4DK3sUNhQQHURSI0bt8V9Zop1nbvXz6PnmN/RqM2HQEA7fsPxb41y7DyZRg6tG+PBg0aYNKkSbh16xYCAwPRt29f7Nu3D4sXL8b79++xdOlS+Pj4IDk5GXw+H37+R7Dn5hOoiyV4dPUymnXvDY9O3dFh0AgkRkdhTIv6sKumuqFs7SZN0cGlCmrXqgVbW1s2JjYjIwOWlpYwNDREmzZtMGPGDHz8jG5gYICBAwdi27ZtrHNUixYtEBISUux7DgDLly/HkiVLSsz7N6KybptfCAaKYZCWugAOehKYa365N6q5pgiPE9NRbPG2DBgGMJeW3ymlNHx8fMpdtrTA9lIp99jw/xjlFIByfax169Z04sQJIlJodhobG9PUqVNp0KBB7DG5ubnk6OhIW7dupQULFlCjRo0+KRelZPDgwdSpUyeqW68eiSQS4vH5VLlqddpx5SH5h8RSxyGjiC9QI7FUk9TU1QkMQ2rq6iQUi2nh7j/JysqKpFIpicViMjMzo5EjR7J71Dk5ORHDMCSRSEgsFlOlSpVo4MCB9Pz58xLXz5TUa9iIhGIJASDzynb085rN7LSFobmFylTnuuOXqZJDFdIQiUhHV4+aNWtG9+7dIyKi+PRM2nHpbrEpCUMzC1auav/tZ2RqZs5OWSk/g4+PUU7f9e7dm/T09EgikZCjo2Ox6d6xY8eyaY0aNVIRQi6LWrVqkampKQmFQjp58iSbLpfLKTMzkyIiIujRo0d08eJF8vPzoz/++IPWrl1LCxYsoMmTJ9OIESOoT58+1KlTJ3Z/u9q1a5OTkxPxeDx2TUpbW5sVEceHdbOPz5XH45FAIGCn+bS0tEhdXZ0kEgmpqamx2xM1atSI6taty5bt1q0bW5+6ujpZWlrShg0bKDY2lvZdva+YFmvXmQ48DKO1xy6Slq4ezdt1iPxDYsnWuQZNXrf1b3m8VZsIAAUEhdHDhw9JQ0ODbG1tCQDt3r2bWrRoQV26dCEiot9++40AqGh18vl8Gj7+J/J5FEZaunq04vAptm7lOrGekQnpGZtS065e5H3rKTVr15Gd3jQyMmIFruPi4igqKoomTJhAlpaWBIC0tLSoc+fOdO3atXJ9vv/PJGfnqazbliYLp5QQ+9K2Akppx61dZ3ZLp6LC+iVRr149evbs2Rf352vAGT4qbvgOHDhAXl5eRET0+++/08iRI+mXX35RMXxERNevXydtbW3S1NQs1VnjY5SampcvX6aI1Cw69jKu1BuQ970Q8g+JJed6DWnMYsVmmPvvh1KdBg1JS0urmH7f7t27SSAQ0N27d9ndKaRSKWlra1PDhg1JR0eHLl68yJZX7jghkUhIV1eXjC2tyK56LbYf45atIwBkYWtPQ2cvYtP1jE1p4V6/YrqFyh8IiqzjCMViat6jT7EfTPdRE2jpylXFrs+FCxfI0dGRRCIReXp6qgj2Ein0B2vXrk1isZjMzc1p+/bt5OTkRDk5OfTXX39R69at2bK5ubk0adIkMjU1JR0dHRozZgzl5+ez+X/++Sd17dqVBgwYUGyPuS+lUqVK7M1aW1ubOnfuTOHh4QSAtLW1SSgUEgCaOHEivX37ljWwyrXPtWvXsk5DDMNQly5dWAPr6upKfD6fRCIR207RF5/PJxeXuqyxUTod+IfEUudhY6hZ996Kz2D0T+RYuy7tuvmUdl4LIvsaik1jd1x5QIIios58Pp9q167N7q+3YcMGatq0KXsORV8mJia0cOUa4gsE9Pupq2y7+x+8ohWHT5Pvs0jae+MJNWrdnpq2aEEpKSmsdqjy5enpWex6vn//nubPn89uMCsSiahp06bk7+9f7gfOfwqlbmbR9d0OHToQUXHnMyVF198+/l22aNFC5f7ysSEyNLMgdQ0hCcVikmhpUx2P5rTt8r1PGqJPkZycTF5eXqSnp0d6+vrk0bErHXwQyra75tgFsrC1J78XMcUM7ZAhQ1TEwokUv7eP1+a/F1wAewl07doVgYGBSEtLg7e3d6mu+dWqVYNAIED16tXh5ORUrrqPHDkCAwMDeHh4sAG/tRo3xUnvnUhLScb7d4k4tU8R+J3/ISarKCKpFHyxFtLT01lJNgMDAzYoVyaTsYGfx48fR0ZGBiIiIjBz5kxkZGRg5cqVKvVNnz4dmZmZiImJQdb7FGSmpankS7V1ER8ZgbTkJJV03ke6hTI54UZ0CrtWuCbgAg48DMOBh2EYu2RNsfPo+/MsVO/SHzL533MoSUlJ6NatGxYvXoyUlBTUrVsXvXr1YvOfP3+Ovn37YunSpUhLS8Pjx4/RrFkzvHjxAkKhEFu3bsWAAQPY8suXL8f9+/fx7NkzhIaG4uHDhypTXZ06dUJgYCBWrlzJ7jHn6OiIpCTVc/0cGIaBmpoaNm/ejNTUVFYrUnmemZmZWLNmDW7cuAFTU1PUqlUL9vb2CA4OxrJly/Dzzz+jYcOGkMlkWLBgAY4ePYpjx47hwoULqF69Ojp37gxDQ0PMnDkTfD4fYrEYPB4PQqEQQqEQfx4+zKqPGJiYs20bmlngfaLC3b/76ImwqVINU7u0xOw+neDavA0EamrQ1NWHWPp38LBMJkNwcDDU1dURFRWFadOm4fLlyyqxsEri4+OxYMZUyAoL8ceKhYh69RJyuRxq6uqo7FwdCZFvcXzXZryPeovLFy6gffv2sLCwUFmXsrW1xa+//orNmzfjwIEDOHnyJJ4/f47evXvj+vXryMjIwPLly/H+/Xt4eXlBKBTC1dUV27dvR2Fh4Rd/dl+DTZs2qQgufCzJ9SmK/i7Nzc0xbNgwAMV/Z0pmbtmDAw/DsPPaI+joG2DnEkWssIw+lJdTsTY+xZw5c/D+/XuEh4fjzevX4Gen48Kujay6zfk/96Fxx27Q1lBTUbe5fv16ibJpnTp1wuXLlxEfH1/hvnxtOMNXAiKRCO3bt8eSJUuQnJwMNze3EstNmTIFHh4eiI6OZuOcAKhIa0VGRqoco9TUBMBuQlvaDUjboOQYFomWQhXB0NAQzZo1Q1ZWFurWrQsigkAgQEZGhkp5bW1tdOrUCXp6ejh79myJCi4PHjxAYWEB0t7Fq+gWWtjaQaKlhTfPFU4aAoYBA6CGkaaKhFNMRg7Ks/5dkJ+HvSsWYlTTuhjQsDoGDR/BBl0fOXIEzs7O6NmzZzHJKQBYsmQJRo0ahbZt20IgEEBfXx+2trYAFMH4ly5dUtH3O378OCZOnAg9PT0YGhpi4sSJ2LVrF5svFArh4uKCs2fPwsvLC2/fvkVeXh4sLCxw6tSpT5/MJ9DV1S1VwJzP52Py5MkQCoXYvHkzAGDfvn2Qy+Xo2LEj9PX1MXXqVPB4PDx69Ig97sKF/7F33VFRXV93v5kBpjH0jlQBFWxYsGPBHnvBjiV2jcYWe4+9RY099t67JmqUiL1XsMSKICpFehv29wfhhRFQVIjJ93OvNUt55d772j33nnvO3sexf/9+LF++HEuXLsXEiRMREBCA33//HVqtFklJSZnMNk6O4rLMm5cvxPPfhL+AiWXm2quBXIGe46dh5R9XsfT4eaiNTeBSohT09PXx8kUopk+fDpVKBZlMhr59+0IqlYprpDKZDA0bNsT06dPh6ekpBiJFR0fj4cOHqFChAupWKg+bxFeIOn0Iz4/txo0ty/Hg6E4YZqSgqKuLeB+yKP+AzDXVX375BT/++CNGjhyJnj17omXLlqhRowZKlCgBS0tLqNVqDBo0CDdu3BATwC9fvozevXtDT08PMpkMxsbGKFq0KEqVKgUfHx/UrFkTjRs3Rtu2bdGtWzd89913GDNmDGbNmoXly5dj27Zt+PXXX3Hp0iWR83X69OlwdXWFoaEhSpQoITLZaLVaDB06FObm5nB2dsbixYshCEKBGd309HRs27YNJ06cgEKhQNu2bXH9L2L4D31n+gZyVKr/DUIfPhC3JScloc+gwXB0dISRkRGqVasmfnPnz59HlSpVYGxsjNKlS+vQBT5+/BjNmzeHRqOBkZERWrZogecP7onsNvfO/YG+LRvrsNu8SzGXHdm/ty+Nr8EteaBLly6oXbt2nrx3WR3Q3bt3cfHiRXTr1g316tWDqampTiBLdjx//hynTp3C8uXLkZ5BcTE6qwPqOX4aAOC3bRvhUqJUDqb9LPCvAIwnT56IxMIqlQp3796FUqnMky5LX18fFhYWOH36NLy8vHT2/fLLL7CxsYGhoSEauVrhRXwyTssyWVT09PURfOUikBiHMq5FIJdJoDHQjSB8l65qXKeWIDPgUbY8uv4wEZb2RQAAG+dOw8tnTzBnzzHIZHpYPGIAJk+ejOnTp7+XcqpYsWI4f/48XF1dUbJkSbx58wZ16tTBwoULYWpqigcPHkAikehEAQLQCYggidDQULx9+xZGRkYAdCmsbG1t8ejRI3Tr1g3ffPMNevXqhWXLluV6L/MDOzs7HaOVG0aOHIlevXqhT58+WLduHSZMmIA2bdqgfPny8PPzw8CBA9GmTRtERkZCLpejV69emD9/PszNzdGoUSPUrVsX6enp8PHx0SlXEAQoZZmDl51LFqDvlNmICH2O33dvw6BZmZ1SZEQ4BAgwsbTCgxtXsXPpfPSbOhcafRkyMjIQFhYGW1tbPHjwAIsWLUJGRgYMDAywdetW2Nvbo0WLFpgwYQKGDRuG5ORknDp1CjVq1ICLi4uoJtK2bVsAwIULF2BsbAw3NzdER0ejX79+qFmzJk6ePAkAWLRoEaZNm4Z9+/Zh8+bNWLhwIVq3bo2tW7fm+A7S09MRExODqKgoREVFITo6GtHR0YiJicHVq1dx8uRJPHv2DG/fvoVSqYSVlRWsrKyQkJCA5ORkJCcnIyUlBampqUhNTUVaWppouLVarciYkh0hISFo2bIlFAqFyJxiZmaG9PR0kTWpWrVqUKlUuHXrFlasWIELFy7A0NAQGo1GNB7Xrl3D27dvcf369TwjiJOSkvDo0SM0bdoUZcqUgampqRjJmoMW7h2kJCXi7OH9IrsSAKyeOQlhfz7A2bNnYW1tjQsXLkAikeDFixdo3LgxNmzYgAYNGuDEiRNo1aoVQkJCYGFhgf79+2PJkiUiS9SuXbvQtGkmB2diYiIeP36cw9M1f/581KhRA6VK6QYxZeFj+DQLFV/QzfqvwbtrfGRmgMPx48fFZOfsa3zx8fF0dnbWSZ7t2LEju3Tp8t56fvzxR1avXl0sP8tXviLwClcGXuXO4BecvvUAzaxtOG7VZnF/9jW+rCT3d4U1s/+ykoEdHBzYuHFjDhkyhJs2baKNjQ09PDw4YcIEZmRkMCAggAYGBtRoNARAKysrUemazFyPKF++PE1NTdmyZUuOGDGCZM4k8+zXsiskjJM37ObWm0+4/mIwG3ToyiJuHtx++xl3Br+ggULBn387Kx47bct+Ojk5kSS7d+/OH374QeeeValShWvWrCGZmRTu6OjIe/fuMS4uji1btmSHDh1IZq63WllZ6Zw7ZswYVqlSha9evWJ4eDgrVqxIADpK9qNHj9YR783Cjh07qK+vTzc3N75+/fq9zzU3ODo6sl27drSwsBC3Za3xZReRzcjIYIkSJTh58mQaGBjw5cuXdHBwoLOzs7h2VaJECS5atIjfffcdGzZsqFPP69evaWFhwRUrVvC3337jhg0bOHHiRDo5ObF2s1YEwN6TZtHEworG5hbsPGyMznOysLWnvlxOWycXDpq9mNtvPmHL7r3FXD6ZTCYG6jRq1Ein7UeOHGH58uVpZGREa2trtm7dWhRufv36Ne3s/g5g2rx5syi4am1tzc6dOzM8PFws6908rCxlc3t7ez59+vSj7z9JXrp0if7+/jQ1NRXXH7/99tscyf95ISUlheHh4bx9+zZPnz5NZ2dnDho0iG5ubmzatClHjBjBvn370s/Pj/hL3LZatWpUq9XiN5iVjJ+15pe1npl1T9/9brOCm97dZ2ZmxmnTpucaYGJha0+5UkmloYZSmYwmFlact+8Ed4WEccfdUOobyDl377EcaukzZsxgp06ddLbVq1ePa9euJZmpLVmnTh3xGvz8/MRcv9DQUALQSSJ/9uwZXV1dGRMTQ1JXEDgLeX1v/zS+Gj7mbvjeRXbD974O6LfffsuzHg8PD65atUr8OyvhN7cOKPuL/a7hq9vKnxqNhuvXr2epUqUIZCpYz549m+XKlRMjCatXry4GJbz7IRUpUoTW1tYsV64ce/bsSUtLSxYrVozbt28X27dmzRo6Ojry+++/Z3BwMA0NDfny5Usdw5e1eC9XKrns94s5Psrtd57TQKHgvH0nuPrMTQKg0lDz909tSJVKJd7XdwNMvLy8uHPnTpKkRqPRYd24fPkyjY2NSWayuyiVSp1zExMT2b9/fzF5ftq0adTT09MJhhg4cCC///77XJ9XeHi4mMD9oeT43HDixAlKJBI+efKEly9fztc5DRs2pFKp/Ch2mbt37xJ/MbVkDYgkEgnv3X/w0UKra8/foaOzM8eOHcsffviBenp6tLa21hEozi+yWIPyg5YtW+pE1pKZAS0lSpSgnp5eDqaej8WjR4/Yu3dvUcjUxMSErVu3fu91rVu3jqVLl6aRkRGNjIwolUq5atUqenh46LQ1JCREZ0CTl9g1SW7YsIEVK1bU2ZaQkEArKyv+8ssvPHnyJMuVKydGy8pkMkqlUtaoUYMHDh/moNmLxaCxstVriYYvK1J3+53nHL5wFdVGxlx1+rr4zW268oCp6bpBQH379qWBgYF4fUZGRlQqlSKpQtWqVdm3b1/Gx8czLi6OvXv3Zps2bUhSZFB59eqVWF7Lli112JNyM3zv+97+SXw1fF8QWVGdH9Mx7bsXzqdvE0VjnZ6eztmzZ9PFxYUymYylS5fmqFGjaGJikiPq8+zZsxQEgSNGjGBAQAAtLCyo0WioVCp1jKKdnR0rVarESpUqUU9Pj4cPH2ZaWhoDAgI4cODAD8743jV8cqWSc/cdzxx9yuVcEXhF55iskeiHKKeqVavGSZMmifuvXLkiGr6UlBQqFAqGhobmeb+XL1/OSpUq6Wzz8/MTR7i5QavVsmvXrhQEQYcl5EMYOXIkPTw8xEGJWq3OMeJ+F1OmTKFEIuH58+fzXU8WqlatKj4/PT090VC/LxQ9x+9uKF29SuukXBgaGn50WwoaAwYMoCAIbNeuXYFEcL5+/ZojR46ki4uLmPpTv359Hj58WDzmyZMn1NfX5+nTp5menk4yU71+5cqVrFmzJpcvXy4ee+zYsXwbvsDAQFpbW+u8CwkJCZTJZGL6TqNGjcQZZFBQEH/99Vfa2NgwISEhzxlfluHL+mlMTDlswYr3zvimTZvGb7/9Ns/7pFKpeP36dfHva9euiYNUknR1dWVQUJD4t5GR0Xsp5sgPf2//FL4Gt3xB2Bkq3qdKlCveTQ6VSqUYNmwYHjx4AA8PD9y4cQO+vr7QaP6WBYmNjcXBgwfRqVMndOrUCTNnzhSlgQYOHIiEhARotVrcv38fjo6OcHFxgVKpxJ9//omMjAx888030NPTw+bNm7F48WKEh4djwoQJmDRpEo4ePYr4+Hgx0uvZg3t4HHw7M9AiIQHrZk6CqaU17F3cIJFI4NemI9ZMnyhGiaZGvRZVBFq0aIHbt29j165dSE5OxuTJk1GqVClxHaFbt25Ys2YNHj16hMTERMyYMQPffPMNgMz1Sz8/PwQGBorX/eLFC4SFZbLEnz9/HlOmTNHRnEtOTsaVK1d0WFPehUQiwZo1a7Bjxw6sW7cObm5uonzK+xARESFqBqalpcHX1zdXRo358+fjwoUL+PXXXzF+/HgsWrQox3rd+5CcnIzmzZvjzJkzYrJ9zZo1xbWYLKFVIUOL1FyiMIG/hVZ9Hc2hkmSuH5GEVCotELHgz8WiRYtw+PBh7N27F87OzggNDf2s8szNzTF9+nT8+eefiI+Px/jx4/HixQt88803MDAwQNWqVbF582YIgiCSJK9Zs0YMCmvbti1++uknvHjxAjExMZg5c2a+6/bx8YFcLseMGTOQnJyMhIQEjBw5EuXLlxcJ1s3NzTFo0CAcO3YMVatWRb169WBra4uVK1eK31leIImLJ44iPvYt7Fwzv7narfyxYeZkhIeHQ6vV4ty5c0hJSUGnTp1w4MAB/Prrr9BqteI6bdb9rVChAlatWiWyK61YsUJn7a5Ro0Y639v9+/dx48YNXL9+XQzGOXDgAFq0aAEgf9/bP4YvbHj/5/ExI/LsOTnv8u6Rma5JS0tLSiQSmpmZiXl8Go2GlSpV4uLFi8XRK5mZLzRmzBidMrZu3UpbW1smJyfruH4jIiK4c+dOli2bmevl6OhIU1NTcc2iZrPW3HjlASeu3U5bJxcaKBTUmJqxQp36XHQ0SLyGLTcesWWvgbS0d6BCpaaru25C+rFjx+jh4UG5XE5fX98cHJTjx4+nubk5zc3N2alTJ0ZFRYn7Dh48yAYNGoh/BwYG0tHRkQqFgu7u7jprsiS5fft2tmjRIt/PKjw8nC4uLvlyfSYmJtLZ2Vl0V2Uf9WZBq9VSqVRSLpdTKpWyY8eO+W4LSf7yyy+Uy+U0MTHh0aNHOX/+fBoYGPDp06fUarXctWuXmG+np2/Atr36c9GRP7jzbqjIzXrs0Ss+fZvIc+fP09raWlzX09PToyAI9PLyEskRvjQiIyNZrFgx6unpcdu2bQVeflpaGletWkUfHx/x+rPI1wcOHMgaNWpw5cqVTEtL4+DBg2lqakonJyfOmzePMplMnFHllsfn7e0t1nPnzh3Wq1ePZmZmtLS0ZKtWrfjs2TNx//u+y/sRUTm8RNnz+ORKFYu4eegsl2y/8Yjd+2a6/DUaDatXry6uvZ4/f541atSgiYkJzc3N2ahRI3FN9dGjR/zmm29oampKExMT1q9fn/fv3xfblBufZnbgHVfnx35vhYmvhu9fgIJmYRg9erSOSkJhIyEhgceOn+C2G48+ym27JziUqWnpH67gI/AxzC0VK1bkrVu3Pqp8rVbLbt26URAE9ujRgyT5008/5SCUJsnbt2+LCejZDXQWgoODqVKpRNdir169dIJH8sKTJ0/o6elJiUTCvn37iu6/lJQUzpo1ixUrVqSenp6YeL5w4UIxUEMQBBpqNExN1zIjI4MpKSls3bo1BUFgzZo1+fbtWwYEBNDDw4P37t2jjY0NVSoVz50791H3qTDRt29fCoLAjh07Flryular5b59+1inTh0qFAoKgsCiRYtyzJgxOZ7l4cOH6eDgUCjteBfZFV7y+3uXaKIg0b59e+7Zsydfx37K91ZY+EpS/S+BNoN4EZ+M+5HxOXn3zNSwU8s/indvyZIlom7dzz//XGjtzo6opFScfp4zuTY3JCcmYkJAazy8dR1yuRxmZmaws7ODu7s7SpcujcqVK6NChQq5Kn3/G7Bv3z60bdsW5ubmiIqKgiAIePbsWQ4+VH9/f+zbty/XZO81a9bg22+/RUZGBvT19UESV65cyaGOnYWMjAwMGjQIS5YsgYeHBw4dOgQrKyv8/PPPWL9+Pe7evQuZTIYKFSqgb9++aN++vU4qQKtWrbB7927IZDKcP38ez549Q5cuXSCRSLBp0ybRbZySkoL09HSRc7Rp06Y4cuQIpk6dilGjRhXgXfx0HD58GC1btoS1tTXOnz8Pa2vrQq3vzJkzmDt3Ln7//Xe8ffsWZmZmaNOmjZgTWKlSpX/MLfwx35lUEFC9iKlOzu1XAF8N378QJJFeAEzre/fuRevWrfHNN9/oMIcUJqKSUnEmNAokcs03kgkCBAGoap/5MT569AhBQUG4cuUK7t69i6dPn+LVq1eIi4vLZPzQ04OxsTFsbGzEHL6KFSuiWrVqYi7el0JwcDC8vLzEdg4cOBBz5+qy1ISHh6NBgwa4dv16DvZ8T09PMfdy8ODBGDRoECwtLXOt69ixY2jXrh0SExMxbdo0vHnzBtu2bcOjR4+gVCpRrVo1DBo0KIcKSBYCAwPRqFEjJCYmQhAEmJub482bN2jfvj3WrVsnErLnhQULFmDo0KGoWbMmfv311w8e/0/gzZs3qFq1Kp48eYLNmzejVatW/0i9V69eRb169RAVFQWSMDAwQLNmzTB27Ng8By0FjY/9zr5CF//zhq+w5Dz+LTh37hxq1qyJsmXL4uzZs3kmxRck8pq9PrsfAmu9DLSpVztfs9fIyEgEBQXh4sWLuH37Nh49eoTw8HDExsYiLS0NUqkUhoaGsLS0hLOzM0qUKIHy5cujevXqKFKkSKFfZ/PmzXHgwAFR0UEqlSIsLEw0Xlns+fci4xGXptWZxatTYlGnfBm0ad0KS5YsEZOYtVotZDIZ7ty5gxIlSojUdKdOnYKDgwNSU1MRHh4OY2Nj1KlTB8OGDcNPP/0Ef3//98q31KpVSwxqyEJQUFCerES54erVq6hVqxYMDAxw7tw5kTXnS6NXr15YtWoVOnfujDVr1vwj73gWwsLCMHv2bOzevRvPnz+HWq2Gr68vhgwZglq1ahVq3QXtJfqfwhdzsn5BpGsz+DQmQcyj01noj0koNH/4l0JISAhVKhVdXV1FMdd/ChkZGeJ6UtZ61/79+z+73KSkJJ48eZLTp09n+/btWb58eVFpAX+F9atUKtrb29PKyooKhYIGBgZ0cnLiuHHjGB8fTzL3XKMsYdUs5HYMmSkYO2LECFapUkXMnxMEgQ4ODuzQOYArf7+os2679vwdakxMWcy7AncHh3LXnWc667ZpaWls1qwZAXDp0qUcNmyYTg6mIAiUy+UcNWqUeM6NGzdYvHhxMcDg4MGDrFq1Ko2MjGhlZcUePXowNjaWV69eFQmt1Wo1ly1bpkPYnV8kJCSwXLlylMlk3LBhw0efX1jYt28fDQwM6OzszJcvX36RNrx9+5aTJk0SFVKyArS2bdtW6ETa2b+zr/gw/ucMX0EEkuQWdfUu2rVrl+9F3/fh5cuXLFasGJOTkz+rnIiICFpYWNDS0vKTmEgKAlnGQS6Xc968eYVWj6OjI5ctW8ZZs2ZRrVbTwsKCdnZ2YiAJ/pLwyUpmbtKkCWfOnMnAwEAmJSXly/Dt3r2bZ8+eJUk2adKEZcuW5d69e9m9e3fuOfIbe42fxr5T5+i8W35tOrB4eR8W866QI1I3JSWFDRs2FGV5shtvhULBhQsXMjk5mbGxsbx7967Yjn79+nHq1Kni35s2beKRI0eYkJDAqKgo1q9fn15eXpRIJPT09CQAurq6ijJSn4ohQ4ZQEAR27tz5X6OOEBERQVdXV+rr6+epFv9PISUlhT///DO9vb1FCaly5crx559//qQBx1cULArF8Dk6OlJPTy9HB1umTBkim84amTm6BpAjaXfhwoX09PQUKXJIcv78+SxTpgzT0tJypX/6ELKnDiw9foFla9SmSmNEY3MLNujQVdSby94hrVu3LlOqJVtC6ocM37uj8LCwMDZp0kTsaN8N0R8+fDjt7e1paGhIBweHHNGYffv25cKFC/N9nXkhISGBLi4uVKvVOmHJ/wTS09NzUDFlZ7EpSGSleowZM4ZeXl45OuYnT55w48aNHDx4MAHQyclJZObAX6wnBgYGLFmypDgDW7ZsmQ6bSrFixUQ9PLlcLoaj5xV19+PmfXQvXY79f5ynY/h2hYSxy7AxubLr3Lp1i6NGjcpBK5Udzs7OeerTnT17lhqNhoIgcPny5Xz48CEB8Ntvv9VhwPlUHD58mAYGBixatCjfvHnz2eUVFHr06KETdfulodVquXXrVtaoUYNyuZwSiYTFihXj5MmTRYq3r/hnUWjOcGdnZ2zZskX8+9atW0hMTNQ5hiTWr18PU1NTrF+/Xmdf//79YWxsjB9//BEA8OjRI0yYMAG//PLLJy2svyvnsWLyKBiZmmPV6WuYs+cY7l46j6Ob1/59PIlf7zzCtGnT4Onp+VF1LV++HB07dhTXDCUSCRo0aJCnSnCPHj0QEhKC2NhYnD17Fps2bcLu3bvF/R07dsTy5cs/8opzQqlU4sGDByhevDi8vLxw4cKFzy4zv4iJiRGlegBg1KhRaNasWaHWefz4cbRs2TLHmo+joyM6duyI+fPnA8gMHImJiUF6ejqio6Ph7+8PNzc3uLq6iknoAwYMgJmZGaRSKYyNjXHv3j2kp6djz5490Gq1uHv3LoDc2fO1Wi1WTR2Db8f9iHcZC66dPom9q5fBx69Bjva/ffsW58+fh6mpKapUqQJLS0s0adJEVPxISEjA48eP4eHhoXNeamoqWrZsiapVq2ay6rdsiV69euHBgwfQ09MrMKLghg0b4smTJ0hLS4O9vT1+//33zy6zILBq1Srs3r0bGzZsQNGiRfNFOFCYkEgk8Pf3R2BgIJKSkvDbb7/B1dUVs2fPhpGREZycnDBkyJB/hVzP/woKzfB17txZx5hll+PJwunTpxEeHo6FCxdi69atSE1N/bthf8mTzJ8/H7du3ULPnj3Rr18/eHt7I784ePAgypQpA2NjY1SsXBmPg++K+16FPkOVhk2gbyCHiYUlylSviecPdVUN1s2Zhk49++QIUQcyI8rq1q0LQ0ND+Pr64unTp+K+I0eO6MjjWFlZoV+/fqhQoUKu7fTw8IBKpdK59ocPH4p/+/j44NGjRzp1fCokEgkuXryIBg0aoGrVqti3b99nl5kfyOVyNG7cGKtWrYJUKkXp0qVzva8FicjISNjY2HzwOG9vbxgbG8PY2BhOTk7YvXs3SpcujT179uDmzZsAMiM4U1JSEBgYiCFDhojn8i+m/gYNGsDR0RH3IuNzRNkd3vAL3Ep5w9UrJ2P92SP7UbtVO7QZMAydOnXCnTt3AABLly6Fu7s7QkNDsW7dOvz000949uwZnJ2dRbb8mJgYABD1FwFg586dMDU1xe+//44pU6YgLi4O06Zlqn48fvwYBgYGMDQ0FM/9XFhbW+PRo0do0qQJ/Pz8MHbs2AIp93PRvHlzPH36FCTh4OCA/fv3f+kmiahTpw4OHjyI2NhYXLt2DVWrVsX69ethY2MDa2trdO/eHffu3fvSzfz/jcKYRma5mtzd3Xn37l2mp6fTzs6OT5480XH1de/enW3atGFqaipNTU1FMuLsmDZtGs3MzOju7q7DBP4hV+fVq1dpYWHB8+fPMz09ncNnL6SFrT233nzMXSFh7D1xJn2btebmaw+5IvAKi7h5cMSiX0T304zth+jqWYq/PnyZg3svICCAarWagYGBTE5O5nfffScynORG3pqFtLS0XF2dJDl9+nRxDcrZ2ZnPnz/X2V+yZMlPIkp+H/r06UNBELhs2bICLfdDqFOnDj08PAqt/Kz3z8fHh+PHj3/vsfjI4JasNTcAopvP09OTiYmJjIuLy+HiXBl4lZZ2Rbj2/B3uCslUtc/u6ixTrSa/HfcjdwW/4OPHTzh16lTR1blixQqWKlWKXbt2Fdvy5s0bAmBMTIzOuxYZGcnKlSuL626nT5+mubk5jx8/Lp47cuRIWllZce7cuYXCoLFixQpKpVJWrlxZ51v9ktBqtQwICBAJAv7NePLkCfv27Us7OzsCoJGREVu0aCGuJX9FwaFQ436zZn3Hjh1D8eLFYWf3txJ0YmIiduzYgQ4dOkBPTw+tW7fO4e4EgOrVqyMyMhKtW7eGXC7PsT8vrFixAr1794aPjw8kEgkqNWkNPX193L9+FQBQokIlPH9wD53Ke6CXbzm4epZGxb/cTVqtFisnjcK3435EfHpGruU3btwYNWrUgIGBAX788UecO3cOz58/z3UUnh9kKaRfvXoVnTt3zpGjVpCj9CwsXboUkydPRt++fTFu3LgCLft9WLBgAe7fv4/Hjx8Xaj1+fn7Ys2ePmG5QEIiPj0dUVBS2bduG169fY+nSpfjzzz8RGRkJA4US7waPP7h1DdGvX2HwNzXRo1pprJk2Hg9vXUePaqWh1WphYmGJNy/DkJ6eBs+SJcUZk56eHp49ewYPDw+dNJvs/8/SK5w0aRKsra3x/PlzXLt2Dd9//z1atmyJ1atXo06dOuLxL168gEajQXBwsI7uYUGhZ8+euHXrFkJCQmBrayvOXr8kJBIJ1q5dix07dmDt2rVwd3fHmzdvvnSzcoWjoyOWLFmC0NBQREZGon///rh16xaqVq0KlUqFunXr4sCBAzm0Ar/i41Hohm/z5s1Yu3ZtDjfnnj17IJPJ0KhRIwCZ61hHjhzB69evxWNSU1PRu3dvDBw4EIsXLxbXW97Fs2fPdFTPAeDp06eYO3cujI2NYWJigs4ViuHNyzBEvXqJjIwMTOnZAT71GmHztYdYe+42EmJjsGHOVADAr5vXwtGjONzLlMvMjcnlPcueJ6ZWq2FqaoqwsDAYGxsDQA4V9PxAEASULVsWCoUihwBuXFycWHZBYuzYsVi5ciWmTZuG7t27F3j5ucHLywsODg4YPHhwodYzZMgQxMbGIiAgQHQTv3jxAkOGDBFdmJ+CjIwM+Pv7w9TUFD179oRSqYSHhwdqVKuK9LQ0JMXH49et63Fi1xZ416iNpScuYM6eY5iz5xj8vxsO5+JemLPnGKRSKao0bIpTe7Yj7MljKOQGomFLS0vDzJkzsWPHDqxZswZqtRpFixZFmTJlYGNjg7179+LEiRN48+YNlixZgh9++AHPnz+HVCpFgwYNsGjRIjRp0kSn3RERETAxMUFgYGCeie6fi+LFi+Ply5coUaIESpcuXSBr0wWBVq1a4fHjx0hNTYW9vT0OHz78pZv0XpiamuLHH3/EgwcPkJiYiMmTJ+PVq1do0aIFDAwMULlyZaxevbrAVN//51AY08jsBMq+vr40NDRkfHy8jquvbt261NPTEyUsLC0tCYALFiwQyxk7dixr1qzJjIwMjhgxgn5+fuK+D7k6e/XqJYZ5vyubs+bcLQLg+ksh4rYRi39hETcP7goJY4U69cVoT2NzC+rp6VGj0fDbb79lcHAwO3fuTH9/f7GuuLg4SiQSMbLvXbmOLLzP1ZkdU6ZMYdOmTXXOUygUfPLkyQfu/Kfj8OHDlEqlrF+//j8Snr5s2TLq6el9VFRufpH9/Xvx4gW7detGKysrqtVqenh4cOLEiWI+Iz4xj8/JySlHFKapqSkNFAqa29qxTuv2ueoTvuvq3BUSxo5DRtHE3II2NjZs2LChGFmakpKZ5jBs2DBqNBrq6+vT2NiYVlZWYgQq/srvs7e3Z5UqVVi0aFEKgkCFQiESJJcoUYIk6e3tzapVq+oIvhYmxo0bR0EQ2LJly39NyoNWq2WnTp0oCEIO7cf/ArRaLdeuXcvKlStTX1+fEomEXl5enDVr1j+eo/tfRqEbvocPH4o5Q1kdf1BQECUSCX/99VeGh4eLvx9++EFkMb9+/To1Go3Y4SQmJrJo0aJcvXo1yQ8bvkuXLtHe3p7nz59nRkYG999+zNHL1nPj5fvcFRJGS3sHdhwyittvP+P6i8Gs6NeA1Ro3566QMK6/GMxVp69z1enrnLR+p6imnMXYXq9ePRoaGvL06dNMSUnh4MGDdXTkBg4cmCMlISkpSVyTCQkJEddAtFotly1bxqioKGZkZPDChQu0trbWUSw4c+YMixcvXhCP5r24dOkSDQwMxJSRwoRWq6VCoeCUKVMKtZ6CxJEjR1i/fn2dfEBBEGhmZiamh3yKxuLee2F8+jZRrOfixYscNmxYrm0ICgqihYUFDQwMuGLFCt69e5cVK1ZkgwYNWLNmTbq4uNDQ0FBMjzAwMKC1tTW9vb2pUqlobGzMqVOn/mOd5MmTJ6lQKOjg4KCjuP6lsW3bNurp6bFYsWIfJfr7b8OhQ4dYr149qlQqCoJAFxcXjhw58ovl6v5XUOiGLzuyDN/06dN1ZDqy8OLFC8pkMl6/fp3lypXjzJkzdfafPHmSZmZmfPnyZb7y+I4cOcLy5cvTyMiIFlZWrFL/G9HwzdnzGz0rVKZKY0RDYxNWbtCEvwTdyNEhte8zUGdUr6+vz06dOrF379708/OjSqVi9erV+ejRI7He3OQ63p0dZE22tVot69evTxMTE6pUKrq5ufHHH3/UObdfv346hrAw8eTJE2o0Gjo6OjIuLq5Q6woICKClpWWh1vE50Gq13LRpE6tVq0YDAwMxCXzmzJm8fv06pVIpraysdJ59ujaD+z7C6GUxutjZ27NNmzacN29erkoIKSkpbNasGQVBYN26dfNluMLCwrht2zYOHz6cjRo1olQqpVwuF6WkZDIZTU1NWaJECTZu3JgjRozgzp07GRERUaD3MTIyku7u7tTX1+fBgwcLtOzPwYsXL+jg4EC5XM6jR49+6eZ8Ns6fP89WrVrR2NiYAGhra8vevXvrvJ9fkYn/GeaWT5XzSElLY5MmTURGjayZn5+f33uVsj9GruN9iIiIYLFixf7RKLnIyEja2NjQ1NSUL168KLR6Xr9+TUEQGBgYWGh1fCxSUlK4aNEili1bllKplDKZjBUqVOCKFStyDLLGjh0rapdl4fjx4/SqUImbrj3M92zPs1xFcTAkk8loYmKiM/DZunUrlUoljY2N+dtvv33ytSmVStFjEhcXx99++42TJ09m69atWbZsWVpZWVFfX198zw0NDeni4sJatWqxX79+XLVqFUNCQj7ZbZkVXTl48OBPvoaChlarZfv27SkIAgcMGPClm1NguH//Pnv06EFra2vRDd+uXTteuXKlwOvS/gfp0v6nSKo/Vc4jNTUVderUEVUErl27hnnz5iE4OBgmJiZo164dpkyZAlNT03/gKv4ZJCcno2zZsnj27BkuXrz40Un8+UX58uXF3MIvhfj4eCxYsACbNm3C/fv3oa+vj0qVKmHAgAFo0aLFB0mPSeLo0aMYM2YMrl27BgDo3v87NB80Kl/s+bs3rcfAgQORnJwMQRCwYcMGdOzYEW/evEHjxo1x6dIlBAQE4JdffvksAmaZTIYTJ07o5JjmhvT0dFy7dg1nz57F9evXcf/+fTx//hyRkZEiCYVCoYCZmRns7e3h7u6OMmXKoHLlyihfvvx7CSY2bdqErl27wsvLC0FBQTr5q18SW7ZsQZcuXeDu7o4zZ84USiDZl8LLly8xd+5c7Ny5E0+fPoVKpUL16tXx/ffff7IaehYB+/2ohJwE2aYq2Bkq/tUE2f9Thg/4dDmPhIQEbNq0Cb169fq7rKgoTJw4EZs3b0ZUVBQ8PDwwdOhQdO/e/R9liC8sZGRkwNfXFxcuXMDx48dRo0aNAq/jxIkTqFu3Lt68efOPDhxevXqF2bNnY8eOHWJUcI0aNTBkyBDUrl073+WkpKSgVKlSePz4MdLS0gAAvr6+OHXqVA72fG16GgSJFMZyfR32/LS0NBQpUgRRUVHQaDSIjY1Fq1atsHPnTtja2uLQoUPw8vL67GsWBAEvXryAra3tJ5dBEn/++ac4CAwODsaTJ0/w+vVrxMfHi9qCxsbGsLW1FaWkfHx8ULVqVRgaGuLx48eoVKkSkpKS8Pvvv6N8+fKffW0FgdDQUFSuXBlv3rzB/v37P9ko/JsRHx+Pn376CZs2bcK9e/egp6eHChUqoF+/fvD39xf7rbp166Jz5845ovGBf1YSafny5QgODi54rcMvOd38UkjXZvDp28Tc1RneJn6SOsPFixdZr1496unpUV9fn/Xr1/9sIuB/C9q0aUOJRMKtW7cWSvkWFhb/CK/iw4cP2bNnzwJ1/2QFYeEvV6VcLueKFStyHJeRkUErG1tKJBL+/vvvOfZv2rSJNWvW5J07d8TycuMZ/VS8fv2aAAo9uvLVq1fctWsXR44cySZNmtDT05NmZmbiuqJUKqWJiQk9PDxoZmZGAOzUqVOhutQ/Blqtlm3btv2gS7aw3Xu+vr40NjbOlZz+0aNHFASBffr0Ebf17t2bnTt3znHs9evXqa+vz8jISE6YMIEymUyM9s0iYyhfvjxlMhmlUinLli3LCRMmUF9fn1KplFKplGq1mmq1mp6enhw0bDg3Xb6XTzd+OIs4OFIul+vU2b9/f5KZ38TUqVNZpEgRGhoa0t/fn2/fvhXbnpKSQnt7e4aGhpLMfIerVKlCU1NTGhkZsVKlSjrR82vXrqW3tzcNDQ1pZ2f33vv7P2n4sqOg5TyyojSzpEnMzc353XffMTo6ukDK/1L4/vvvKQgC58+fX+BlT5gwgUqlslA65atXr9Lf35+mpqYEQBsbmwJZ8E9LS2O7du0oCAI9PDzEwCd9fX3evHkzx/HPnz8X1SlMTExyMPtotVr27duXEomEZcqU4datWymXy2lvb59jHfFTcPbsWUql0s8u53OQkJDAEydOcNq0afT392e5cuWoVqt1ImTVajWdnZ3p6+vL3r17c/ny5bx9+/Y/ng6xYcMGymQyenl5id/uPyVn9vjxY0okEpqYmHD79u05lF4mTpxIU1NTmpiYiIbx7NmzVKlUotxWFoYOHcqWLVuK/9doNLkaU61Wy507d7JWrVriICXrmcyePZtJSUk8d/4CS/pUYRE3D266mr81bEs7ex79Nfd16bVr19LDw4PPnj1jXFwcmzZtyi5duoj7t2/frpPClpSUJK4xZ2RkcM+ePTQxMRHX3pcsWcI//viDKSkporHMC//zhq8w8fr1a/bt25empqYUBIGenp5cvXr1vyan6WMxZ84cCoKQZ6j9pyIlJYUymazA1BqOHz/Oxo0bU61WUxAEOjk5cfjw4QUWrbh161aqVCoaGhpy+fLl1NfXZ+fOnXn9+nW2bNmS6enpOc75+eefRaozPT09+vr6ioOtwMBAmpmZUS6Xc+3ateI50dHR9PT0pEwm48aNGz+rzRs2bKBCofisMgoDixYtYrFixcTUi8mTJ7NHjx708vKiVCoVw/SzOmIrKytWrFiRHTt2FGfv2RVcNm3axHLlylGlUtHa2poNGjQQ1Svezc/MAvLQW3z69Cnt7Owol8vZqWt32jg600ChoIWtPWu39OfS4xe4KySMzXr0pZm1LRUqNe2L5FRXuXbtGr29valQKOjt7c1r166J+2bNmkVPT0+q1Wo6OTlx1qxZnDRpEqtUqcLvv/+e1atX11F6OXHiBPX09KhQKCgIAitUqCB28u7u7pw/fz6bNm1KExMT2tnZUaPRcO/eveL1u7m5fVDppWTJkjki0L29vXk+5E9uufKAxhaW7DF2KneFhPHn387Sy6cq1UYmNDQ2YfVvWnD9xWAdw7dpb+6RvK1ateKsWbPEv8+cOUMDAwMxYrlbt255pjtptVru37+fAD7pu/5q+P4hnD17lnXq1KFMJqOBgQEbNWqk8wH8V7B582ZKJBK2b9++QMtt3LgxXVxcPulcrVbLHTt20NfXV0f2ZerUqQWakvHixQt6e3tTEAR26dKFCQkJtLS0pJeX1wfPrVmzphgZrK+vz4oVKzI6OprffPMNBUFggwYN8kxRGDx4MAVBYJs2bT550DR16lSampp+0rmFiV27dnHPnj3s0aMHjY2Nqaenx23btvHkyZM67iofHx+q1Wp6eXmxbt26dHNz08mn1NPTo0qlolQqZcWKFTlixAju2bOHmzdvFgdq7zN858+f59KlS3NE7mq1Wjo4u9CpWAnO3HE4M+/3Ugi/HfejqLe48PAf4gzolz+u0qN4ce7atYtk5qDOwcGB8+bNY3JyMn/66Sc6ODiIxnrmzJm8cuUK09LSGBISQgcHB1paWvLnn3/m5cuXKQgCR44cKbZn79691NPTY1RUFPv27UsXFxc2adKEZOYzNjY25qBBg5iamsolS5ZQEAQxEnjChAmsW7cuPT093/tMvL296ePjQ3d3dzZo0IBr1qzhkiVLeDD4OXeFhNG3WWtWadiEu0LCuPjXMxz/yxZuvfmYq8/eYvHyPmzc5VvR8FnY2nPm+h251tOqVSudlLWgoCAC4PXr10mS5cuX5/bt23OcV7JkSdF78u233773WvLCV8P3D0Or1XLRokV0c3OjIAi0tLTkkCFDdHzb/3acOHGCMpmMvr6+BTZ7ffjwIQVB0BFZfR/S0tK4fPlycX1CJpPR29ubP//8s84MoCCg1Wo5YsQISqVSurq6im2sUqUKjYyM8pVTd+rUKR45coQWFhYcNmwYN27cSIVCQRMTEx0i6bxw/PhxKhQK2tnZfZLrs0+fPnR0dPzo8/4pjBkzhgEBAezXrx8FQWDjxo11DJ+vry8nTpxItVrNhw8fkiSPHTtGR0dHRkZGcvPmzdTT02OFChVYsmRJmpubi52jVCqlkZERTU1NaWNjw8GDB3PDhg0iExIAzp07V8zTDAkJEes9+utv1DeQc/nJS/ly7a0IvEJH92KcPmMGSfLXX3+lra2tzlJKkSJFeOTIkVzvQ6tWrSgIgpiArqenp5Nm0aNHDzZr1oxk5jslCALd3d1Jknfv3tUxHB06dKCnp6eo55i1xgeAhoaGNDIyYs2aNfN8Jtl1R7OzXzXv2Z+lqlTP9fpHLP6FzsU9dQyfXKmkkZGR+MtaA1+5ciXd3Nz4+PFjxsTEsEmTJgQgknIXLVo0z/uUlJTEzZs363hIsuOXX37J87rIr4bviyIiIoK9e/emsbExBUFgyZIluWHDhv+EK/TWrVtUKBQsXrx4gRkaNzc31q9fP8/9CQkJnD59Oj09PUWx2OrVq3PLli2Fds+CgoLE/Lbs65uDBw+mVCrlnTt3Pqq88uXL09DQUBRK/Zh2R0dH08vLizKZjOvXr/+oeps1a8bSpUt/1Dn/JLIMH0nu2bNHzKHMWl/LUkj5/vvvxVlbluEjM8kqpFJpjhlbcnIy//jjD86cOZNeXl40NTWlra0t5XK5uIYFQGetUU9Pj0OHDmVaWhr7Dh5CzwqVPmjwOg4ZRblSmemOtXfg+buZTD7z5s1jgwYNdNrUuHFjzpkzJ8c9yMjIoJmZmTgjy2J6yvo7MTGRGo2GS5YsoZGRkdj2LO9LbGwsAXDMmDGMi4ujUqlk8+bNWaZMGZJ/z3hzU3r58ccfxeCT3r17k9Q1fKnpWnFNs0bTVuKM75egG6zaqClNLa2pUKkpVyppZm2jY/gmrN7K1PSc77lWq+X48ePp6OhIOzs7zps3jwBE6scKFSrkOuPLjmLFiomGPgt79uz5IDHGfz/m/j8MS0tLLFu2DNHR0fjjjz9gZmaGbt26QaVSoVmzZrh9+/aXbmKe8PLywv379/Hy5Us4OzsXiHLEhAkTcPz4cR1dxjdv3mDUqFFwdXWFWq3G1KlTUaRIERw+fBjJycn4448/0K5duwJPH0lMTESjRo1QvXp1lCxZEm/evBFJtbdv346ffvoJGzZsQIkSJfJd5vTp03HlyhUkJibi1q1bWLVq1Ue129jYGLdu3cJ3332HgIAAtGnTJt/KE69fvy50/cOCQvPmzbFlyxZkZGTAzs4OQUFB4r5Ro0bhwIEDOZQfIiMjYW5uniOH0MDAANWrV8eIESPQqlUrxMXFISEhAQYGBjAyMhJJ7bOroaSlpWHu3LlQKpW4//Q5jC0sP9jmlr0GYuOVB5i9+1fUaNoKEemZ7YiPj8+htGJkZJQrif2YMWMQHR2Nx48fw9raGk5OTgCAO3fu4MaNG9izZw9iY2Mxfvx4yOVymJubQyqV4vLlywAyFVzc3NywZMkSbNmyBdbW1ggMDMwhAJ6b0svo0aMRHx+P+Ph4LFu2LEfbZBIBBJCUkICb506jeDkfAMCm+dMBCJi3/wQ2XrmP72YtykHqz7/OfxcSiQSTJk3CkydPEBoaCk9PT9jZ2YkqPqVKlcL9+/dznJcdaWlpOuIFR48eRc+ePXHgwIH3nvfV8P1LUK1aNZw8eRJJSUmYMWMG7t69i1KlSsHa2ho//PAD4uPjv3QTc8De3h5PnjyBVCqFk5PTZwvlduzYEQqFAoMHD0a/fv1gZ2cHCwsLLFu2DN7e3rhw4QLi4+Nx5MgR1K9fv4CuIieWLl0KU1NTXLx4EcePH8exY8dEmal79+6hY8eOGDBggCgI+yEEBwfDxcUF48ePR5s2bSCTyT6LEGDu3Lk4duwYDh06hCJFiuTrvkdFRcHKyuqT6/ynYWFhARsbG/j5+aFGjRriNVpYWGDAgAEYP368zvFmZmZ48+bNB9UK2rZti5iYGPEXGxsLANBoNJBKpRAEAfr6+lAqlbh69SoMzS0RnU8Fd0EQ4FKiJPTlcqycOwMkoVarxTqyEBsbm0O2bPHixVi1ahUMDQ0RHByM69ev48KFCwAyhajXr1+PdevWoXv37rh16xauX7+Omzdv4tChQ3jw4IFInLBv3z7ExsaiT58+SEtLQ6dOnWBvb69T16covaSmpuLlvTuYOaAb1Boj1G7ZDkCmIVSoVFAaahAZEY59vyzNca5KJtWR08pCVFQU/vzzT5DE3bt3MWTIEIwfP14cDDZq1AiBgYHi8efPn0dQUBBSU1ORlJSEmTNnIiIiAj4+mUb4999/R8eOHbFr1y5UrFjx/Rf03vngV3xRhIeHs0ePHqJbIyvM/d+GtLQ0lixZknK5/JMDdm7dusWOHTuKASBWVlbs1q2bznpLYePhw4f08PCgRCLh4MGDc7ghExISaGxsTB8fn3yVp9Vq2bNnTwqCwHLlyjEiIoJv374lgAJZ03379i1LlSpFmUyW51pHFmxsbAo8Grcgkd3VSVInuGXRokUEQHd3d6ampjI6OpomJiacMWOG6OqMiYmhUqnkjh25B1KQ7w9u2bJlC4ODg3W2p6ZrOWH1VuobyLni1OV8Ux22HzSCFWrXY2q6lr/++ivt7Ox01vgcHBx01q5++eUX2tnZsXr16hwyZIhOG1xdXTlp0iQxz+7dVJnnz58TAPv16yduCwgIoFQq5YsXL9i+fXsxOGbChAmiqkd29Y68oiIDAgKop6dHtVqdySNcrDhbfttfJ2pz/oGTdClRknKlkk7FSjBgxHiaWv3t6rS0s6fBO3l8zZs3J0neu3eP7u7uIon53Llzde9/aiqLFCki5nieOnWKpUqVolqtpomJCWvUqKFDd1izZk0xElilUuV6TeIzf+/er/jX4MSJE6xRo4ZINNyiRYt8B4L8E9BqtfTz86NMJuOvv/6ar3NOnz7NZs2aiQnbDg4O7Nu3LwHw8OHDhdziv5FloCQSCUuWLJln8Ejp0qVpYWGRrzXNkydP0tTUlAqFghs2bNDZp6+vz507dxZI20ly2LBhFASBLVq0yHPNUKPRfDCM/UsgLS2NSUlJHDlyJDt16sSkpCSmpaXliOosX748FQoFzc3Nee/ePTFKNXvAzpw5c2hpack9e/YwISGBqampPHz4MIcPH07y49MZsgI6yteqS1ev0py18yi3337GjZfvs9fEGez341zuuBvK3hNnct2Fu9wZ/IIzth+isYUlu4+ezIyMDDGqc8GCBUxOTuaiRYt0ojo3btxIKyurPL/ld5Vedu3aJeayvXr1im3atNGRmbp79y5jY2OZkpLCDRs20MzMTCdn9HOUXj6V7/hz8huXL1/OQYMGffL5eeGr4fuPIS0tjXPmzKGLi4uYkD169Oh/jRZXly5dKJFIcp2BaLVa7t27l7Vr1xbzkNzd3Tlx4kSdGVCVKlX+sUCMQ4cO0djYmAqF4r2zpm7dulFPT++DmohJSUls2LAhBUFgo0aNciUXt7OzK3BC5JMnT1KpVNLGxibX5Hx9fX3u37+/QOssCEyYMCFHztiECRNyGD5fX18uWbKEFSpUoFQq5bJly2hhYZEjUnXjxo0sV64clUolrays2KhRI545c0as62MMH0kee/SKW28+YZt+39PawSmH3uKOu6EsU60m1UbGlCuVtHF0YYfBI/nbn3/Poq5evUpvb2/K5XKWLVuWV69eFfc5OTnlYFPJCi4hcyq9LFy4kE5OTuL1+fv767yT8+fPp7m5OZVKJatWrZqDPepzlV4iE1O4N5+yW3vvhTMysWAjrAsKXw3ffxjPnz9nQEAANRoNJRIJvb29C3Qm8akYNWoUBUHg9OnTmZ6eztWrV9PHx4d6enqUSqUsXbo0FyxYkKfixNmzZykIQqHqt0VGRrJatWqiUGpubBZZWLlyJQVB4IEDB95b5rp166hQKGhqasqTJ0/meVzNmjVZtWrVT216nnj79i1Lly5NmUwmqjBkQRCEHK68/yqGDx9OQRDYoUOHQo+A/hR9xY1X7vP4pesfLjyf+LcpvUQmpnD//fA878u+e+Hcf//fa/TIr4bv/w1+++03Vq1alVKplAqFgq1btxbFUf9pJCUlsUWLFmK4uL6+PqtUqcJ169blu6OysbFhhw4dCqV9P/74I2UyGe3t7T/Ip3rlyhVKJBKOHTs2z2NevnxJb29vSiQS9u7d+4PXOGzYMFpbW39S2/ODLMPQvHlzarVaJicnE0CB5zd+SRw9epQGBgZ0cXEpVNHVT3Hvbbpyn3r6Bhw3blyhtetLozD4jv9JfDV8/8+QkpIiLvoDoJ2dHceNG1foen7R0dEcO3asmJivVCpZunRpce3pYzFz5kzK5fICHdFfu3aNRYoUoUwm48SJEz94fHR0NFUqlQ5f4LuYMmUKZTIZXVxc8h2Ic+jQIcpksny3+1MQGBgo0nYdPXqUgiAUan1fAhEREXR2dqZcLv8sncIP4VPce0uXLqVUKmX58uX/NcsQhYWC5jv+J/DV8P0/xtOnT9mxY0eq1WpKJBKWL19e5O0rCDx//pwDBw6kvb09AdDIyIgtWrTQYUwPCgqivr4+K1Wq9FFGTKvVUl9fv0ACMlJSUtimTRsKgsAqVarka4ag1WpZtGhR2tnZ5dru27dv09HRkTKZjNOmTfuo9iQlJRFAoc5UyEyx2bJly1IikXxxgurCglarFcnCs1N7FTQ+xb0XEhJCCwsLGhoavle0+iv+eXw1fP8jOHz4MCtXrkyJREKVSkV/f3/++eefH13O3bt3GRAQQAsLCwKghYUFu3Tp8l4Gk5CQEKpUKhYtWvSjZp6tWrVikSJFPrqN2bFx40aqVCpqNJocbBXvQ8uWLSmXy3OsM2q1Wvbo0UMkCP5U4mu5XJ4j2rOwULt2bQJg06ZN/xOsQJ+C1atXizydheXd+BT3XlpaGuvXr0+JRJIvL8NX/DP4avj+x5CSksKpU6fSwcGBAFikSBFOmjTpvZ3FuXPn2LJlSxoZGREA7e3tOWDAAJFaKD+IiIigubk5LS0t8z3Tefr0KQVB+KTcwOfPn7NMmTIUBIHdunX7qA5/zpw5lEgkOjlCZCZfpomJCRUKBTdv3vzRbcoOR0fHTybY/VgMGTKE5ubmouszi+vy/xtCQkJoZmZGY2Nj3rhxo1Dr+lj33qJFiyiVSunj48PExMRCbdtXfBhfDd//MB49esT27dtTpVJRIpHQx8eHhw4dIpm5DlWvXj0qlUoKgsCiRYty7NixjIyM/OT6EhIS6OzsrEM0/CGUKFHivUS670Kr1XLIkCGUSCR0c3P76AT4wMBASiQSHS7FhIQE1q9fn4IgsGnTpgUyo6hXrx7Lly//2eXkB+3atWPx4sUZFxdHb29vSqVSrly58h+p+59GSkoKa9SoQYlEwp9//vlLN0cHd+/epZmZGTUaDS9evEgy0x19+/btL9yy/z18NXz/URS0AvTevXvF3MCsn4eHB+fMmVOgrqO0tDSWL1+e+vr6+Vr32L17NyUSSb4CBAIDA2lhYfHJa4MREREiOUAWVq9eTblcTjMzsxwzwM/B2LFjaW5uXmDlvQ+1a9fWSZ/ISjf55ptv/t+6PidOnEhBENisWbN/1TWmpaXRz8+PEomEkydPZoMGDajRaHIIyH5F4eKr4fsP4VMVoKOjo3P9+FNSUvjTTz+xTJkylEqloqxL06ZNaWdnJ7KpTJs2rcBD4Rs3bkypVJqvdTcjIyMOHjxYZ1tSUhI9PT155MgRxsXFiTOy+vXrf5IGn1arpb29PYsWLUqtVsuwsDCWKVOGEomE/fr1K/DOMzAw8B8LOClVqpRIE5WF06dPU6VS0dLS8oulvRQ2Tp8+TaVSSXt7e5H26t+CBQsWUBAESiQSyuVyzvhLxig3FPQg9yu+Gr7/DD41afT69evUaDSiuvnbt285adIkenh4UBAESqVSlixZknv27MnRud+/f59t2rShUqmkRCJh5cqVefTo0Vzb9/LlSxYrVuy9ieDvonfv3hQEgcuXL9fZ/u6H/v3339PIyEjnmB9++EHkEdTX16eFhQVPnTqV77rfhZ+fH1UqFaOjo0VOQ1dX10IzCmlpaQTwSdp6HwsHBwcdLscsxMXFsVy5cpRKpTmewf8XREdHs1ixYtTX1/+o4KbCxsWLF0VeWgBUqVQ6Xo1PHeR+Rf7w1fB9AI6OjpT/RbJqbGzMRo0a5QjqyKJdynLdZUUSqlQqyuVyCoKgQ0n0LpKTk9m7d29aWlrSxMSE33zzDUNDQ8X9KpWKcqVS/EkkEjbs2I27QsI4ad1OCoKgs1+lUvHs2bO8fPmySEorCIKo36VUKtm0aVOuXr2axYsXFw3MwYMHWbVqVRoZGdHKyoo9evRgbGwsSXLnzp20srISP1SNRsN58+bpXEffvn0/2sU4adIkCoLA8RMm5PmhP3gVTX0DuchKExwcrNNplCtX7rNmZOPGjaNEIuG2bdvEPL/sytCFBZVKxWXLlhV6Paampu9NuRg7dqxIsfaunt3/F2RF4hY0VdynYtKkSTqq8QDYuHFjkoXLjHLnzh2WK1euQGaPQ4YM4ZIlSz67nC+B/5zh+6en/Y6Ojjx27BjJTPdat27dRAVkMjO6y9nZmaamprmOqt/lHMwNM2fOZKlSpfjy5UsmJSWxc+fO4jrTu8wRG688oFyp5OQNu0XDl50NPYsYdvuOHaLactavTZs2OtFu/fr149SpU8W/N23axCNHjjAhIYFRUVFs0KCBDm/g+PHjefXqVY4ZM4bm5uYEQGtra86cOZNpaWkMCgoSRTM/Bmu27uDa83e47cbjPD/0jZfvsXbjply1ahUVCoXOdUkkEj5+/DjP8qtUqaLDj5gdBw8epCAIrFy5MgVBoI+PT55Rp/v372fbtm0/+vrygpubm6iOXZiQy+XctGnTe485e/Ys1Wo1LSwseO/evUJv05fA1q1bKZPJWKpUKdEdnn1gm/Xr378/16xZQwA5BkB2dnYiHV10dDS7detGKysrqtVqurm5cfr06XnWHx0dzS5dutDCwoIWFhYcN24c7969yy1btrBmzZoEQAMDA8qVSqqNTFiyUjUOmbdU51uwL+quM8iVSqX85ptvSGaqHTRt2pTm5uY0MTFhvXr1cgR3tWzZklu2bCGZOeDu3r07HRwcqFarWbp06Rzk8CtXrqSrqytVKhXr16+v4zIOCwujvb39f5IR6D9h+L7ktD+74SMzox3d3NzEvwMDAymXy7lx40aamprmeAnyY/j69OkjMsiTmZ2xu7s7yZxcgQOmL6ClvQN3Br/I0/BtvfGINZq0FGd6MpmMMplMJwTf0dGRgiDoyJMEBQXR0NBQJOzdtWsXXV1daWRkJBqW06dPs3LlytRoNJTJZFQqlTQwMKBUKmXVqlVpYGCQg8h5wYIFIrFusWLFdDrWLFaM2i39CYCLfz2jo96sbyCnXKmi0lBDt1JlaWGbmSzv5ubGtm3bctiwYaxTpw5NTExoamrKESNG6AyK9u/fr6PqvnbtWnp7e9PQ0JDW1tbi/VGpVNy2bZt43P3792lgYJCD1NjT07PAQuWbNm36j5BxSySSfAUSJSQkiCTQS5cuLfR2fQk8efJENFQXL17M8X1nYc2aNTQ1NaWZmZno9SB1DV/Xrl3Zpk0bRkVFUavVMjg4+L2ySF27dmXr1q2ZkJDAx48f08XFRYdTFQCX/hrEXSFhXHPuFgfOXEiNiSn9BwzNdUC4M/gFLe2LcM2aTHL1CxcucNWqVYyMjGRqairHjh1LDw8PsfywsDCamJiIwWrx8fGcMGECHz9+TK1WywMHDlCtVovf+smTJ2lhYcHbt28zJSWFffr0YY0aNXSuyc/P773X/G/Fv16INiopFYf/jMD1iFjEpmaKTGYJ/MampuN6RCwO/xmBqKTUvAvJJ6pWrSoKOuaGxMREbNu2DZUqVRK3rVu3Dk2aNEHbtm0BAAcOHMDNmzdRpUqVfNfbo0cPnDlzBmFhYUhMTMSmTZvQsGFDAMD9qASkZ5M0PrV3B2o2a52rsGMW9AzkGDN/CSIiIlC6dGm0b98evXv31hGkZOagB0+fPhWVl6tWrYoBAwagZ8+eIImTJ0/izZs3mDx5MpycnBAbG4tvvvkGAwcOxIsXL2BmZobRo0fj4sWL2Lx5MxITE5GSkoLixYujW7duCAsLw6pVq/DLL7/g0KFDiI+Px8GDB0UlcG0GcSY0Crcvn8fLZ7mLqY5cuhabrj7Ast8volWf70ASZubmuH//PrZt24aiRYvi+fPnuHnzJm7evIkDBw5g+fLl4vnLli1D586ddZ7hggULcP/+fbx58wYk4e7ujqioKPEZAkD//v1RoUKFHO1p3749VqxY8aFHmi9UrFgRz549K5Cy8kJGRgYyMjLg7u7+wWOVSiUuXryIsWPHon///mjYsOEHhV3/a3B0dERoaCiqVauGSpUqiSKxoaGh2Ldvn86xxYsXR+XKlTFv3rxcy7p06RI6dOgAExMTSCQSFCtWDK1bt86z7gMHDmDEiBFQKpVwcnJCjx49sHr1ap1jBCGzS9aYmKFms9boNWEGdq9YjLjoqBzl3b10HrFRUahUvzGAzPepR48eMDU1hZ6eHr7//nvcu3cPkZGRAIBjx47B29sbcrkcAKBSqTBx4kQ4OTlBIpHgm2++gbOzM65cuQIAOHjwINq0aQNPT0/o6+tj3Lhx+OOPP/Dnn3+KbahZsyYOHTqU9w3/l+K9hk+tVmPTpk2YOHEi9PT0oFarYWxsjCpVquDcuXPicadOncqh8nvw4EFUrFgRKpUKZmZm6NixI0JDQ9/bmPnz58PFxQUajQa2trboO/A7nHr8CmkZRDqJ8V1ao1tlL3Qq544hzfxw8cRRpJNIyyBOP4/CirXr4ejoCJVKhebNmyMq6u+X5cmTJ2jUqBFMTExgbW2NAQMG6HzUBw4cgKGhIcqWLQsg06CVK1cOz549Q7169SCXy2FkZIRjx45h+PDhWLx4Mby9vbF69Wq8efMGenp6aN26NdavX49SpUrB2NgYBw4cyNdDcHNzQ5EiRWBnZweNRoPg4GCMHz8eJEVjDwCvXoTi7qVzqNmirc750a9eonOFYjq/N7HxsLCwgJGREXbu3ImNGzeiSZMm8Pb2BpDZIQLIoQQ9YcIEhIeHY/DgwVi1ahVcXFwwYMAAAMD9+/cBZHb+/fv3R5kyZTB69GiUKlUKbdu2xdWrV+Hj44PatWvj6NGjsLOzQ58+fVClShW4u7tDEAS4urrC1NQUAPAiLgnpaen4ZepY9Bg39b33SGWoQYXa9TFw+gJEvnmD27dvi89p6NChsLe3h52dHYYOHYq1a9cCyFSN/v333+Hr6yuW07dvX9y7dw+2trbQarXo06cPXFxcoK+vLx6zdetWGBsbo06dOjnaUZAfev369RETE1MgZeWFsLAwAICJiUm+z5k4cSLOnj2LM2fOwNbWFvfu3Sus5n0RyGQyHDlyBLNmzUJ0dDRGjBgBPz8/tG3bFq9fv9Y5dsqUKViwYIFOX5KFSpUqYcyYMVizZg0ePHiQr7qZbRBLUnyPs5B9kAsAFerUh1abjge3ruco69Te7ahUrzFCk5ljHwD88ccfsLa2hpmZGQDg1q1b8PDwyLNtERERuH//Pjw9PfNsLwCdNhcvXhw3btzIs8x/K95r+OLj49GxY0cAgL+/P+Lj4/HmzRvUqlULbdq0yfO8nTt3okOHDhg8eDDevHmDO3fuwMDAANWqVUN0dHSe5zVt2hRXr15FbGwsbty8hTOXr2L/+lXi/u5jJmPV6evYeOU++kyehZ+GD0T0qwgAwOP7IRg8oB/WrluPiIgIKJVK9OvXTzy3X79+sLS0RHh4OK5fv47AwEAsWbJE3J/XzMDBwQGbN2+Gp6cnJk2ahMWLF8PX1xcKhQK+vr4wMDCAnZ0dAKBjx444cuQIXr9+jY4dO+rMPLIwbdo0qNVqqNVq9OnTB0Dm7CIlJQWRkZFISEhAy5YtM0fbGUT2ed0f+3eimHdFWNk76JRpYmmNDZdCdH4KpRLpGZkv6sKFCxETE4OYmBhcvXoVACCRZD76uLg4nbIMDAzw/fffY9GiRZBIJNi8ebN4rLu7O6RSKTw9PXHmzBksX748x8wzMTERvXr1Qnh4OI4dOwatVotffvkFenp6UCgU6Nq1q2h070clYM/a5ShevhKcPErk+k68C69KVWFiYYXTp08DAO7cuYPSpUuL+0uXLo07d+4AAB48eABBEODv74+YmBiEhYWhVKlS6NmzJ4DMDzg8PFznQ4+NjcX48ePzHOUXL14cT548EWcKn4OsQUhwcPBnl5UXHjx4AJlM9tHn+fj44OXLl3B2doanp6fOt/L/BUOHDoWNjQ2uXbuGe/fuITU1FUWKFMHKlSvFY8qUKYO6deti5syZyPir488yAIsWLULHjh2xePFilChRAkWLFsWRI0fyrK9BgwaYMWMG4uLi8PDhQ6xevRqJiYk6Zb4LmZ4eNCamiH8bo7M9JSkR5349hFot2iI2NT3H+aGhoejfv7/OexwTE5NjoJuFtLQ0dOzYEQEBAShWrJjY3u3bt+PmzZtISkrC5MmTIQiC2GYgc+Bc2IO3wsBHuzplMhk6duyIFy9e5BgdAZkPcOjQoRg7diw6dOgAhUIBa2trrFq1Cmq1GvPnz8+zbFdXVxgbGwMAwuISIQgSvHz2RNzv5FEC0r8+YkEQoE1Px5uXmSPa0wd2o0KtenD1rgi1Wo0pU6Zg9+7dYsf++PFjtG3bFnK5HNbW1mjQoIHYQeY1M6hevToAwNzcHB07dsS5c+fQsmVLSKVSGBkZ4c6dO0hLS8POnTthbW2NNm3aIC0tDZs3b0bNmjVx4sQJpKbqumBHjx4tuhaXLVsGALh+/Tq6du0KU1NTGBgYYODAgbh48SJioiKR/XU+tXcnarbIe8Ch8xwAyCR5u0MFQYAgCHBxcYGxsTGaN28OALh27RrGjBkDtVqNMmXKiB8BAGg0Gvj7+4suWVdXVzRt2hQREZmDj/T0dDx8+FA0REqlEgBQt25drFy5Es7Ozli3bh3UajV69uqFR0+f4ti2jWj33fB8XVMWzG1sERkZiQwS8fHx0Gg04j4jIyPEx8eDJGJiYqDVanHhwgX4+vrCwcEBr1+/hiAI2LJlC86fP4/Lly9j2LBh4vnjxo1Djx49cngwspDVcRTExy6RSGBoaIhff/31s8vKC48ePYKBgcEnnatUKnHhwgWMGzcOAwcORIMGDf7fuT7T0tLEgR2Q2X9lH9RrM4g+w0dh8ZIlWHv2FpLSM3D6eRSOP36N16nEDyNH4cqVK4iMjETbtm3Rpk0bREVF5TrAXbhwIRQKBdzc3NCsWTO0b99efM+yBqnvIj0tDbFRkVAbGetsP3/sCNRGxvCsWBnCO+e/fv0a9erVQ79+/dC+fXtxu4mJSY6BLpDp/encuTP09fWxePFicbufnx8mTZqEVq1awcnJCU5OTjA0NNT5NuLi4sQ++7+EjzZ8qampWL9+PczMzHJ1n9y7dw/Pnj3LMSOUSCRo1aoVjh079t7yN2/eDI1GgzIuDngScgf1/Dvp7J/WuwvalXLGyLaN4VmxMly9MjvZ5w/vwcGjOO5HxgPINKJ6enoYPHgwLl68iMGDB2Pr1q1ITEzEixcvcOTIETRo0ABA5qhYIpHk2dkBmW6DEiVKYN++fYiOjoaNjQ1OnDgBf39/NG3aFNevX8eNGzfwww8/YP369bCzs4Oenh6eP3/+wXtaoUIFrF+/Hm/fvkVaWhqWLFkCW1tbWFhYQKOfaehDrl5C1KtwVKnf5IPlAYBGX/bedUAgc4Y9atQoxMTEYO/evbh9+zYaNGiAUqVKoW7duggNDcXWrVvF46dPn45jx44hODgYYWFhuH37NsLCwjB48GAAmS7b5ORkeHp64vTp01AoFACAH374Ad9++y3u3r2LqVOnws7ODr8dP4Ffpo5Dm37fQ2Woya15eSLq1Uu8oj723n8JuVKF/bcf4/jj13j2NhHRMW+hVqshCAKuX7+O1NRUaLVa3Lx5E/7+/nj9+jUGDRoEAwMDjBo1CkeOHBHXHK9fv47jx4/j+++/z7PurI6joD52Ozs7nDlzpkDKyg1Pnz4VByCfigkTJuDs2bM4e/YsbGxsCnWG+k+DpPit6unpITU1VewX0jOIOdsPoFObVkhOSsbPY4aI52XFF3QaNBxt2neARqNBx44dkZCQgAcPHuQ6wDU1NcWYMWNgb2+P27dvIyMjAxUrVgSQ9yD10olfIZHK4FayjM72U3u3w9jCEr9uXa8zyI2Ojka9evXQtGlTjBkzRuecUqVKicsV2a+/R48eiIiIwK5du6Cnp6ezv3///njw4AEiIiLQqlUrpKenw8vLS9wfHBys43H5ryDfhm/79u0wNjaGQqHAypUrsXPnzlxdKG/evAEA2NjY5NhnY2Mj7s8LHTp0wNu3b7HoaBDqtesCIzMLnf2jl6/Hxiv3MWbFRpSu6iuO1pITE6E01CA2NR0h9+6hc+fOSExMxNq1a3H58mXUqFEDd+7cgUajgb29PcqXLy/Oct7nAgCARo0aYf/+/fj5558xZswYrFu3DqdPn0aZMmXg4uIizmqtra3x3Xff4ebNm7h9+zYMDQ0RHx//3usFgDlz5kAul8PNzQ0WFhY4fPgw9uzZAwBwN1VBJgg4tXcHfOo2gkKtznF+9KuX6OhdVOf3MOj4B+tt3LgxNm3aJLpJ5s6di1evXuHkyZM4evQoIiIi0KlTJ3F9Y/To0Xj27BmKFi0KtVqN8uXLw8bGRvT5N2rUCAsWLEB8fDyqV68ODw8P6Ovr6xhghUIBLy8vPPnzIW5fPIv1s6egR7XS6FEt8+MZ3a4JTh/YnWebH966jqiIl1g0/geEP32MIkXd8STkrtgRbTx+Gh7FSyAuLg5DhgzROXfLli2oWLEi6tevj549e+LAgQMoWbKkuP/UqVN48uQJHBwcoK+vj1mzZmHXrl2iSxLI/NCdnJx0ZpmtWrV6r4vrffD09BQ9D4WBFy9evPfdzi+yXJ9FixZFyZIldWYGBQknJycoFApxtqRWq3H27FkIgiD+7eTkhBkzZojnCIKAhw8fAsj8lrt37w5ra2sYGhrC3d1d59h3IZPJYGpqCoVCAQsLCwwePBhPnjzBmUuXEZuShk0/zUaDjt2w+Ncg3L10Holxb8Vzt/w8D28iwhERl4Sw6FisWbMGAPJcR/vzzz/xww8/YMiQITh69ChWrFiBuLg42NjYwMjICABw9sh+AEBcTDRWTBqFOYN7gST61KmI9mVc0KqYLa4GnsDtC2fRbeRE7F6+EApkQBAExMbGon79+qhatWqu11y3bl1cvXoVycnJ4ra+ffsiODgYBw4cEAeqWUhOTsbt27dBEs+ePUOvXr0waNAgnQlPYGCgGIj3n0J+Qj8nTJgghnW/fv2aNWrU0CHxzR6yHxwcTAB89OhRjnLGjx/PSpUqkcxUwc4Ko8+eK0aSqela7g4J4/dzl9CnbsM8RR/LVKvJkUvWcFdIGCvUrsfOw8Zw262nVKoNdfK8TExMKJPJaGlpybJly7JixYo0Nzeni4sL27Zty+bNm1Mmk3HEiBGcMmUK58+fz1WrVnH79u0cP348TUxMuHfvXoaHh+dgJhkzZgwDAgJyvW+GhoafHfr+KQrQ+++HfzDFIyuMu3379tyzZw/JzPBmZ2dnbty4UTyuY8eO7NKlC0nS1taWvXr14vPnz0mSz549Y9GiRWllZcWIiAjKZDIaGBjo5ER5eHiwcePGnDVrFt3d3enu7i6yyAR8/wOLuLlzxanLXHX6OgFw+tYD3Hz9TzGdYfzqrdwVEsYNl+9x1NJ1tCriSN9mrcXUh14TZ9DOpShXBF7hysCrtC/qziZdelKV7R1Qq9XUaDRUqVQ8evQojY2NWbVqVZqYmNDOzk4M3U9ISGB4eDjXrVvHmjVrcujQoWzVqhUjIiI4ZswY2tra0sDAgLa2tjrEwhcuXKC3t/cnPd/58+dTo9F80rn5QaNGjViuXLkCLXPSpEmUSCSsW7dugSe855Ze8PjxYwIQ6zp79iwVCgWPHDlCMjMNICsF52NTDKytramnp0d9fX2RaOKbJk04aMYCFvOuQGsHJ/EdrN8+gAA4ad1O7goJY/tBI6gxNaNUKqPayJgVfXx02vkuli1blkk2IZezdOnSPHr0KG/fvi32KVnvq75cTrWRMT0rVuHg2YvF77r/tPm0KuLIDoNHsni5itwVEsbSVWpwybrMHM21a9eKBBXZv8Hs7ECtW7fm1q1bSWamduCv3MHsx2d9/9HR0SxZsiSVSiWtrKw4cuRIpqeni2WFhYXRzs7uP5nH99Gr3ubm5lixYgXKly+PDh065JjZeXh4wN7eHjt27MCIESPE7RkZGdi1a5c4yxo9ejRGjx6dax0yiQAC0Gq1eYa5A4BWmy7uL1LUA09C7kImk6GUlxcuXboIrVYLmUyGkiVL4o8//kCVKlWQlpaGpKQkmJmZ4enTp7h9+zZSUlKg1WqxZs0aZGRkID09Henp6UhNTRXXAFq0aJFjATn7TGbbtm2QyWTiTyKRIC4uDq1atYJCoYCBgQHkcjkUCgUUCgWUSiWUSiVUKhVUKhXUajU0Go34r5GRkfgroTbC7XhCm/sygA6kgoCq9qaQvmd9Lzs2b94s/n/06NEoVqyYGNAEAAsWLECJEiVw7NgxCIKAkJAQ+Pj4ICYmBsbGxqJ709LSEnZ2dli1ahX8/PzE82NjY9GrVy9MnjwZqampqFy5Mrp3745Hjx5h9y9LMWntDphZ24rHG5qYwkD+98hzRt+ukEilma5oV3c06doL9dp1QeC+nQCAev6dEfH8KYY0zYzArNO6PZp07Y0mAd8ioIY3Dh88iM6dOyMuLg5PnjxBQEAAYmJicPHiRejr6yM5ORkDBw6Eh4cHatWqBaVSiW3btuHbb7/FgwcPIJfLcerUKaxevRpBQUFo1qwZKlSogM6dO4uBQhUrVkRsbCwuX76M8uXL5+u+Z6F+/foYMmQIMjIydNaaCgqvX7+GhYXFhw/8CIwfPx4NGzaEn58frK2tERgYqBMgVNioXLkyPD09Rdd8dly6dAlTp04VZyXFihXTWad+F+Hh4QCA48eP49tvv8WTJ0/w7G0irkfEYuvP8/Eq9Nlf76AEa8/fQbMefbF45GBM73sL7mW8UaVBEyTGxWLonJ9hlhKDaqWKY/Xq1Zg4caIY75C1hqxQKFC7dm0cP567N+bO3WBU8/VFt9GTUbVh0xz7s1KZWvX5Dq36fAcAKOlTGRd+P4a+XTogICAAAQEB7713kyZNQkBAANq2bQtHR8c8g2qATHf+zZs389w/Z84cjB49Wici+r+Cjw/3QqZxq1+/PmbNmpUjWEUQBMyZMwc9e/aEvb09WrZsiZiYGIwePRqxsbHvXT9ZtWoVmjZtCktLS0Q//RO7VyxCmao1AQChjx7gVehzeFasDKlUhjNH9iP48gV0GTYWAFC9SUuMbtcET29cwfHjx9CuXTtcvHgRr169wvfff4/nz5/Dx8cHw4YNQ3x8PLp16wZvb2+x42/atCnatWuHDh06AAB+//13tGnTBnv27EGNGjXENmZkZCAxMRGvX79GVFQU5s+fj7CwMAQEBCAxMRGJiYmIi4vD5cuXxXy+hIQEJCUlISkpSYyMTU5ORmpqqvhLS0sTDa5Wq4VWq0VGRoaYb+fqVRrjVm2GTKaXq7szKSEe2vR0LB35HQY/fgh9fX3R2OZmcJs1a4aTJ0/i0qVLMDQ0hKGhIWrWrImmTZvi8uXLMDExgbGxMYyNjfHq1avMl0Umw7hx43QM29q1a7Fq1aoc7cmCRqMR1wnv3buHChUq4Pbt2xg8eDD69u2Lol6lkPbXwvyukDCdc9v0/x77flmKmDevUbRkGfSZPBuWdn+vw14NPIGD61chKT4OtVu1Q+dhY0XjIRMEvExMQ2hoKOLj42FlZQUHBwcxbeXFixeiQejVqxdWr16NWrVqiYFOy5cvFwcAM2fORLVq1XDnzh0UL14cQ4cORbly5XTampXm8LGGr3jx4gCAK1eu5Jo3+LmIiYlBiRL5i5j9GFSoUAERERGoXbs2SpUqhXnz5mHQoEEFXs+7IImzZ8/izp07YupRdmSlGERHR6NatWpwc3P76DqycmeXHDuHPrUrou/UOShdJbMPWDC0P9zLlMP41Vtw/8Y1TOvdGRXr1Ec6iccxCQCAkydP4sGDB3j06BFq166NMmXKwM/PL890gn79+mHt2rVISkpCqdJlUMHXL8cxr16EIvjyefSf9neUplQQ4FfBGz/NztuV+y5KlCiBS5cufewtyRVz584tkHK+BD7J8AHA8OHDUbt2bYwaNSrHPn9/f8jlckydOhU9e/aEgYEB6tevjzNnzog5JbnhzJkzGDNmDOLj42FqZo7ydRvDf9BfEX8Eti+ei+cP70MilcLG0RlD5i2Di2cpAICDmwf6TpqJOcP6YWz3KPj5+SE4OBjPnz+Hm5sbdu/ejcGDB2PmzJmQSqWoXbu2jtHu3bs3Fi9eLBq+KVOm4O3bt2jUqJF4TPXq1XHkyBGo1WrMmTMHkyZNEvedPHkSEyZMwMSJEwFkrp8tXrwYTZvmHLl9CjIyMhAbF4dHkbEIS0lHqiAFQBAC0hNiEXvvFl7ev4MqZUshwd0VCQkJSExMFA3u27dv8erVKx2Dm5aWJv6yjO27Bvdd1K9fHzKZDFKpFDKZDFqtFmlpabC3t0dERAS6d+8uRqdmGVylUgmFQgGVSoWSJUvCx8cHKpUKTZs2RdztC5AXKwdIpDr1XDxxFLuXL8Kopetg4+iMPSsXY8HQvpi29e/cyAvHj2LWziNITkzApG7tYOfsCr82mcYq/MVzdCjvgYS4WEgkEnHNg++EpGf9P2udMrdAp3bt2mH79u3w8PDApk2bMGbMmBwzjeLFiyMoKOiTnq2xsTF+++23QjF8b9++FdNtChpyuRxnz57F1KlTMWTIEBw8eBBHjhz5pPSJ7GjevLlYRs2aNbFgwQIAmd4mQRBgbW2NGTNm5JpnuWjRIsyfPx+LFy9Gr1694OjoiEWLFuV7HYrv5M5mx+uwUDy8fR0T1myDnr4BPCtUQvladcX98alaAJnBQFnverdu3bBlyxb4+fkhJiYm1/5vyZIlWLRoEc6dO4dTp06hlqs1LkbEgfw7ry9w3w4UL+cDK3sHyAQBggBUtTfFlacm/8l0gi+NfL2hWZ15dvj4+CAhIXOEY2lpmSM5vVmzZmjWrNlHNSZrcRjIDCM+/GeEOBuwd3XDjO3vTxyu2bQlZn3fV8fNl5UsXaZMGZw6dSrPcxs3boxp06bh2rVrKFu2LE6ePPneuiZOnJjrfQGAmzdvIioqqsCMHpAZFWtsZARvIyN4I/MDTc8gZBIBgmALlCsGIH+pDh8DrVaL2NhYxMTEoGrVqoiOjhZnVVkzVCsrK7Ru3RqrVq1CeHg4Xr58KRrOIkWKwMjICCkpKUhJSUFcXBySkpJAEuPGjUN6ejoci3li5NJ1OrPZ37ZuQIteA2Dv6gaSaNn7O+xavhCvXoSKs74WPfvD0NgEhsYm+CbgWwQd2icaPgtbe6y9cBdL+ndG/fr1RXeXoaEhqlatiilTpmD27Nm4e/cudu3aJc7+cgt0srGxQbVq1eDh4QGpVIoiRYrg999/1znmc/KZHBwccPHixU8690NITEyEg4PDhw/8DIwdOxYNGjRAnTp1YGVlhT/++OOzXJ979+7V8So8efIEQGbg3IeMqkKhEJdRYmNjMWPGDLRp0wbPnj3DsmXLMG3aNABAp06dxGjL7MjKnc3NARj9KgJqjRHk2aJkLWztEflXSlVWr1OkSBFxv6OjI27dugUg73QCAJBKpahWrRo2btyIbWt/Qf8BA/EiPhn3I+MRm5qOwH070bLXQGj0ZXA3U8NOLYdUIvxn0wm+NP61lGVSyV9rVR8IyReP/8i1rdxw5syZXN0nH4tSpUrpMNsUBgRBgJ5U8sGUhc+FVCqFiYkJnJ2doa+vjwMHDiAhIUGcUa5YsQKOjo6YP38+zMzMcOTIER3X7ePHj3H9+nUEBwcjJCQElpaWGDhwIPT19XH9+vXMMn6ah/51KqJrZU/0q1sZGRkZePXiOdZMG48uFYqhS8XiCPApARCIiggX25Z9bdDC1h5Rr17qtD1Dq8WRX39DQEAAmjVrhjNnzuDAgQPYtGkTHj9+jCJFiqBv377o1KmTOMPLrXOaPHkyLl26hOfPnyM5ORkTJkxA7dq1dRJ5P6cD8vLyKrQUgeTkZLi4uBRK2dlRvnx5REREoHjx4ihVqpQ4S/uS0Gg0GD16NBISEvD48eNcUwzeRVZ8QW4wtrBCfOxbJGd77m/CX4j/zzovewrTs2fPYGub+Z7mlk7wLtLT0/Hnn39CKhHgoFHAz9kClq//xNvXEZg2oAf8nC3goFGI/dx/NZ3gS+Nfa/gAwFShj+pFTKEnESDLo4OXCQL0JAKqFzGFqeK/t8j6v4QpU6bA0tISP/30E/r06YPevXsDyHQhx8fHo0H9+ngV+gz+Xg4If/oYKUlJSElOwvqLwdhwKQRbbjxCMe+/3YFZI20AeB3+AqaW1jr1SaVSuBV1hZeXF169egU/Pz8EBATA0dERBw8exOvXr3HhwgW8efNGzKcqWrQoSOLFi787tOvXr8Pf3x/29vaQyWTo2rUroqOjcffuXfGYz+mAqlevLlKLFTTS09PzxdNZEJDL5QgKCsLUqVMxdOhQ1KlTJweBQ2FjypQpuHTpElJTU5GcnIyffvoJxsbGeaYYZGRkIDk5GWlpaSCJlJQUKJCR67GWdvZw9SqNbYtmIy01FcFXLuDyyb/zktX6UrENiYmJuHPnDtasWQN/f38AOdMJXr16ha1btyI+Ph5arRa//vortmzZksOFu379erRq1UonhSYL/9l0gi+Mf7XhAzKNXyNXK5SxNhKTubNMoEZfhjLWRmjkavXV6P3LcePGDSxcuBArV66EIAjo1asXrl+/jtKlS8PBwQF6eno4ePAgSGZSmpGZHenp01DrSZAQF4uzR3W5T/f9shTxb2PwJvwFDq1fhSp/RcKd/+0wXjx6iKS30XgRGiqS9CYnJ8PY2Bj79+9HXFwcUlNTsXHjRvz2229izp++vj78/PwQGBgo1lOhQgXs2LEDERERyMjIwIYNG5CWloaiRYuKx3xOB9SwYUMkJCQUOCtK1sw1u+vtn8CoUaNw6dIlXLlyRSfP85+AIAjo1q0bzM3NYWtri2PHjuHQoUNQ5xIQBmQSUygUCjRq1AjPnj2DQqHA5B7t8xxoD57zMx7cvIaulUpg+8/z4Nssk5RaJghwNlYBAHx9fVG0aFHUqVMHw4YNQ7169QAAVlZWqF27tkiGLQgCli5dCnt7e5iYmGDYsGFYsGCBzhJJcnIytm/fnmu0Znh4OO7evStGyn/FR+CfzZ74fGT8w3p8X/E3csuxWrNmDatWrSruf1fbrHnz5nz16hUdHR3p5eVFFxcX6uvrEwDlcjmlUik7d+7MgwcPMjExkRKJhFKplBUqVKC3tzelUimlMhnNrG1Yu6W/mNMEgN1HT6alvQPVRiZs0rU3t995zl0hYewxZgotbO2pp69PExMTKhQKSqVSymQyGhkZ6ej4OTo68sSJEzrXdPDgQTZo0ED8Oykpif369aO1tTUNDQ1ZtmxZMYeMzFTTLlu27GfdW6lUysDAwM8q411cuXKFEomkQMv8GCQlJbFatWqUSCScO3fuF2vHx6KwcmfJTCHY8uXLF5gQ7M8///zZ5fwvQiDfk8jxFV/xkUhMTMS+fftw6NAhXL58Gc+ePUNSUhIUCgUcHR1RoUIFNG7cGE2aNMmVSsvR0TGHVM/CRYvhVL+VGOiUH6QlJ6FTheLI0KZDT08PKSkpADIDJSwsLLBu3Tps27YNV65cQXx8PMzMzFC5cmV06dIFrVq1QvXq1bF48eJ8rfm2atUKPXr00IkA/lhYWFigT58+mDJlyieX8S62b9+OLl266DB1fAnMmDEDY8aMga+vL44ePfqfyPuKSkrF6edR0Oaje5QKX5da/mv4avi+4pORmpqKo0eP4sCBA7hw4QIePXqEhIQEGBgYwN7eHt7e3qhfvz5atWqV78CPiRMnimkienp6GDRoEGbPno2opFT88ewNMvDhYJ6sjqhDi6YiAbQgCPDx8ck16Ojp06dYsmQJDh06hHv37iEjIwOOjo6oW7cu+vbtizJlyuT7nnwqKlSoAFNT0wIlrJ41axamT5/+XkWUfwrXrl1D7dq1IQgCTp06hVKlSn3pJn0QUUmpOBMapZNWkB3Z0wq+Gr3/Fr4avq/IFzIyMnDq1Cns3bsXZ8+excOHD/H27VvIZDLY2tqidOnSqFu3Llq3bp0rT+uHEBgYiM6dOyMsLAzOzs54/PgxnJ2dcefOHejr6+PmzZto370nxq3aDKVSlWtHJGRkIDb2LeLvXEL/7gGIiIiAq6urTtrNwYMHP5gvd+rUKaxcuRKnTp1CeHg49PX14eXlhRYtWqB3794iqXVBomfPnjh+/DgeP3782WXFxMQgKCgI69atQ1BQEEJCQqDRaAo9AvhDSE1NRd26dREUFIRZs2Zh6NChX7Q9+YE2gzppBVmpDu+mFXzFfwxf0s/6Ff9OaLVaXrx4kT/88AOrVKlCU1NTCoJAqVRKGxsb1q1bl9OnT+fDhw8/u65Hjx6xXLlyFASBtWvX5uvXr/ny5UsWKVKEN27cYFRUFHv16kWpVEoAvHL1Kp++TeSxR6+4M/gFt916yh13Q7n/7lM+fZtIpUpNAKxduzYfPXrEhQsXEgAXLlxIX19fCoLAli1b5ptfMCkpiatWrWLt2rWp0WhE7teGDRty8+bNBcZVuWHDBsrl8gIp6+jRo5RIJJTJZJRIJBQEgbNmzSqQsgsCM2fOpEQioa+vL1NSUpiRkcHly5czMTHxSzftvfgaX/D/B18N31fw7t27nDRpEmvVqkUrKyuxs7SwsGCNGjU4bty4zybbfhdxcXFs2bIlBUFgsWLFcpSfkZHBw4cPU6PRiMEwEomE8fHx4jHFS5SgUm3IefPmi9vKli1LABQEgQqFgtOnT+fGjRvFzurQoUM0MjKiUqnk5s2bP7rdoaGhHDNmDEuWLEk9PT0KgkBHR0d2796dFy9e/LSbwUzydwBMSkr65DKykJaWRmNjYzGIR6lUisTi/xZcv36dxsbGNDY25tChQwmAs2fP/tLN+or/EXw1fP9jePr0KWfPns0GDRrQzs5OnEmZmJjQx8eHQ4YMYVBQELVabaHUr9VqOWLECOrp6dHc3Jy7d+/O89g//viDJiYmOh14Fi5cuCBu79u3r7i9VatW4na5XM4+ffrk2oZu3bpREASWK1eO4eHhn3w9QUFB7NKlC+3t7SkIAvX19VmmTBlOmDCBL1++/KiyZDIZDx069MltyY6RI0cSAKVSKadNm1YgZRY0UlJS6O3tLT4vIyMjJiQk5Hqs9uts6ysKEF8NXyHh3/ChRkREcMmSJWzevDmdnJyop6dHAGJIfr9+/Xj06NECl5bJC2vXrqVGo6FcLs93Z9y/f38KgkA9PT06OjqSzOwwDQwMdAxcWFgYSXL48OFi6oKLi8t7y7579y5dXFwolUo5YcKEz7k0sV1r165l3bp1xbQJY2Nj1qtXj+vWrWNqaup7z7e2tuawYcM+ux1k5gAn61l/qN4vhbdv39LKykonvWT69Oni/nRtBp/GJPDYo1fcFRLG3X+lDhx79IpPYxLylT7wFV+RG74avgLEl/xQ3759y3Xr1rFdu3Z0c3OjXC4XZ0menp7s2rUrd+7cWSCutI9FUFAQHR0dKZFIGBAQkO/1tQcPHlAikXDZsmU8ceIEV65cSfJvd2b2DjNr1nf69GlOmjSJt2/fpkQiEbX/3oeZM2dSJpPRzs6OV65c+fQLfQfh4eGcMGECy5QpI+q9FSlShF26dOHZs2dzHF+lShXWrFmzQOrWZmTQ0tqGY8aOLZDyCgOhoaGsXr06jY2NKZPJxOf58OFDRiamcP/9cO67l3s+3b574dx/P5yRiR+vBdeuXTtRg/Jz8PLlSxYrViyHRudX/Pvx1fAVEArzQ82OV69e0d3dnZs2bWLXrl3p6elJpVIpznzc3NzYrl07rlu3jm/fvn1vWUOGDOGSJUs+qz3vw9OnT+nj40NBEFijRo2Pdim6uLiwdOnSOtv69etHqVTKPn360M/Pj3p6ehw1ahT37t2b4/z+/fvTwMAgT/dZdkRGRrJq1aoUBIH+/v6FMgu+ePEiu3fvTgcHB9EtWqpUKY4dO5YvXrzggAEDREHnT8G7A6/tt59xV8iLjx54bdmyhRUrVqRSqaSFhQUrVqzIn3/+mRkZGQwICOCYMWOYlJREIyOjHMn/JDl48GC2atUq17KPHz9ODw8PKhQK1qxZk0+ePCGZucZZsmTJv4KoZFSo1HQpUZIdh4zi1puPc3xPNZu3pUQq5erT13N8U/PmzaOVlRUNDQ3ZrVs3HcN048YNFi9eXPTE/P777/Ty8qKRkRFNTU3ZvHlzhoaGiscPHz6c9vb2NDQ0pIODA3/88Ueduvr27cuFCxfm675+xb8H/1nDt2nTJpYrV44qlYrW1tZs0KABT58+TTKTHaFJkybUaDRUq9WsWbMmz5w5I56bpehcpkwZnTJfv36t41LLDVu2bKG7uzs1Gg0tLCzYpUsXPn75mnvfMXiLjgZRT9+ANZq01Nm+91449x39jQA4Y8YMkpmdbvv27RkSEsITJ06wbNmyNDQ0pLOzM5csWcKjR4+yb9++LFu2rOiuzGpn0aJFaWFhIaqdr1u3Tqe9WbO+LCaVHj16iPvCwsJob29f4ArKCQkJ9Pf3p0QioZubGy9duvTRZUyePJkymUzHWG7YsIGCIIiK2j///DMNDQ3zLEOr1dLc3Jz16tXLd7179+6loaEh1Wo1d+7c+dHtzi/S0tK4adMmNmjQQFzHVCgUFASBq1atyvFMMjIy2LVrVxobG7NChQo5yvuYgdf73PBz5syhpaUle/Xqxb59+zIjI4NXr15lhw4dmJycLBo+kuzVqxcDAgJ0zk9PT6eVlRX3799PkkxOTqaHhwdfvXrF169fU6PRcPv27UxKSuKwYcPo4+Mjnuvr68vly1dw//1wbrr6kJPW7aRTsRIsWakadwa/EK9l09WHlCtVVBuZsPPwsTqsKUePHqWlpSVv377NqKgo+vr68ocffhDr6NevH6dOnSr+/fLlS7548UJs6/Dhw9mkSRNxf0hIiBhQFRoayhIlSnDXrl3i/qCgIHp6er7nSX/FvxH/ScM3d+5cWlhYcNeuXYyPj2dqair379/PYcOG8eHDhzQ2Nubo0aMZGRnJ2NhY/vTTT1SpVKJ7Kcvwubu789atW2K5P/30E93d3d9r+J49e8bXr1+TzIxMbN++A7/p3CNHR1O6Sg0WL1cxh+HbFRLGOi39aWpqyhIlSvDatWu0srKiVCrl7NmzqVKp6Ofnx4oVK9LQ0FB05dnZ2bFevXpUKpU8d+6c2J7x48czODiYWq2W58+fp7GxsY6RB8AHDx7keT1+fn6iIflcaLVajh07lvr6+jQ1NeXWrVs/qZwXL15QKpXqrPfcvn2bUqlUZw1syZIlVKvV7y3rjz/+oCAI/O233/Jdf1paGjt16kRBEOjj4yM+7/chO12bpaUlAwICGBcXRzKT1g1Ajvtx8uRJcYb3+vVrjh07lgBoYGBAQRBoZ2fHjh07MjAwkH/88Qft7Ox0olqzMHLseALg+NVbxXfMs0Jl6ukbUK5UUqk2ZPHyPpy374S4v23/IZTKZJn7/xoUTZo0iUqlklu2bKG9vb0483n9+rWY1qKnp0c7OzsGBQXxzJkzVKvVOjPq0qVL54hOnTlzJocMGcLly5ezcuXK4vb4+HjK5XIGBweTzDR8Mxb+rGO8l/1+kfpyOUctXSduGzjjJ5pZ27Db6Mks4ubBfffC+fRtZipE+/btOWrUKLGO48eP08rKSvzb2dlZHCC/i+TkZI4cOZLFixfPdX9oaCi9vLw4c+ZMcVtaWhoVCoU4c/2K/wb+c4YvJiaGKpWK27dvz3V/p06d2LBhwxzb+/Tpw+rVq5P82/BNmTJFpyMtV64cp06d+l7Dlx1xcXFs6d+e5WrU1jFs389dwsoNmrBt/yE5DF/WaHXRL+syeSj/iqrM/rOwsGCtWrU4adIkenp6imH3gYGBdHV1fW+bmjRpwjlz5oh/f8jwTZ06lV27ds3X9b4PGzdupLGxMfX19Tlx4sTPigr18vKim5ub+HdcXBw1Gg2rVaumc9yyZcs+aPjIzHtiYmLy0W26ceMGHRwcKJPJdGYJuSE7j2loaCg9PT3FmUbNmjVpamrKRo0a6ZyT3fBlQV9fnzt27OCVK1fYs2dPOjk5ifylSqWSI0eO5NOnT8Xj791/QEf3YjSxsMph+PpOmZ3p8rzznK37DaZTsRI6hi/r3cyaDW7fu59SqZRbtmyhn5+fWEdSUhJDQkKo1WrZpUsXtm7dmiYmJkxLS6Obmxs3bNhAknRzcxPTKLK7ip8/f04zMzP269cvR5Stp6enOLP29fXl99PnsceYKWz+bT+xrcXL++j8XbJSNTbr0Ze/BN2gRCrlrJ1HeezRK5JkqVKldAYYWWkib968YXx8PAHw1atXOm14+vQpjYyMKAgCZTIZ16xZo7N/+vTpVKlUBEBnZ+ccqSElS5bkvn37cnstvuJfin+9OsO7OHfuHJKTk9GiRYtc9x87dgxt2uQUZG3bti3OnDmDpKQkcVunTp2wdetWaLVa3L17F/Hx8fDx8flgG4KCgmBkZARDQ0Mc3r8Pt/31kgAATVZJREFUjbp8K+5LjI/D1oVz0G3khFzPPX/sMOQqFbSWRUTF8yyYm5ujXbt2mDBhAo4dO4a6devi1atXqFatGgDg1q1becqrAEBSUhIuXbqUQwS0Ro0asLa2RsuWLUVRzywUL14cN27c+OA154ULFy7A1dUVXbp0QaNGjfD27VtMmDBBFKv9WCxatAh3797F0aNHxW0+Pj5QKBQ5xIEFQchVJf5dbN++HSkpKejVq9dHtaVUqVJ4+vQpJkyYgIkTJ8LJyem9SgOdOnWCQqFAsWLF8PDhQyxfvhw//vgjTp06hRUrVuDIkSPQ19eHWq2GWq1Gw4YNERERIZ6fmpoKAwMDfPvtt6hevTp+++031KpVC1OnToVEIkFiYiJmzJgBR0dHaDQa1KpVC638/dF52BjI9PTEcsKePMLdy+dxfMdmAH+JnDZqjtA/H+Ta7nQSaRnEmXtPQAJ9+vSBr68vAKBKlSqwtrZGmTJlsGDBAhw8eBB79uxBdHQ01qxZgy5dumD9+vXYunUrQkNDdb6vLAQEBCAyMhJ//vknjIyMAGRyptaqVQvBwcEYMGAAjh8/DgBITtfCr21H/HFgD95GvgEAmFpaIf5tDIBMFfTbF86g+jctYGxugZKVquHUvh2ITU0HScTHx4t1ABD/HxcXJwoFvys07ODggJiYGLx58wZTp04VRYuzMHLkSMTFxeHq1avo3LmzTvlZ5X1VQf9v4T9n+CIjI2Fubp6nEvObN29ypcyysbFBRkYGoqKixG329vbw8PDA8ePHsX79enTu3DlfbahWrRrevn2L58+fo2n3PrC0+1v2ZctPs1CndTsdkdTsOLV3O6o2bIoibh5Yvnw5NBoNOnfuDCsrK0RHR8Pf3x+TJ0+GgYEBqlevjh9//FGUlclNHTw7+vTpg9KlS6N+/fritsDAQDx58gQhISGwtbXFN998oyN/86kfbVhYGKpVq4bKlSvD2toaT58+xaZNmyCXyz+6rCxERUVh6NChGD58ONq2bYuBAweiY8eOePjwIS5fvpzjmefXuMrlcqxcuRKrV6/GnTt3PrpdY8eORXh4OKysrFCqVCl06dIlTwmhAwcO4O7du3ByckK9evUwZ84cmJubo1WrVjAyMkKNGjVEMdQjR47AyspKPLd169YgCQcHB7x9+xY3btxAuXLlYGlpiRUrVkCj0WDlypWIjIzE6NGjMwVP9eUoW0NXv23V5NFQqP6W4UlLTcUfB3bDrbT3e68z8lUEMjK0iI2NhVSaqS139uxZxMTEQKPRYPjw4YiOjoZWq0WnTp1Qu3ZtdO7cGSdPnsSwYcNQqlQpODo6AsgUYFWr1ZDL5Th16hSATALz2NhYAED79u1RtmxZFCtWDJ06dULr1q2RkpKp3advIId3jVo4tXcHACAq4iXURsYAgMD9u2Dn6gbn4l4AgBpNWiLo4B5o09KQnkGo1WqxDgDi/w0NDUW+2LxU0E1NTUXR4nefryAIKFu2LBQKBSZM0B3UflVB/w/iC884PxpHjhyhVCrNM+rOysqKq1evzrH9999/p0QiYUJCgujqTEtLE1MAHBwc+PTpUx47dkx0dW7cuFEMCskuU5OF1HQtp289QOcSXtwVEsY5e36jfVF3br35JIc7aVdIGJefvESJRMKZOw5zd0gYY2LjqFarxdDqy5cvU6lU8ujRo9RqtQwJCWHRokV58OBBkpnBHO+6y7IwbNgwent7vzeSMz09nUqlkjdv3hS37dq166MkdZKSktihQwdKJBK6uLjw/Pnz+T73Q/Dx8aG9vT1jY2Opp6cnBvLktQa5atUqqlSqfJdfvnx5Ojk5fVYbd+zYQZVKRY1Go+PecnR0pCAIVKlUdHBwYN++fZmYmCgmtt+6dYve3t60tLQUz8nu6jx27Bjlcjl79+5Na2vrHPWuWbOGGo1GTOmIjY1l0aJFufT4Be4KCaOFrT3Hr94qutktbO0pkUioNNRQpqdPpdqQTbv1oZ1LUao0RrQq4kipTEaloUb8+dRtSIlUSn0DA50AD5JUKBTs3LkzO3XqxObNm3Pt2rXivqz0Eh8fH44aNUr8tmJiYujm5sZz584RABs3bswqVarw3r171NfXZ3h4OBUKBYODg1mtWjW6ubmJ7tlBsxfTs2IVLj95SWeNz9bJhfoGchqbW9DY3IKGxpmBQT/8vJoZGRls3749R48eLbbtxIkTOmt8rq6uDAoKyvP5Pn/+nAAYGRmZ6/4pU6awadOm4t9f1/j+m/jPGb6YmBgqlco8O8OOHTvmucaXpRuX3fDFx8fT0NBQzJ/Kbvg+hIyMDE7dtIdKtSF3hYSx26hJNFAoxI9SrlRS30AuGsYOgzPZNLL2W1lZUSaTsXnz5iQzO9V3I00HDRrE/v37k8zMUStatGiOdowfP56enp588+bNe9ubnp5OlUqlQw+W3zU+rVbLSZMm0cDAgEZGRty4ceMHz/kYrF+/XjQQJ06cENdUJBIJbWxsxAT17Fi9erUOm8uHEBERka/1ug8hJSWF/v7+FASBVatWZVRUFB0dHWllZaWjVxgUFESpVEpbW1suWbJEZJW5du0aSV3D98MPP7BGjRo8cuQIJRJJjgHXu4ZvyJAhHD9hopgramFrzx9+Xk0bRxeuOHWZFrb2dCtVlrtCwrjjbig7fD+SgiDhiMW/cPvtZ/TyqUKNiak4KNt87SEVKjVrt8yMxpXL5Xzz5g21Wi2vXbtGiUTCzp0709jYWDT8gYGB1Gq1tLOzEyONsxh10tLS2K9fP86bN0/83iZPnkyNRsPhw4fTw8ODI0aMEKM6+/fvT1tbW34/fR53hYTxx817qVCp6VzCi54VKnPH3VBO27KfEqmU8/ad4KrT18Vf9W9asFr9xiQzB8ZWVla8c+cOo6OjWatWLZ2ozoEDB+qkJOzatUtcv3z16hXbtGkjDgS1Wi2XLVvGqKgoZmRk8MKFC7S2tuZPP/0knn/mzJk8g2G+4t+L/5zhI/8Oud6zZw8TEhKYmprKw4cPc/jw4bx//z6NjIx0ojoXLlxIpVIpjvSyGz6SvHTpkki4/CHDt3HjRjG44MmTJyxZsTJ96jYUO4/sH2TTbr1ZqV5jrj57Sxyttu0/hKtOX+e2C7cYHh7Offv2UV9fn2/evOHDhw+pUql44sQJZmRk8OHDh3R1deXy5ctJZna45ubmOnlG06ZNY9GiRXPNkbt9+zavXbvG9PR0xsXFcdCgQXR3d9dh8qhbty63bdv23vu9bds2MaJv9OjRBUpnps3IYHRsHBVKJXv37k2S4qxBEATK5XI2bNgwR0ACmckE8zGGj8w09DKZjBEREZ/d9itXrtDOzo56eno0MTHJYfh69uxJiURCPT09qlQqkVRAX1+fRkZGVKlUVCgUJMlvv/2W/v7+TE5OJoAc7XvX8JUuXZpmZmbiIEoikVBPX59lq9cSDWGW4dsVEsay1WvRwtaeXYaP466QMLbp9z0lEimXnrjIXSFh/G7WImpMTLn99jMWL+8j5hmam5uzYsWKlEqldHR0ZPPmzTl8+HCqVCpWr16d0dHRYlBW1vEAaGpqyqJFizItLU383o4fP85jx47R2tqagiDQ19eXjx8/JkmOHj2aVlZWNDAwoFypor5cQQBsP/gHbrnxiLtCwljPvzN96jbKESU9e8dh6uvri7O0uXPn0tLSkoaGhuzatatOHt+tW7dYokQJMZVj4cKFdHJyolKppJWVFf39/cXZm1arZf369WliYkKVSkU3Nzf++OOPOmkg/fr10zGEX/HfwH/S8JGZBqhcuXLiC9uoUSMxjP/WrVts3LgxDQ0NqVKp6OvrqxPC/K7hy44PGb7Ro0fTzs6OSqWSdnZ2bB/QjRvO38k1dyq7q3P61gPU0zfg6rO3dMKvSbJEiRJctGgRyUwj4+npSbVaTTs7O44YMULH0AwbNkzM/yMpdjjZVc+zRrQnTpygu7u7mIjcrFkz3r9/Xzw3LCyMdnZ2eebxXblyhW5ubhQEgW3atMlXInh+kFui9Y67ofztUQSfxCTQ6C/3Vffu3d+rALFu3TrRcHwMnJycWL58+c+5BB2MGzdOnJ1mMcVkJXivWrWKtra2nDFjBtu2bcv69evT0tKSaWlp4owvKSmJQ4cOZbVq1ZiUlES5XK7jSiRzGr46depQqVTSQKHgt+N+pJGZOc2sbbj2r3fxXcNnYVckM1VCoaTSUEM9fQNKJBL+uHkfd4WEsVSV6mzQIYC7QsI4YuEq2tjYsFmzZiTJc+fOUaVScdy4cUxMTOSMGTOoUChoZGTEjIwMnjp1igqFguHh4bx48SIBsHTp0uIgIMvVmZWKsXv37hyzpAEDBnDAgAGi+vnsXUepNjIuUPXzLLRv375AmFsiIiJYrFixL8KG9BWfh696fJ8JbQZx+M+Ij1IH15MIaORq9Uk6Xq9fv0b16tVx7do1KBSKjz4/O4YOHQpXV1f069dPZ/urV6/Qtm1b/PHHH6hYsSK2b98OBweHz6orCx8S94RWi4SEeJQ21kcpN5f3lrVx40b06tULiYmJH9WGO3fuwMvLC/Xr19eJHv1UVKxYEc+ePUNkZCTS09PRrVs3+Pn5YejQodi9ezeqVq2KGzduYO7cubCyssKqVauwbt06qNVq1KpVK0d59vb2qF+/PlatWiVuW7t2LQYNGoS5c+fi22//jiJ+9jbx/9o787ia0j+Of+5t37u3RZsKSY29kawthErWGqTsjG0Qgyxjm599G/s+RhShhBDJmhhEWVLKUmnRqm57t+7z++NOZzpuEaEaz/v1uq9X5zzrObd7vud5nu/z+SIqXYCRlmYoKymBkqoqAECQkw2RSAQOhwM5BQWIRCJY9XGC54YdAIDj2zfibVICZm3Ygey3qZjSqzPkFZUgKy8PQgBBThakpaWRmpqK6OhoODk5oby8HEpKSmjbti1GjRrFOLuUlZVBXV0d8fHxEAqFaNasGTgcDrS1tQEABQUFKCwsRJMmTXDy5EnGSSgzM5Nx1rK2tsbIkSMxZcoU5BSXYeXO/Qg5eRS/H/b/4L2n0c8pn0Oj8+psaEhxOehuwIdULYN8SnH+yf+ZwSu1tLQQGxtbZ6MHAJs2bWKM3tixY7Fw4UKMGzcOurq6eP36NcaOHYvs7GyYm5vD2NgY48ePZ7ZD2Nrash7MgDiAq4GBAXP8fp6c4jKEvcmBUERQTggu+BzEfBcHDG9rjO0LPMWZpKSgpKqG10QROcVlNfY9JycHW7ZsQXFxMYyMjHD06FEmbfXq1cyWAWVlZSgoKIDL5SIrS+we37JlSygpKeHGjRsoKSlBXFwcBg0aBC0tLfD5fPTr1w/Pnz9ntffq1Ss4OztDRUUFmpqamD9/PpM2d+5cdO/eHfr6+liwYAGOHz+OqVOnYvLkyfDw8ICHhwfatm0LQBxVPjs7G87OzrC1tQURz7qAEIIBAwagU6dOMDAwQGRkJPLz87Fnzx4cPHgQY8eORceOHSXug76KAjgcYP+NB9h95S42Bl7GxsDLcB4zCV369sef4Y/h+/AFPDfsREJsNJLixdflPPZnWPYWe//eOBMAXePm2BYcho2Bl7HvwlWsW7cOCgoKOHbsGGxsbLB9+3bo6ekhIiICwcHBCAkJgbOzMwBAVlYW9vb2uHHjBoyNjSESiZCamoqoqCjcvXsXGhoaAIAHDx7AysoKpqam6NChA1asWIGSkhIEBgbi8ePHcHFxAQDwFWSR/ewhOtn0gnQNvytpDgcyXGr0KJ8HNXxfAL6CLHo25UOGy2m0P9QnT55gw4YNOHXqFPbv34/27dsjKioKR48eZbnWX7ly5bPqrxARhCfnoKLKKI+vrQOXqbPQy2WEZH7yT/4aRtLTp0+HjIwM5OTk4Ovri6lTpzJbFRYtWsRsGSgoKICXlxdsbW2ZyOlnzpxBly5dIC8vj+HDhyM3NxcDBw7E8+fPkZ6ejs6dO2PQoEFMW5WRw3v16oW3b98iOTkZHh4eTPrAgQNx7do1VFRUYMuWLcyeuxUrVkBKSgpbt25l8q5fv55llKtGc/f394eTkxOeP3+Ohw8fok2bNoiIiIC9vX2N97XyxUtRUQk8LW3mI6+oBFk5OajxxUbHqo8jBk+cjj/mTIXHj6aYPcAOkTevAgCunT4BB7cx4GlpQ0u7CbqYtcC8efOwePFieHt7AwDGjx+P0aNHw8rKCkZGRpCTk8O2bduYfkyePBlHjhwBIHb919HRgY6ODoyMjHDjxg0AQJMmTSArK/7f9/PzQ0REBHg8HhYsWAB/f39oaWkBAEpKSnAl5BJWz56ODjpqUJUVb2Op/GWpykqjg44anFo0aZC/JUrDh051fkEqRAQpBSWIyy6AoKwcHIhX/VVlpWGqoQx9ZfnPHulVJSYmBlOnTkVUVBT09fWxZs0aDBw4EGPHjoWSkhISEhJw8+ZN/PDDDzh69ChatGgBAIiNjcWMGTPw4MEDaGlp4X//+x9kZWUxadIkZGdnw8rKCuHh4bh69SoGDBiAuLg4Zg/h+9ja2sLDw4M17Xb9+nV4eHggOTlZIk/llFx105tHt6xD9ts0zFi7hXU+8nooTu3cgJSkJPzwww/Ys2cP2rVrh8LCQvB4PKxbtw6LFi1CcXExRo0aBX19faxdu5ZVByEELVq0wLJlyzBmzBgA4od48+bN0aVLF/Tt2xc3b95kRAIA8WhSQ0MDWVlZ0NDQwL59+3DkyBGEhYXV+J306dMHHh4eTBuAeHP/4MGDkZOTg/Xr12PWrFk1lq8kKysLPj4+mDNnDkaOHAlCCHx9fT9a7qNTyLWkLtPw3bt3x44dO6odmX4K27dvx5s3b7B+/XrmHCEE5SICaS4HnFrOrlAoNVH9LnDKZyHF5cBQVQGGqgpf7YcqFAoxYMAAjB8/HiEhIbh16xYGDRqEiIgIAOI36eDgYFhYWGDMmDFYvHgx/Pz8UFhYiD59+uD3339HcHAwAgICMHLkSFRUVGDIkCFQUFBAs2bNwOVyERoais6dO9do9D6HuJzCT3ogv3r2BNsWzcbKAz6YNrAPfHx8mFFZXFwcpKWloa+vz+Rv3749M7KoSlhYGDIyMphpNEA8unV0dIS9vT369OmDIUOGID09ndkQf/PmTejo6DBTdH///TeMjY3h6OiI+/fvo02bNti+fTszfQlUr4BjZWWFtLQ0LFy4EL/++it27tyJ8+fPo2XLljVet4WFBTIzMxmDZ2Hx4U3nlfAVZOHUokm1L161pa7T8OHh4Z9V7n1mzJghcY7D4UBGiho8ypeBTnV+JcQ/VO4Xfzv9+++/UVBQgAULFkBWVha9evWCs7Mzjh07BgAYMmQIOnfuDGlpabi7uyMqKgoAcO7cORgbG2PAgAFwcHCAm5sbeDweZs2ahVOnTkGmiuRVdnZ2teo37zNz5kyoq6szn8o1n/chhEBQVr3SSU1cPuGLvsNHQf+H9uByuRgzZgzk5OSY61dVVQWXy2Uky9TU1KpV5PD29oarqyuUlf9VMqmqgBMYGIj8/HxmNJacnIzp06dj8+bNTP7k5GT4+flh5syZSE1NRf/+/TFo0CCUlf27BvkhBZw1a9YgISEBioqKMDMzw9SpUyESiarNWzlVCgDS0tJwc3Or9T2rfPGyb6aFIaY6cDZpgiGmOrA11GjU0/AUypeGGr5GRmpqKpo2bcqS6zIyMkJKSgoAQEdHhzmvqKiIgoICAMDr169x+/ZtaGlp4erVq1BUVERxcTFKS0sl2tDQ0EBaWtpH+7Jt2zbk5uYyn3PnzlWbr1xEsHKSO9wtTOBuYYKbQac+WndmajLO/rUHoyzNwOPxoK6ujjdv3iA1NZWRpar6UiEQCCTk3IqKinDy5EnW9CMA8Hg8xkgqKipi586d2LVrF+7du4e+ffti2rRpLIOjoKCAHj16wNHREbKyspg7dy6ys7MRExPD5PmYbJWBgQGioqJw8OBBeHt7Q0tLq9r10qFDh2LEiBHgcDgQiUSstcZPoeqLV+VokK6XUShiqOFrZOjp6eHNmzesEUNSUhJr2u99Nm3ahKVLl4LD4WDv3r0QiUSM48fu3bsl8tvb2+PevXvMWl1dkeZy8Nt+X/g+fAHfhy9gPWDoR8to6ujBZcosHLkfi3fv3iE3NxdFRUVwc3ODqakpysvL8fbtWyb/o0ePJMS5AwMDwefzYWtryzrfrl07xMXFMccTJkyAmZkZrK2tMXDgQCxevFgi/8dG7jExMWjfvv1Hr2vMmDHIyclBt27d0KdPH/Tp04d5Oalkx44djCfqh6ZFP4WaRoP2zbRgqKrwRdaeKZTGAjV8jQwrKysoKipi/fr1EAqFuH79OoKCgjBihKRn5J07d5CWloYFCxZg0qRJ0NfXh4KCAoRCIYRCIe7fv88atVRSde3rwYMHKC8vZ7nWfyocDocZaVSlorwcZaUlEFVUQCSqQFlpCSr+EQe2/8kdIX6HkfJMvG5WWFiI8+fPIz8/H0pKShg6dCiOHz8OkUiE8PBwnDlzRkJk3NvbG6NHj5YwWk5OTqz1QIFAAFlZWZSVlTF7z6ri4eGBv//+G6GhoYznpqamJszNzQGIvRAfPHiAPn361Op+yMvLIygoCGFhYXj8+DE0NTWxa9cuJl1BQQErV64Ubw0gBMIKUa2iUNSWrzUNT6E0Guph0zyljjx9+pRYW1sTVVVVYm5uTk6dOkUIIUx07OjoaNK6dWsCgMjLyzPC1bGxscTJyYloamoSPp9P7OzsGN3IqpG1CRHLoy1dupS0aNGCKCoqEkNDQzJhwgRGrs3GxoZREank/fhyVfP8HfuS+DyIk1C2wXuxCIdNn8OkL9vvS9p1tCBqampER0eHuLq6EoFAQAgRR623srIiAEjTpk2Jr68vqy/JyclESkqq2liEZWVlpGnTpkzk7UOHDjFakwAYBZyqce8CAgJIixYtiIqKCrGxsSFPnz5l0k6cOEGGDBnyCd/gv1RUVJDZs2cTLpdLzMzMyKtXr0h5hYg8f5tNjkfEkoDYVEaP8/KrDJKYW/hJKiUUCkUSup3hP0ROTg5GjhyJkJAQtG/fHidOnPhiU2V1xcTUFMuPBkFRRbXWZT7mWn/u3Dm4uLhUu075Mfbt24dnz55hy5YtrPMGBgYwNjbGrVu3al2XlZUV/vzzT7Rp0+aT+1FJUlISnJycIJSWw+/eJzGiQwvsuBQOXaNmrHzSHA44HKC7Qd0cUb7U1oOgoCD4+Pjg+PHjdaqHQvmW0KnO/wDl5eWYNm0atLW18eTJE1y6dAmRkZENxugtW7YMia9fo6ue+hdVuKnq1fmp/Pzzz9iyZQv8/PxgZWUFJSUlaGtrg8fjITw8HKdOncLYsWPB4XBw7949ptyLFy8kpgiXLFmC8ePHQ0lJCRoaGnB3d6/V+ujDhw9hbW0NZWVlWFpawn3sOKw+ehoy8jWr8pQTgrIKEWYuWgqDpoZQVVXFiBEjWDHoACA0NBQWFhZQUlKCgYEBTpw4waQFBQVBRUWFMXp+fn5o1aoV1NTUoK2tjTFjxrDqy8nJwZAhQ6CkpCShkjNgwABER0fj8ePHH71eCqWhQA1fI2f79u1QU1PD4cOHsWXLFqSkpNR6relb8ObNG6xatQpr165FC70mX1Thpq5rVJs2bcKsWbMwb948vH37Funp6Th8+DCMjIwwevRoiEQi8Pl8/PbbbzXW4e/vj5EjR8LT0xNZWVmIjo6GnJwcevTogXfv3tVYLisrCw4ODpg8eTKys7PxPC4eaq0twZH6+Nba66dP4toZf/zuG4g3ySkoLi5m7X179uwZRo4ciVWrVrFUdyrZs2cPaz20e/fuCA8PR15eHl69eoXy8nLWNU+fPh2ysrJIT0+XUMkBxEFl9+3b99F+UygNhnqeaqV8JhcvXiS6urpESkqKTJs2rcbAvPWNubk5MTMzY50rrxCRxLwiJjoDaw0rr6jWa1gXL14kMjIyn9WvyriO/v7+EmlCoZCoqKgQY2NjMnv2bNKkSRNy/fp1Qggh8fHxpPJnIxKJiKGhIVm3bh2rfEVFBWndujVZsmRJje0vXLiQeHh4MMeJuYXkzPM0Zn0TABm/6HeibWBIVNR5ZOD4KeTks2QSEJtKuvTtT0bN+42J8hEeHk7k5OSY6Blubm7kt99+q7bd0tJSIi8vT968eVNten5+Phk1ahQT07KgoIDIyMiQ58+fM3k8PDxYMe5u3bpV5wC/FMq3hI74GhlxcXHo0KEDHB0d0b59e2RlZWHnzp2Qlm54IjxbtmxBXFwcLl26xDr/pVzr6zLVeefOHZSWlla7T05aWho+Pj5ISEhAbm4uFi1aJLHFAQCeP3+OpKQk/PTTTxL9cnFxweXLl2ts/++//wafz0e3bt2gra2N4UOHIC3lDSvP3dCLWO8fjA2nLuH+lRBcDTj2byIRC33HZReAEILS0lLEx8czdQNA27ZtoaurCw8PD+Tk5AAA4uPjweVyWWLiAHDr1i2oqalBRUUFAQEB8PT0BABGJcfU1JTJ2759e9aIz9zcHAkJCRLTrRRKQ4UavkaCQCCAs7MzzMzMIBKJEB0djeDg4A9umq5PsrKyMG/ePHh5eX0wpFFdXOurbuL/nP5pamqyXhi6desGdXV1KCgoQF1dnQmjM3nyZCQlJSE4OFiiDgDVqtzo6uoy6dWRnJwMb29vbN26FYmJieDrGeCPX9nhoYZMmg4VdR609AzgPGYibp0/AwDo2NMWoSePISP5DdKyc7Bu3ToAYMIzJScn48iRIwgICEB8fDxrKrSqak1VevTogby8PCQnJ2PevHkwNjYGAEYlpyrvq+RU1leTcg2F0tCghq+BIxKJMGvWLGhoaCAiIgLnzp3D48ePmT1kDRVHR0fo6elh1apVX62NuqzxVYpQl5f/K6V2+/Zt5ObmQkNDAyKRCL1790ZRURGWLl2KJUuWYMmSJaw6KiMrVKdyk5aWxqRXDZM0ZcoUAOK9ekOGDIGlpSWkZeUwfPocPI+MQGH+v6MmDR095m8tPQPkZIg37PdycUOP/oOwdLQLPJ3tYG1jCwDMKE5BQQHjxo2DqakplJWVsWjRIly4cAEAW7WmOvT19eHg4MDsC61UyanK+yo5lfU11JcwCuV9qOFrwOzduxdqamrYv38/1q1bh7dv38LJyam+u/VRDh06hIcPH36RIK8foi4jvq5du0JOTg5nzpypMY+MjAzs7e2xceNG9O7dG7m5uTh16l+5tVatWsHAwAAnT55klROJRAgICEDv3r0BsMMk7dmzBwBbDUaaywGpxohnv01l/s5MSwFfWyxHx+VyMWLmPOy5eg/7rt1HK9OW0NfXZ9R73leaqfq3iYkJCCGMxF11lJeX4+XLlwDAqORUTqMCkio5MTExMDY2lhgZUigNFWr4GiBXr16FgYEBpk+fDjc3NwgEAsyZM6e+u1UrCgoKMGXKFEyZMuWrj0rrssanrq6OZcuWYdq0afD390d+fj5EIhGioqJQWFjI5LO0tISpqSkGDhyIFStWMNOKgNigbNy4EStXrsTRo0dRUlKCt2/fYuLEiRAIBJg9e3aN7Y8bNw6BgYGIiopCeXk5zu7dBvMfO0Opyj7HM3/uRkFeLrLSUnD+8AF0cxwIAMjPfYe3SQkghODBjVAMGjQIffv2ZV4Exo0bh7/++guvXr1CUVER1q5dW23Q2Ep8fX2RlJQEAEhMTMTixYsZo12pkrN06VIUFhZWq5Jz48YNODo6ftb3QKHUC/XqWkNh8fLlS2JhYUE4HA6xt7cnmZmZ9d2lT8bGxoZoa2uTioqKr95WWFgYkZKSqlMdPj4+xNLSkigoKBBNTU3SuXNnsnfvXlJaWsqo2SQkJBAul0t27tzJKOJU5fTp06RTp05EUVGR8Hg8MmLECJKUlPTRtnft2kX09PSIuro66d3PkRy4HlGtV6eyGo8MGDuZnIh+QwJiU8n24DCiZ9ycyMrLE32DpqRLly6Ey+WSDh06MGo0S5cuJZqamkRTU5N4eHiQnJwcpt1z584RBwcH5njRokVEX1+fKCoqEn19fTJp0iSSlZXFpGdnZ5NBgwYRRUXFalVy2rRpQ6Kioj7r/lMo9QFVbmkAFBQUYNSoUThz5gzMzMxw/PhxVqy3xsKpU6fg6uqKu3fvwtLS8qu3Fx4eDhsbG9Y63ddizpw52LVrF7Kyslghjr4UFSKCCy/TIawh4nx1VFW2ef78OZydnfH69WvMnz8fq1ev/mDZL6nccuTIEdYGeQqloUMNXz0iEong5eWFLVu2gMfjYf/+/Z8dhqa+KS0thYaGBgYPHgwfH59v0uadO3fQs2fPb2L4RCIRdHV10aZNm2rDCX0JcorLEPYmBxW1+ElKcarf5L9lyxbMnz8fmpqaOHPmzDd5AaFQGht0ja+eOHjwIHg8Hnbs2IGVK1ciIyOj0Ro9AHB1dYWMjAwOHz78zdqsyxrf57R15swZXLt2TWJbw5eCryBbZ2UbT09PZGRkwNTUFFZWVnB1dWUFzKVQKNTwfXNu3boFIyMjTJo0CS4uLsjLy4OXl1d9d6tOXLlyBefPn0dAQECdPC0/lW/ZFgB06dIFQ4YMgZub21cbZX6JoLHq6uq4fv06zp07h9DQUPD5fCoiTaFUgU51fiMSExPx008/ISIiAjY2Njh+/Hi1sd8aG+Xl5dDU1ISNjc0HtwZ8DR48eIDOnTujoqLim7VZVlYGPp8PV1dXHDp06Ku3RwhBuYhAmsv5rH2LFRUVmDhxIry9vWFhYYELFy78J/7vKJS6QEd8n0htAoM+fPgQ/fr1Q3l5OYqKivDTTz+hWbNmyMvLw4MHD3Dt2rX/zMNn7NixKC8vl9jL9i341iM+QLwd4ODBgzh8+DCePHny1dura9BYKSkp/PXXX3jy5AlycnKgp6eH5cuXf9lOUiiNDDriqwUVIoKU/GLE5RRCUFYODsRRU1VlpWHKV4K+yr/6kiUlJTAzM0NKSgrs7Oxw/fp1qKqqYs+ePXB1da3X6/jS3L9/H1ZWVjh16hQGDx78zdt/9OgRLCwsvumIr5KuXbsiJSWF2f/WWFi7di2WLFkCHR0dBAUFoUOHDvXdJQrlm0NHfB8hp7gMF16mIypdAEGZeF2n8k1BUFaOqHQBLrxMR06x2IFg/vz5SE1NRXl5OS5fvoz58+cjMzOTMXocDgcvXrxg6r906dIXMxouLi5fzfHifUQiEZydnWFjY1MvRg/4ts4t73P+/HmkpaU1utHTggULkJ6eDkNDQ1hYWHzV9UoKpaHSYAyfsbExQkNDAYh1DidMmABdXV2oqKjAzMwMy5YtYxQ1zpw5gw4dOkBVVRWampro1asXXr9+zarv9evX4HK5mDp1aq3a9/Pzg7m5OZSUlNCiRQuEhYUx7uXBx30wuU9XuFuY4H8TRyIn/S1TrpwQCEUEYW9ycPDYcWzfvh1CoRCAeJqptLT0g9NUixcvxoIFCwAAGRkZcHNzg56eHtTU1NC9e3fcvXuXyVtV81FZWRkKCgrgcrmMGLKXl9cHY8d9SWbMmIG8vDwEBQV9k/aqo67x+OoCn8/HqlWrsHLlSrx9+/bjBRoQfD4f4eHhCAwMxPnz58Hj8RAQEABAvGa7e/fuehlFUyjfjPrZNy+JkZERuXz5MsnOziZGRkbEzc2NvH79mhBCSFJSEpk5cyZ59OgRiY+PJ6qqqiQ0NJSIRCIiEAiIv78/SUxMZNW3fPlywufzCY/HIyUlJR9sOyQkhBgaGpI7d+6QiooKkpycTBKT3pCzcWlkhbc/UeVrkD+CrhG/xwmk74jR5IdOXRiFjaqfQ39HExVVNdK2bVtibW1NnJ2dyY4dO1htASDx8fGEEELu3btHTExMmLSXL1+STZs2kdTUVFJeXk727t1LNDQ0SH5+frX9XrZsGbGzs2OdMzExIffv36/VPf9cnj59SrhcLjl06NBXbedjREdHEw6HU699aN68OenYsWO99qEuCIVC4u7uTjgcDunSpQtZvHgxAUB27tz5wXIVIhEpK68gIlHtYidSKA2JBmf4Fi9eTNq0aVOj5NXJkydJ+/btP1iXSCQizZs3J7t27SLa2trk5MmTH8zftWtXcuDAAda5ysCgA8dNJg4jxzDGbf+Nh+IHQ8htEhCbSvwevyYDx00mmrp6RE1Dk7iPm0CKioqYetavX090dHSIrq4u+fPPP1mGb8WKFWTChAkf7JuKigqJiIio9hqbNWsmYXwmTpxIli9f/sE664qhoSHp1KnTV22jNsTExNS74YuNjW0QLwF15dGjR0RPT49APJNPlJWVSXp6OitPeYWIJOYWVh9AOLew1gGEKZT6psFMdVYSGhqKoUOH1uixZ2FhgdjYWMyePRvXrl1DQUGBRJ5bt24hOTkZI0aMwLBhw+Dt7V1jexUVFYiIiEBmZiZMTExgYGCAX375BU9Ss1D+z/pR1WUk8s8KX1J8LADAZ9NqpCa8wsbAy9h56TZeJr7B77//DgC4ePEiNm7ciMuXLyM+Pp6Zyq3kyZMnaNWqVY19i4qKQllZGUxMTCTSwsLCkJGRARcXF9Z5c3NzPHr0qMY668rixYuRlpb2zdYSP0R9eHW+T6tWrfDzzz9jypQpTDy8xkjbtm3RsmVL5rhSRq+ST13r/hIsXLgQW7Zs+SJ1de7cmRU8l/J9U/9PjvfIzs6uNrBnJc2bN8f169eRkpKCYcOGQVNTE2PHjmUZQG9vbzg6OoLH42HkyJG4ePEiMjIyqq0vPT0dQqEQ/v7+CAsLQ1RUFCIjI3Fw6yYAQIeedrgdfBYJz5+htKQYJ3f+AQ6Hg9LiYhBCcPmED8YtXAEVdR4UlJUxcNIv8PPzAwCcOHEC48aNQ5s2baCkpCThCFFTUFBAHPNs1KhRWLZsGdTU1CTSvb294erqKqEbqaKi8tUCgiYmJmLt2rXYsGEDE2uuPmkIhg8Adu7cCUVFRYlI7LWh6tp2Je87QAHA8uXL4eHhwRwLBAJ4enrC0NAQysrKaNGiBTw9PZn13vfr9fPzA4/Hw4oVK6Ctrc0KkltaWgozMzNER0dDTk4OUlJS4HA4CAkJwYwZM/Cr10KYGBliWAcTeA62R6EgDwCQFBeL3ye4YWyX1hjUSpdZ637f+MXHx0NeXp7VfwA4evQojIyMoKSkhMGDBzNR4gEgMzMThw8fxuTJkwEAz549Q6dOncDj8cDj8WBvb49nz56xrmHKlClo0qQJ+Hw+BgwYwAq9NHfuXCxdurQW3wjle6BhPDmqoKGhUW1gz6p06dIFJ06cQGZmJsLCwnDz5k0m4GlxcTFOnjwJd3d3AGK3c0NDQxw9ehSAOEBqpXOIr68vFBQUAIidNXR1daGpqYmZnp6IvCnWY2zfzRrDZ8zFhpmTMLW3FbT1m0JBSRkaOnoQ5GSjtLgY81wcMMrSDKMszbBykjsyMzMBAKmpqWjatCnTbyMjI9Z11BQUtLi4GAMGDECXLl2wcOFCifSioiKcPHkSY8aMkUjLz8//agFB+/XrBzMzM8yaNeur1P+p1KdX5/v9CAgIQHBwMK5du/bV2ysrK0Pv3r0RHR2NixcvQiAQ4M6dO9DQ0MC9e/ck8nt7e2P69Ok4f/48li1bhgEDBrC+w5UrV0JfXx8ZGRkoKSlBbm4unj9/jk2bNuFCcDAu37iJ1X5B8HkQh5nrtkNGTg4AICUtjW6OAzBt1SamrgpCEJ6cg4oqYtvTp0+X0AyNjo7G5MmTceTIEaSnp0NRURHTpv0bgf7QoUNwcnJifp96enrw9/dHTk4OsrKyMHDgQCZYLgBs3boVd+7cwePHj5Gamgoej8dEnQeAgQMH4tq1a43OEYnydWhwhs/e3h6BgYEQiUS1ym9paYmhQ4fi6dOnAIDAwEAIBAJMmzYNOjo60NHRQUpKCjPdGRwczAQFdXd3B4/Hg4GBActDUPq9kYSj+zjsvBSOg+GP0aWvEyoqymHYshVUeHzIystjy7lrOHI/VvyJeM4YM11dXbx584ap5/09X+3atUNcXBzrXGlpKQYPHgwDAwPs3bu32msODAwEn8+Hra2tRFpMTAzat29fq3v3KWzYsAEvXrzApUuXvnjdn0tDGfEBgK2tLRwdHeHq6lrr/93P5fDhw0hKSkJgYCB++OEHcLlcaGtrY8mSJRKBivfu3Ytff/0Vly5dQrdu3QAAmzdvxvXr13H+/Hk8ffoUO3bswIEDB5jfgLKyMlq2bIlx48bh7du3mL5yE7T1xb8RQ1MzyMrJAwD0m5vA3nUkmpqwp+sJAVIKSgCIR5rq6upMfL9KfH19MWDAAFhbW0NZWRn/+9//cOrUKea3ExwcDBsbGya/uro6jI2NweFwQAiBlJQUa1T8+vVr9OvXD02aNIG8vDyGDx/OmtqUl5fHjz/+2KD+fyn1R8N5cvzDnDlzIBAIMGbMGCQmJgIAUlJSMGfOHDx+/Bi3bt3C/v37manL2NhYnD17Fl26dAEgfrsdP348njx5gqioKERFRSE8PByPHj2qUWlj3Lhx2L59OzIyMvDu3Tts2bIF3Xr3AwCUlZYgKS4WhBBkpiZjz9L56D9qIpTV1MHlcmH/kzv+WrMcedniqaOynEyEhIQAAIYNG4ZDhw7h2bNnKCoqwooVK1jtOjk5sQKCCoVCuLq6QkFBAd7e3jU+2L29vTF69Ohq3fm/RlDQjIwMLFq0CL/99hsMDAy+aN11oT63M1RHQEAAiouLWSOXr0FoaCgcHBw+Gh5p9+7dWLp0Ka5cuYJOnTox59XU1LBnzx5MmTIF48ePx7Jly9C8eXOJ8k+ePAGHK4VbF4MwoUd7/NKvB4J9//po/8oJQVx2AQQCAZYuXYrNmzdL5ImOjma9oLVo0QKysrLMi2BN69/q6uqQl5fHjBkzsGjRIub8hAkTEB4ejtTUVBQVFcHX11fid/C1178pjYcGZ/j4fD5u374NGRkZWFlZQUVFBb1794aamhpMTEygrq6Os2fPom3btlBWVoaDgwOGDBmC+fPnIyUlBVeuXIGnpycz2tPR0cGPP/4IBweHGp1clixZwkTaNjc3R8eOHbH0t8WQ5nAgLC3FH3Onw93CBAuG9Ydphx8xYtZ8puyouYuha2iMBcOd4fGjKX4bOwzPnz8HIJ5W9fT0RK9evWBiYoJevXqx2rWwsICamhqzV+/27ds4d+4cQkJCoK6uzkzJhoWFMWVSUlJw9epVjB49WuI67t+/D2VlZXTu3LnO30NVHBwcYGBg0OA2azekER8gHlXs3r0b+/fvZ/4HvgYfWwev5PLly+jSpUu1sR0rp9JFIhFmzpxZbfk3b96gMF+A1IRX2BX6N+Zu24cTOzbhUfiNavNXRVBWjt9++w0TJkyo9mWpoKBAYu1aTU2NGfHVtP6dm5uLvLw8iViCLVu2RNOmTaGvrw9VVVXExMRIrOl9zfVvSuNCur47UElCQgLzt56eHg4ePFhtvjZt2tS4aVpfX79GFYoLFy7U2LaMjAx27dqFXbt2MecqRATPBelQUlXDH2drjr8mKycP9zkL4T5nISswaCULFixgNqgDwPjx41nlV61ahTVr1uD06dOwsbH56JrVh65x7dq1WLly5QfLfyoHDhzAo0ePWI4EDYWGZvgAYMyYMdi6dSucnJzw8uXLz6pDSkqKEUGoRCgUQkZGBkDt1sEB8Yhv5cqVmDhxIv7880+JEXLr1q0hJyfH3MeqI8hnz55BVl48pfnTtDmQk1eAcasf0N1pEB7evIr23W3wIRJiniL0yhVERUZWm66srAyBQMA6JxAIGGNX0/o3ACgpKWHKlCnQ0tJCTEwMtLW1MX36dJSWliI7OxtKSkpYv349HB0dWQIQX3P9m9K4aHhPjgaCFJeD7gZ8SNVyOk2K809+7qdNv/Xt2xenT5/+jB5KEhAQILHGUxcEAgGmT5+OGTNmfHDbRX3REA0fIH7JSkxMxPr16z+rvKGhIetFEBCvYVU6R9nb2+PSpUuMklFNNGnSBFeuXEFYWFitpl8r174LCgpgaGiIjv9MRVb9CdR2evnpvTtITEiAoaEhdHR0sHHjRgQEBMDCwgKA2OhWnXZ89eoVSktLYWpqCqD69e+qiEQiFBUVMZ6bUVFRGDt2LPh8PuTk5DBjxgzcu3eP5b36tda/KY2PhvnkaCB8icCgjZn+/fuDz+dXu0bTEGiohk9HRwdLlizB4sWLWQ/emhAKhSgpKWE+w4cPx8qVK5GcnAyRSITQ0FAEBQUxeq+jRo1C06ZN4eLigtjYWIhEImRnZ2P16tUSMxt6enq4cuUKLl68iNmzZ3/SdZiYmKCtZRcE7NkGYVkpkl/G49aFM/jR1h6AOGRSWWkJyv8ZnZaVlkBYVgoAGOoxBi9fvmTW2adMmYL+/fszziXu7u4ICgpCWFgYCgsLsXTpUgwdOpQZ8b2//n358mVERkaioqICAoEAc+bMAY/Hg7m5OQCxk9vhw4eRl5cHoVCIXbt2QU9Pj9l2U1JSggcPHqBPnz6fdA8o/00a5pOjAfElAoM2Jvz9/XH37l2cOHEC4eHhOH/+fIM1MA21XwCwbNky6OrqwtnZ+aN5K932Kz9lZWXo1q0bevToAR6Ph/nz58PX1xdt2rQBAMjJySE0NBRmZmbo06cPVFVV0blzZ2RlZcHKykqifkNDQ1y9ehX+/v7Vbo/5EAe8jyArNRlju7TGqsmj4DZzPtp17QkAyExJhlv75vB0tgUAuLVvjhkOPSHN4aCdgTZrnV1ZWRny8vLQ0tICIB7x7dmzB+7u7tDW1kZ+fj5rqWH06NG4cOECiouLAYjX9tzc3KCmpoYWLVrg5cuXuHjxIuT/mY7duHEj5OXl0bJlS2hpaeHChQsIDAxk6gsKCoKtrS309PQ+6fop/01oWKJPhNQxMGhDx9TUFK9evQKHw8Hw4cPh4+NT312qkezsbGhqajaIvXzV8fTpU7Rr1w5+fn4YNmxYfXfns6gQEVx4mQ6hqPb3uLq17s9h0aJF0NbWhqenZ53qAQArKyv8+eefzMsD5fuGGj4KC1VVVcapQFtbG+fOnZPYfNxQePfuHfh8foM1fIA4UG/lxmtZ2cY5K1AZpaSiFvdZivPfnPan/LdouHNFlG9OaWkpI/0mJSUFgUAgEe6pIdGQpzorOXjwIKSlpVkqI42N732tm/Lfo+E/OShfDREhEFaImBFTQkICCCHgcrkYOHAgXrx40aCn6BqD4eNyuTh27BhOnz6NO3fu1Hd3Ppvvba2b8t+GTnV+Z1SICFLyixGXUwhBWTk4EKvsq8pK42FIEJbNnoEL58/Bzs6uvrv6UYqKiqCkpNSgpzorsbe3x5MnT5CWltYoDPbH+K+vdVP+2zT+XyCl1nwstEyzbr1x7GEc2nfpXue2unfvjsgaNi9/Cunp6TA3N0dpaalEWmMyIKdPn0ZeXh5+/fVXREREfLFwO/UFh8OBjBSXGj1Ko6TxPDkaCcbGxlBQUICysjJ4PB769+/PEqoGxCFmOBwOS1UCEKvu//rrrzAwMICysjKMjY1ZHm1V6678/PLLLzX2JSEhAXZ2dlBUVETLVq2w4/hpCEWEiTPI9GfsMLiY6QFcLkQcbrWhZapCCIGXlxc0NDSgoaEBLy8v1qgrKCgIKioqjKSUt7c3fvzxR6iqqsLAwADz589nqc8kJCTAyckJPB4POjo6+OWXX5j0Jk2awM7ODvv27ZPoR2MyfMrKyli3bh22bt2Kbt26YdmyZfXdJQrlu6XxPDkaEUFBQSgoKEBaWhqaNGnCCo9CCMHhw4fB5/Nx+PBhVrk1a9YgIiIC9+7dQ35+Pq5fv84oXbxfd+Vnx44dNfbDzc0NHTt2REZmFlxnzMO6mZOQl5PNynMz6BTKy9nyWNWFlqnKvn37cPr0aTx69AiPHz9GUFAQK5LEnj17WEFMi4qKsGXLFmRlZeHu3bu4cuUKNm7cyKRPmzYN2traSEtLQ1RUFG7cuMHa0+Xu7l5tpIrGZPgiIiKY0FlCoRAFBQUSsmQUCuXb0HieHI0QeXl5uLq6snQuw8LCkJaWhm3btsHPzw9lZf+OrO7fv48hQ4ZAT08PHA4HxsbG1YpR14a4uDg8fPgQK1asQE450LWvM4xMzfB3yHkmT2G+ACd2bMboub9JlH/zIh62ve3B5/PRqlUrnDhxgknz9vZmRqb6+vr49ddfcejQIQDiUevVq1dZIWWmTp2Knj17QlZWFvr6+nB3d0d4eDiT/vr1awwbNgzy8vLQ0dGBg4MDK6SMlZUVXr16xUTrqKQxGb6KigoA4s3nACAtLU1jw1Eo9UTjeXI0QoqKinD8+HEmZBIgNhoDBgxgvCWrCm536dIFmzdvxq5du/DkyZM6OW1ER0ejefPmUFFRQVxOIcoJgVGrH/Am/t+oAUf/WIN+bqOhrqnNKltSVISl44fDynEQMjIy4Ofnh2nTpjEG/P2QMu3bt2cMVXx8PLhc7gfDF928eROtW7dmjj09PeHn58doLwYHB8PBwYFJl5aWhomJCUvb0dLSEtra4n7zeDyWUn9DxMrKCgkJCfjll18gLS2NsrIyVgSH9z1sKRTK14Mavq/A4MGDoa6uDjU1NVy+fBnz5s0D8G/k9JEjR0JGRgaurq6s6c6FCxfCy8sLvr6+6NSpE/T19SVCKVXWXfnZv39/tX2oDPtCCGEcWRRVVFH8j7DxiyePEPvwPpw8xkuUfXD9MrT1m6LboJ8gJSWFjh07wsXFBSdPnmTVXYmamhoKCgpACKkxnEwlBw8eREREBObOncucs7a2RnR0NLMG2KlTJwwePJhV7v2QMs2bN2eO8/LyGqSI9vsoKipiw4YNiI6OhqKiIg55eyMprwihrzNxOu4tzr1IR2DcW4S+zkRSXlGNU80UCqVuUMP3FTh9+jRyc3NRUlKCHTt2wMbGBm/fvkVgYCCkpaWZCAru7u4IDg5GZmYmAPGm8enTpyM8PBy5ublYvHgxxo8fj5iYGIm6Kz+TJk0CINY+rBq/rzLsS7mIMPutigvyoaCkBJFIhP2/L8T4Rf+DlLRkZKrM1GTEP47EKEsz8Hg8qKurw9fXl5maez+kjEAggLKyMjgczgfDyZw+fRoLFy5EcHAwIx4sEong4OCAoUOHorCwEFlZWXj37h28vLxYZd8PKbN69WomTI+srCyzftZQCQwMRNOmTaGsrIzCwkI8jInDgLkravSwjUoX4MLL9A86GQFfznv28ePHTIR2CuU/D6F8UYyMjMjly5dZ5zQ1NcnJkydJnz59iIyMDGnSpAlp0qQJ0dbWJgDIli1baqxPQ0OD+Pv711h3TTx//pzIycmRvLw8EhCbSgJiU4l5Jyvy8/K15PC9GMLhcIi6phZR19Qiqjw+AUDUNbXI/3wCiefGnaRdt54kIDaViEQiibq7du1K9u3bxxz/+eefxMrKihBCSGlpKVFQUCDJycmsMsHBwURTU5PcvXuXdT4zM5MAILm5ucy5wMBA0rp1a+ZYKBQSBQUFkpCQwCrr5uZGAJDBgwfX6p5Uh5GREZGXlydKSkpEW1ubjBkzhuTn5xMbGxsiJydHlJSUiIaGBhkyZAhJTU2tsZ7nz58TV1dXoqGhQVRVVUnbtm3Jpk2bSHl5OSGEkObNm5PTp08TQgjJLiolWvoGRFZOnsgrKhFFFVXSqsOP5Ofla8nJZ8nM9+Ufk0KGTJxOeHw+4fP5ZP78+azv4+zZs6Rfv37M8bFjx4ipqSlRVVUlWlpaZPTo0SQvL4/Vz2PHjhEzMzOiqKhImjdvTm7evMmkOTo6krNnz372vaRQGgvU8H1hqhonkUhETp8+TaSkpMitW7cIl8slly5dImlpaczHy8uLWFhYEEII+eOPP8i1a9dIUVEREQqF5NChQ0RWVpa8fPlSou7aYGVlRX799VdyPiaJzN/+J1FUUSUHbz8h/jEp5EBYFPNZd/ICAUD23XhA/B4nEJ+IOKKpp0/mb9pBysrKSFlZGbl37x559uwZIYSQ3bt3EzMzM5KcnExSUlLIDz/8QHbv3s20O2DAAOLr68scX7lyhfD5fHLjxo1q+9msWTOyZs0aIhQKybt378jgwYOJm5sbkx4eHk7Mzc0lyr169YoAII8ePar1PXmfqvc0OTmZtG7dmnh5eREbGxuyf/9+Qggh2dnZxM7OjgwfPrzaOl68eEHU1dXJ7NmzGeMYGxtL3NzcyLt37wghhEhJSZH4+HhSXiEiZ+PSiJaeAVl60I8ExKaSw/djyYJdfxFt/abEbsgwxvBNXr6O6Bk3JwdvPiCJSW+Iubk56z47OTkRHx8f5jgpKYlkZmYSQgjJz88nI0eOJDNmzGDSQ0JCiKGhIblz5w6pqKggycnJrBcUHx8f0r9//8++lxRKY4Eavi9M1RGEsrIyad26NfHx8SFr1qxhDFxVUlJSiLS0NHny5AnZu3cvsbCwIKqqqkRNTY1YWlqSoKCgauuu/HxotPP69WvxyEVenugZt2AetO9/dofeJQDIiadJzLmdwWHErm8/oqmpSfh8PrGzsyORkZGEELFBnzdvHuHxeITH45F58+axRiLnzp0jDg4OzLGtrS2RkpJi9btqemRkJLGxsSHq6upEQ0OD/PTTT+Tt27dM+rRp08jWrVurvUY1dXVSWFJS7ci0Nrz/MjF37lzSv39/luEjhJAdO3awRqFVcXd3J05OTtWmlZSUECUlJQKAKCoqEkPjZuTMc7bhq/ysPXGecDgc8sfZqyQgNpW06vAjmbxiPTnzPI0k5hWRAwcOsEbW8vLy5M2bN9W2m5+fT0aNGkUcHR2Zc127diUHDhyo8V4kJycTeXl5UlJSUvMNo1D+A1DJsu+A+ggt0717d+zYsaPO3pYZGRmwsbFBZGQkE3uNLbsmBAccRnbNlK8EfRWFWvfb2NgYBw4cgL29Pd68ecOsN4aFhcHDwwMTJ05EVlYWhg0bBn19fRw5ckSiDh0dHaxZswbjxo2rsR0Oh4P4+HgkSKlBUFaOKb06Y+rKjWjfzZqVb7JdJwz5eQYc3MZgVKdWWPLnMZi2t4CqrDTUsxNhZ2eH/Px8REdHo3PnzhJR2G/duoX+/ftDIBBAUVERgYGB6Nu3LyoqKqCgoIDff/8dBw4cQElJCQYPHowNGzZAQUGBKa+qqopbt26hXbt2tbp/FEpjhDq3fAdIcTnobsCHVC3lpaQ4/+SvQzy18PDwL7LFQFtbGzExMYzRk5Rd43yWU0hVKj1le/ToARsbG1haWuLp06eYOXMm1NXV0b59e+jq6tYYiT47Oxu6urrVprm4uCA4OBgAWB62NcHT1kFBXi4AoKSoEIr/eMgKysqhqqr6Ue/ZHj16IC8vD8nJyZg3bx6MjY0BiKXfhEIh/P39ERYWhqioKERGRmLlypWs8u97z1Io/0Wo4ftO+JTQMhF+B+A+dBArrWXLlnB0dJQ45+fnB6BmGbZDhw6hR48eAMCSWuNyuSz5NV9fX1a5srIyuLq6wtjYGBwOB9evX2fiwglFBHl5udjuNQvjurXFuG5tcXy7WAmmnBAIRQQainJQUlJi6q/0CPX19WX1IykpCYWFhbhy5QoSExOxa9cu/P777zA0NMS2bduQm5sLU1NThISEoEWLFjA0NGT67ejoiLS0NEhJSWHEiBHgcDhISEhgXYeXlxd++00sEFDVw7YmctLToKwm7qu8ohKK/wkTxQHwLjevVt6zAKCvrw8HBwcmHFLlqG7GjBnQ1dWFpqYm5syZgwsXLrDKve89S6H8F6GG7zuitqFlHHrb4fbt24zaSFpaGoRCISIjI1nnXrx4AWtr6w/KsFWlqtSaoaEhS37N3d1dIn+PHj3g4+MDHR0dVIj+kVH7Z2b+rzXLUFpSjD1X7mLdiQu4cTYAVwP8WOU3nwlFniAfBQUFzCjG3d2d1Q8+nw8dHR1GGu7+/fvIy8uDqqoqU8/WrVuRlpYGgUCAkydPQlpaGvHx8QgODgaXy0W7du1YG/Kr0rlzZ2brhzT339Fpdbx4EoWc9Lcwt+gMAGhqYoqEWLFoAAHw9Mljph0TExMQQpCSklJjfeXl5Xj58iUA8SZ/AwMDlqj0+wLTKSkpKCsraxR7IimUukAN33eGFJcDQ1UF2DfTwhBTHTibNMEQUx3YN9OCoap4bczS0hJCoRBRUVEAxDJrdnZ2aNWqFetcixYtoKen90EZts9FVlYWnp6e6NGjB6SkpJBVVIqqq9ER1y5j8MRpkFNQhLZBU/R2ccPVU2zDBwKkFJR8sJ2CggL06dOHMQLBwcEsuTUAaNeuHaT/2e/I4XAgFAoZ4fEmTZrg2LFjzF7Lyj2ZL168gIeHB3Jzc2Fra8uUrXzhqEpRQT4irl3G5jlTYT3QBUatzAEANoN/QtChvchOT0PZuyxs3rwZY8eOZe6Pvb09bty4wdTj6+uLpKQkAEBiYiIWL16M3r17M+njxo3D9u3bkZGRgXfv3uGPP/6As7Mzk37jxg306tWLkVWjUP6rUMP3HVNTaBlZWVlYWVnh5s2bAMQSYz179kSPHj1Y56ytxY4ZH5Jh+1Ik55dIRJWo6pdFQJBURY4NEE97xmUX1FhnYmIiSktL0adPH+bckydPqh3xODs7Q15eHlZWVrC1tUWnTp2YtBYtWiAsLAwA0LdvX6ipqcHFxQWdOnWCiooKzM3NmbymfCVmqnnt1LFwt2iJybadELBnGwaM/RnTV//B5O07fBQ62fXBnIG9McXRBv3798fkyZOZ9MmTJ7OcbZ49e4Zu3bpBSUkJ3bt3R6tWrVjKPkuWLIGlpSVMTU1hbm6Ojh07YvHixUy6r68vpkyZUuP9olD+K0i+flIoAGxsbHDz5k3Mnj0bYWFhmDVrFvT09LB3717m3Jw5cxgZtsOHD7Nk2FxcXL5ofwqFFazjjj3tELh/B2as2Yrc7ExcDfBDaXExK8+8of3A4XIhw+Vg9OjR2LZtGyv98OHDsLGxYUWSqHQauX79OivvuXPnIBQKERoaipiYGAmB7EpjGRkZyTiUVKKiogI7OzuYmJigQkTwKEOAPVfvffSaORwORs9bggleS6v1sO3fvz9Wr16NyMhIdOzYEatWrfqggo2MjAx27drFinxRyePHj5GTk4OBAwd+tF8USmOHjvgo1WJtbY1bt24hJycHmZmZaNmyJbp164bbt28jJycHT58+hbW19Udl2GpDUlISy+GkOt53Chm/+H+QlZPHLw7dsXb6OPToPxgaOmzPyg2nLsHnfiwys3MkjB4gNnxjxoxhnfuQ04iMjAwcHR0REhKCs2fP1vr6qjqMfGkP2y/lPduuXTvcuXOnzvVQKI0BOuKjVEvXrl2Rl5eH/fv3o3t3cUR2VVVV6OnpYf/+/dDT00OzZs0wefJkxlkFEE8/CoVCHD16FLNmzapVW4aGhigoqHlKEoCEU4iKOg+eG3cyx76b18CkbYdqy0lXYzTCw8ORmpoKV1dX1vl27dohLi7ug32p6jRSG2JiYljRLCo9bMOTc0AIJKZwAbGHLYcDdDfgg68gW+u2KBTKx6EjPkq1KCgooFOnTti8eTN69uzJnO/Rowc2b94Ma2trpKSk4MqVKzh37hyioqIQFRWFR48ewcvL64PenbWltLQUJSVi5xRZVKCstIRZ13ublID8dzmoqKjAw5tXcfmED1ynekrUoSorLbGGCYjXJV1cXCT2wjk5ObEcRmJjYxEcHIzi4mIIhUL4+Pjg5s2bLAeYkpISlJaWSvS5khs3bkhsBamthy01ehTKl4eO+Cg1YmNjgzt37jD78ACgZ8+e2LFjB6ytrXHkyBF06NABffv2ZZWbOXMmNm3ahKdPn9ap/VatWjHBZxeOGQ4A2B16F9oGTfEy+jH+Wr0Mhfl50DNujlkbdsKwJdspRZrDgamG5NRpSUkJTpw4gYCAAIk0CwsLqKmp4e7du7CysgIhBMuXL8ezZ88gJSWFli1b4vjx48z2BwAs5RMzMzMA/zre3L9/H8rKyujcubNEW5UetoaqCiCEoFxEIM3lVGuoKRTKl4NKllEaBd9Sdi0kJAS7du3C6dOnP7GXkri4uGDChAnMGiiFQql/qOGjNBoqlVsqavEvK8XhoGdTuj5GoVAkoYaP0qjIKS6jTiEUCqVOUMNHaXRUiAhSCkoQl10AQVk5OMC/0Rk0lKGvLF8ngW0KhfLfhho+SqOGOoVQKJRPhRo+CoVCoXxX0H18FAqFQvmuoIaPQqFQKN8V1PBRKBQK5buCGj4KhUKhfFdQw0ehUCiU7wpq+CgUCoXyXUENH4VCoVC+K6jho1AoFMp3BTV8FAqFQvmuoIaPQqFQKN8V1PBRKBQK5buCGj4KhUKhfFdQw0ehUCiU7wpq+CgUCoXyXUENH4VCoVC+K6jho1AoFMp3BTV8FAqFQvmuoIaPQqFQKN8V1PBRKBQK5buCGj4KhUKhfFdQw0ehUCiU7wpq+CgUCoXyXfF/3VCitePSJjEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "45" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCx2 = CCx.bypairs(\n", + " CCx.filter_pairs(onein=f\"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}\")\n", + ")\n", + "ArbGraph.from_cc(CCx2).plot()\n", + "len(CCx2)" + ] + }, + { + "cell_type": "markdown", + "id": "4f0cb652-b27c-4210-aa53-dd86665429de", + "metadata": {}, + "source": [ + "### Carbon" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6db0700b-9542-4ec4-8242-e9dad39958a2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ArbGraph.from_cc(CCc1).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "3a6a4aea-cf79-4e59-8f83-11f51e7c82de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(70, 21)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1), len(CCc1.tokens())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "97d9d897-8038-4e66-8ac7-56b2a04f3ea1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('WETH-6Cc2', 38),\n", + " ('USDC-eB48', 31),\n", + " ('BNT-FF1C', 20),\n", + " ('vBNT-7f94', 10),\n", + " ('USDT-1ec7', 10),\n", + " ('DAI-1d0F', 5),\n", + " ('WBTC-C599', 4),\n", + " ('LINK-86CA', 3),\n", + " ('PEPE-1933', 2),\n", + " ('0x0-1AD5', 2),\n", + " ('stETH-fE84', 2),\n", + " ('CRV-cd52', 2),\n", + " ('MATIC-eBB0', 2),\n", + " ('ARB-4ad1', 2),\n", + " ('rETH-6393', 1),\n", + " ('TSUKA-69eD', 1),\n", + " ('RPL-A51f', 1),\n", + " ('XCHF-fc08', 1),\n", + " ('LYXe-be6D', 1),\n", + " ('LBR-aCcA', 1),\n", + " ('SMT-7173', 1)]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCc1.token_count()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c721f8aa-6d74-4c11-a6d4-adacf1c9043d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(26,\n", + " {'0x0-1AD5/WETH-6Cc2',\n", + " 'ARB-4ad1/MATIC-eBB0',\n", + " 'BNT-FF1C/USDC-eB48',\n", + " 'CRV-cd52/USDC-eB48',\n", + " 'DAI-1d0F/USDC-eB48',\n", + " 'DAI-1d0F/USDT-1ec7',\n", + " 'LBR-aCcA/WETH-6Cc2',\n", + " 'LINK-86CA/USDC-eB48',\n", + " 'LINK-86CA/USDT-1ec7',\n", + " 'LYXe-be6D/USDC-eB48',\n", + " 'PEPE-1933/WETH-6Cc2',\n", + " 'RPL-A51f/XCHF-fc08',\n", + " 'SMT-7173/WETH-6Cc2',\n", + " 'TSUKA-69eD/USDC-eB48',\n", + " 'USDT-1ec7/USDC-eB48',\n", + " 'WBTC-C599/USDC-eB48',\n", + " 'WBTC-C599/USDT-1ec7',\n", + " 'WBTC-C599/WETH-6Cc2',\n", + " 'WETH-6Cc2/BNT-FF1C',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " 'WETH-6Cc2/USDT-1ec7',\n", + " 'rETH-6393/WETH-6Cc2',\n", + " 'stETH-fE84/WETH-6Cc2',\n", + " 'vBNT-7f94/BNT-FF1C',\n", + " 'vBNT-7f94/USDC-eB48'})" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1.pairs()), CCc1.pairs()" + ] + }, + { + "cell_type": "markdown", + "id": "d156dc87", + "metadata": {}, + "source": [ + "### Token subsets" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "eeaedcf0-b3a8-48fc-9802-5d99640eee26", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48DAI-1d0FWETH-6Cc2WBTC-C599BNT-FF1C
3571214.455968-1216.41934
594943.826762-0.512606
183-48.8639060.00175
624-10733.80657124578.315452
656-0.87049555566.320623
.....................
21f3ea686abd44c6b7829e488a01aa746780944.55249-6780334.136658
PRICE1.000581.01.0001791842.6722827604.1434720.429078
AMMIn2905472.5834059856630.3974956845674.127426331.4316427.424195192904.817736
AMMOut-2905472.583439-9861236.407637-6845674.127441-331.431642-7.424195-192904.81774
TOTAL NET-0.000035-4606.010142-0.000015-0.0-0.0-0.000004
\n", + "

90 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48 \\\n", + "357 1214.455968 -1216.41934 \n", + "594 \n", + "183 -48.863906 \n", + "624 \n", + "656 \n", + "... ... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 6780944.55249 \n", + "PRICE 1.00058 1.0 \n", + "AMMIn 2905472.583405 9856630.397495 \n", + "AMMOut -2905472.583439 -9861236.407637 \n", + "TOTAL NET -0.000035 -4606.010142 \n", + "\n", + " DAI-1d0F WETH-6Cc2 WBTC-C599 \\\n", + "357 \n", + "594 943.826762 -0.512606 \n", + "183 0.00175 \n", + "624 -10733.806571 \n", + "656 -0.870495 \n", + "... ... ... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 -6780334.136658 \n", + "PRICE 1.000179 1842.67228 27604.143472 \n", + "AMMIn 6845674.127426 331.431642 7.424195 \n", + "AMMOut -6845674.127441 -331.431642 -7.424195 \n", + "TOTAL NET -0.000015 -0.0 -0.0 \n", + "\n", + " BNT-FF1C \n", + "357 \n", + "594 \n", + "183 \n", + "624 24578.315452 \n", + "656 55566.320623 \n", + "... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 \n", + "PRICE 0.429078 \n", + "AMMIn 192904.817736 \n", + "AMMOut -192904.81774 \n", + "TOTAL NET -0.000004 \n", + "\n", + "[90 rows x 6 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "O = MargPOptimizer(CCm.bypairs(\n", + " CCm.filter_pairs(bothin=f\"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}\")\n", + "))\n", + "r = O.margp_optimizer(f\"{T.USDC}\", params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "6b464dce-72bb-4e3e-8727-184f089cd026", + "metadata": {}, + "outputs": [], + "source": [ + "#r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna(\"\").to_excel(\"ti.xlsx\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "e2607921-01b9-48ad-8af5-296b26c7e643", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ArbGraph.from_r(r).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "696cb5a1-882f-43f2-807a-63f25b1e7075", + "metadata": {}, + "outputs": [], + "source": [ + "#O.CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "d1556dbf-efa9-4c32-97f2-249ff77b9879", + "metadata": {}, + "source": [ + "## ABC Tests" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "84927e7a-3062-472a-b2c8-8fa2e0bfa345", + "metadata": {}, + "outputs": [], + "source": [ + "assert raises(OptimizerBase).startswith(\"Can't instantiate abstract class\")\n", + "assert raises(OptimizerBase.OptimizerResult).startswith(\"Can't instantiate abstract class\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "53f36478-2060-4357-a624-db573502fd12", + "metadata": {}, + "outputs": [], + "source": [ + "assert raises(CPCArbOptimizer).startswith(\"Can't instantiate abstract class\")\n", + "assert raises(CPCArbOptimizer.OptimizerResult).startswith(\"Can't instantiate abstract class\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "053c284c-22cb-4440-9818-f529f344cdb3", + "metadata": {}, + "outputs": [], + "source": [ + "assert not raises(MargPOptimizer, CCm)\n", + "assert not raises(SimpleOptimizer, CCm)\n", + "assert not raises(ConvexOptimizer, CCm)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ab2853bb-da5c-4d2f-a54c-8092af810937", + "metadata": {}, + "outputs": [], + "source": [ + "assert MargPOptimizer(CCm).kind == \"margp\"\n", + "assert SimpleOptimizer(CCm).kind == \"simple\"\n", + "assert ConvexOptimizer(CCm).kind == \"convex\"" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "77bc5aa7-2e50-444d-9c21-ecb3a703d9fa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "CPCArbOptimizer.MargpOptimizerResult(result=None, time=0, method='margp', targettkn=None, p_optimal_t=None, dtokens_t=None, tokens_t=None, errormsg='err')" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CPCArbOptimizer.MargpOptimizerResult(None, time=0,errormsg=\"err\", optimizer=None)" + ] + }, + { + "cell_type": "markdown", + "id": "52ff8672-c720-49cc-b7e6-24d98ca88b0e", + "metadata": {}, + "source": [ + "## General and Specific Tests" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "4ec895b2-4ed6-404f-af16-b6c48603461b", + "metadata": {}, + "outputs": [], + "source": [ + "CA = CAm" + ] + }, + { + "cell_type": "markdown", + "id": "0cc54af2-560a-48ab-922b-0b2beab20aca", + "metadata": {}, + "source": [ + "### General tests" + ] + }, + { + "cell_type": "markdown", + "id": "fe86a889-f197-483b-b4c8-3bbc0a95d549", + "metadata": {}, + "source": [ + "#### General data integrity (should ALWAYS hold)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "5a565cec-f8c7-4d2a-9097-c60b62c88d06", + "metadata": {}, + "outputs": [], + "source": [ + "assert len(pairs0) > 2500\n", + "assert len(pairs) > 2500\n", + "assert len(pairs0) > len(pairs)\n", + "assert len(pairsc) > 10\n", + "assert len(CCm.tokens()) > 2000\n", + "assert len(CCm)>4000\n", + "assert len(CCm.filter_pairs(onein=f\"{T.ETH}\")) > 1900 # ETH pairs\n", + "assert len(CCm.filter_pairs(onein=f\"{T.USDC}\")) > 300 # USDC pairs\n", + "assert len(CCm.filter_pairs(onein=f\"{T.USDT}\")) > 190 # USDT pairs\n", + "assert len(CCm.filter_pairs(onein=f\"{T.DAI}\")) > 50 # DAI pairs\n", + "assert len(CCm.filter_pairs(onein=f\"{T.WBTC}\")) > 30 # WBTC pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "676999fb-9bab-4add-85cf-1de62201e059", + "metadata": {}, + "outputs": [], + "source": [ + "xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0}\n", + "yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0}\n", + "assert len(xis0) == 0 # set loglevel debug to see removal of curves\n", + "assert len(yis0) == 0" + ] + }, + { + "cell_type": "markdown", + "id": "9ef125fd-2a6b-4e2a-a7c7-d01631373825", + "metadata": {}, + "source": [ + "#### Data integrity" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a6d7e44b-38fc-419f-bd55-c81e4dd71b42", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "assert len(CCm) == 4155\n", + "assert len(CCu3) == 1411\n", + "assert len(CCu2) == 2177\n", + "assert len(CCs2) == 236\n", + "assert len(CCm.tokens()) == 2233\n", + "assert len(CCm.pairs()) == 2834\n", + "assert len(CCm.pairs(standardize=False)) == 2864" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "316f952e-ee28-47c8-80d5-2e12e7663c97", + "metadata": {}, + "outputs": [], + "source": [ + "assert CA.pairs() == CCm.pairs(standardize=True)\n", + "assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P(\"exchange\")==\"carbon_v1\"}\n", + "assert CA.tokens() == CCm.tokens()" + ] + }, + { + "cell_type": "markdown", + "id": "66d79379-e42f-4598-a457-de513e9a1608", + "metadata": {}, + "source": [ + "#### prices" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "38634d40-f1dd-4ef7-9a1d-7cee6cb752ea", + "metadata": {}, + "outputs": [], + "source": [ + "r1 = CCc1.prices(result=CCc1.PR_TUPLE)\n", + "r2 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False)\n", + "r3 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False, inclpair=False)\n", + "assert isinstance(r1, tuple)\n", + "assert isinstance(r2, tuple)\n", + "assert isinstance(r3, tuple)\n", + "assert len(r1) == len(r2)\n", + "assert len(r1) == len(r3)\n", + "assert len(r1[0]) == 3\n", + "assert isinstance(r1[0][0], str)\n", + "assert isinstance(r1[0][1], float)\n", + "assert len(r1[0][2].split(\"/\"))==2" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "a8fb4a51-e8fe-4c16-aa15-1eb7bcbcf319", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(('1701411834604692317316873037158841057334-0',\n", + " 1700.000169864341,\n", + " 'WETH-6Cc2/USDC-eB48'),\n", + " ('1701411834604692317316873037158841057334-1',\n", + " 0.0005000000499999988,\n", + " 'USDC-eB48/WETH-6Cc2'))" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r2[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "cea1c980-fa6b-4a99-824b-c8790581b57a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1700.000169864341, 0.0005000000499999988)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r3[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "2b66ba57-f327-4f0f-8b0f-9498e64068b7", + "metadata": {}, + "outputs": [], + "source": [ + "r1a = CCc1.prices(result=CCc1.PR_DICT)\n", + "r2a = CCc1.prices(result=CCc1.PR_DICT, primary=False)\n", + "r3a = CCc1.prices(result=CCc1.PR_DICT, primary=False, inclpair=False)\n", + "assert isinstance(r1a, dict)\n", + "assert isinstance(r2a, dict)\n", + "assert isinstance(r3a, dict)\n", + "assert len(r1a) == len(r1)\n", + "assert len(r1a) == len(r2a)\n", + "assert len(r1a) == len(r3a)\n", + "assert list(r1a.keys()) == list(x[0] for x in r1)\n", + "assert r1a.keys() == r2a.keys()\n", + "assert r1a.keys() == r3a.keys()\n", + "assert set(len(x) for x in r1a.values()) == {2}, \"all records must be of of length 2\"\n", + "assert set(type(x[0]) for x in r1a.values()) == {float}, \"all records must have first type float\"\n", + "assert set(type(x[1]) for x in r1a.values()) == {str}, \"all records must have second type str\"\n", + "assert tuple(r3a.values()) == r3" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "e5f29ad8-cc82-4c8d-98ba-85aa673713fe", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricepair
cid
1701411834604692317316873037158841057334-01700.000170WETH-6Cc2/USDC-eB48
1701411834604692317316873037158841057334-10.000500USDC-eB48/WETH-6Cc2
4423670769972200025023869896612986748966-11.000000BNT-FF1C/vBNT-7f94
1701411834604692317316873037158841057343-10.000503USDC-eB48/WETH-6Cc2
1361129467683753853853498429727072845828-00.999000USDC-eB48/DAI-1d0F
.........
9527906273786276976974489008089509920820-10.000034USDT-1ec7/WBTC-C599
6125082604576892342340742933771827806240-00.663550MATIC-eBB0/ARB-4ad1
6125082604576892342340742933771827806240-11.428571ARB-4ad1/MATIC-eBB0
10208471007628153903901238222953046343738-112500.000000WETH-6Cc2/SMT-7173
8847341539944400050047739793225973497903-10.129032USDC-eB48/LINK-86CA
\n", + "

70 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " price pair\n", + "cid \n", + "1701411834604692317316873037158841057334-0 1700.000170 WETH-6Cc2/USDC-eB48\n", + "1701411834604692317316873037158841057334-1 0.000500 USDC-eB48/WETH-6Cc2\n", + "4423670769972200025023869896612986748966-1 1.000000 BNT-FF1C/vBNT-7f94\n", + "1701411834604692317316873037158841057343-1 0.000503 USDC-eB48/WETH-6Cc2\n", + "1361129467683753853853498429727072845828-0 0.999000 USDC-eB48/DAI-1d0F\n", + "... ... ...\n", + "9527906273786276976974489008089509920820-1 0.000034 USDT-1ec7/WBTC-C599\n", + "6125082604576892342340742933771827806240-0 0.663550 MATIC-eBB0/ARB-4ad1\n", + "6125082604576892342340742933771827806240-1 1.428571 ARB-4ad1/MATIC-eBB0\n", + "10208471007628153903901238222953046343738-1 12500.000000 WETH-6Cc2/SMT-7173\n", + "8847341539944400050047739793225973497903-1 0.129032 USDC-eB48/LINK-86CA\n", + "\n", + "[70 rows x 2 columns]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = CCc1.prices(result=CCc1.PR_DF, primary=False)\n", + "assert len(df) == len(r1)\n", + "assert tuple(df.index) == tuple(x[0] for x in r1)\n", + "assert tuple(df[\"price\"]) == r3\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "802db17b-fda4-4564-8ea9-ed03600c8aaf", + "metadata": {}, + "source": [ + "#### more prices" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "06b3e72f-5632-414d-8e79-657e23dade0b", + "metadata": {}, + "outputs": [], + "source": [ + "CCt = CCm.bypairs(f\"{T.USDC}/{T.ETH}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "310f3313-3993-4c97-ab59-8378f3326c1c", + "metadata": {}, + "outputs": [], + "source": [ + "r = CCt.prices(result=CCt.PR_TUPLE)\n", + "assert isinstance(r, tuple)\n", + "assert len(r) == len(CCt)\n", + "assert r[0] == ('6c988ffdc9e74acd97ccfb16dd65c110', 1833.9007005259564, 'WETH-6Cc2/USDC-eB48')\n", + "assert CCt.prices() == CCt.prices(result=CCt.PR_DICT)\n", + "r = CCt.prices(result=CCt.PR_DICT)\n", + "assert len(r) == len(CCt)\n", + "assert isinstance(r, dict)\n", + "assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (1833.9007005259564, 'WETH-6Cc2/USDC-eB48')\n", + "df = CCt.prices(result=CCt.PR_DF)\n", + "assert len(df) == len(CCt)\n", + "assert tuple(df.loc[\"1701411834604692317316873037158841057339-0\"]) == (1799.9999997028303, 'WETH-6Cc2/USDC-eB48')" + ] + }, + { + "cell_type": "markdown", + "id": "f2fc19b6-1083-4ec4-baaa-96313d4e841d", + "metadata": {}, + "source": [ + "#### price_ranges" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "aa404e85-085d-4915-8c6c-e49ceae13c01", + "metadata": {}, + "outputs": [], + "source": [ + "CCt = CCm.bypairs(f\"{T.USDC}/{T.ETH}\")\n", + "CAt = CPCAnalyzer(CCt)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "ec5069f3-74a5-4563-94ca-3bdf2f87ad88", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
bsp_minp_maxp_marg
pairexchcid
WETH/USDCcarbon_v141057306-0b1404.9998591405.0001401405.000140
41057334-0b1699.9998301700.0001701700.000170
41057331-0b1700.0000001800.0000001800.000000
41057339-0b1700.0000001800.0000001800.000000
uniswap_v3593bs1829.9191211866.8840731832.243200
sushiswap_v216dd65c110bsNaNNaN1833.900701
803bsNaNNaN1838.745520
uniswap_v2c60c551073bsNaNNaN1840.159506
255bsNaNNaN1840.773969
uniswap_v3a176b13aa0bs1833.5824391844.6164501841.729378
7708cee9b5bs1829.9191211866.8840731843.002859
346bs1846.4618971848.3091901848.191535
carbon_v141057337-0b1600.0000001850.0000001850.000000
41057292-0b1850.0000001853.4088181853.408818
41057353-0b1853.9998141854.0001851854.000185
41057296-0b1929.9998071929.9998071929.999807
41057299-1s1940.0000002000.0000001940.000000
41057296-1s1949.9998051950.0001951949.999805
41057343-1s1989.9998011990.0001991989.999801
41057334-1s1999.9998002000.0002001999.999800
41057292-1s2000.0000002050.0000002000.000000
41057353-1s2047.9997952048.0002052047.999795
41057285-1s2099.9997902100.0002102099.999790
41057315-1s2300.0000002400.0000002300.000000
\n", + "
" + ], + "text/plain": [ + " b s p_min p_max p_marg\n", + "pair exch cid \n", + "WETH/USDC carbon_v1 41057306-0 b 1404.999859 1405.000140 1405.000140\n", + " 41057334-0 b 1699.999830 1700.000170 1700.000170\n", + " 41057331-0 b 1700.000000 1800.000000 1800.000000\n", + " 41057339-0 b 1700.000000 1800.000000 1800.000000\n", + " uniswap_v3 593 b s 1829.919121 1866.884073 1832.243200\n", + " sushiswap_v2 16dd65c110 b s NaN NaN 1833.900701\n", + " 803 b s NaN NaN 1838.745520\n", + " uniswap_v2 c60c551073 b s NaN NaN 1840.159506\n", + " 255 b s NaN NaN 1840.773969\n", + " uniswap_v3 a176b13aa0 b s 1833.582439 1844.616450 1841.729378\n", + " 7708cee9b5 b s 1829.919121 1866.884073 1843.002859\n", + " 346 b s 1846.461897 1848.309190 1848.191535\n", + " carbon_v1 41057337-0 b 1600.000000 1850.000000 1850.000000\n", + " 41057292-0 b 1850.000000 1853.408818 1853.408818\n", + " 41057353-0 b 1853.999814 1854.000185 1854.000185\n", + " 41057296-0 b 1929.999807 1929.999807 1929.999807\n", + " 41057299-1 s 1940.000000 2000.000000 1940.000000\n", + " 41057296-1 s 1949.999805 1950.000195 1949.999805\n", + " 41057343-1 s 1989.999801 1990.000199 1989.999801\n", + " 41057334-1 s 1999.999800 2000.000200 1999.999800\n", + " 41057292-1 s 2000.000000 2050.000000 2000.000000\n", + " 41057353-1 s 2047.999795 2048.000205 2047.999795\n", + " 41057285-1 s 2099.999790 2100.000210 2099.999790\n", + " 41057315-1 s 2300.000000 2400.000000 2300.000000" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r = CAt.price_ranges(result=CAt.PR_TUPLE)\n", + "assert len(r) == len(CCt)\n", + "assert r[0] == (\n", + " 'WETH/USDC',\n", + " '16dd65c110',\n", + " 'sushiswap_v2',\n", + " 'b',\n", + " 's',\n", + " None,\n", + " None,\n", + " 1833.9007005259564\n", + ")\n", + "assert r[1] == (\n", + " 'WETH/USDC',\n", + " '41057334-0',\n", + " 'carbon_v1',\n", + " 'b',\n", + " '',\n", + " 1699.999829864358,\n", + " 1700.000169864341,\n", + " 1700.000169864341\n", + ")\n", + "r = CAt.price_ranges(result=CAt.PR_TUPLE, short=False)\n", + "assert r[0] == (\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " '6c988ffdc9e74acd97ccfb16dd65c110',\n", + " 'sushiswap_v2',\n", + " 'b',\n", + " 's',\n", + " None,\n", + " None,\n", + " 1833.9007005259564\n", + ")\n", + "r = CAt.price_ranges(result=CAt.PR_DICT)\n", + "assert len(r) == len(CCt)\n", + "assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (\n", + " 'WETH/USDC',\n", + " '16dd65c110',\n", + " 'sushiswap_v2',\n", + " 'b',\n", + " 's',\n", + " None,\n", + " None,\n", + " 1833.9007005259564\n", + ")\n", + "df = CAt.price_ranges(result=CAt.PR_DF)\n", + "assert len(df) == len(CCt)\n", + "assert tuple(df.index.names) == ('pair', 'exch', 'cid')\n", + "assert tuple(df.columns) == ('b', 's', 'p_min', 'p_max', 'p_marg')\n", + "assert set(df[\"p_marg\"]) == set(x[-1] for x in CAt.price_ranges(result=CCt.PR_TUPLE))\n", + "for p1, p2 in zip(df[\"p_marg\"], df[\"p_marg\"][1:]):\n", + " assert p2 >= p1\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "bc8a2d1c-34cb-43c3-9b03-f67f8307bf51", + "metadata": {}, + "source": [ + "#### count_by_pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "fe2fd598-26e0-4a33-a1b5-49d3e693005f", + "metadata": {}, + "outputs": [], + "source": [ + "assert len(CA.count_by_pairs()) == len(CA.pairs())\n", + "assert sum(CA.count_by_pairs()[\"count\"])==len(CA.CC)\n", + "assert np.all(CA.count_by_pairs() == CA.count_by_pairs(asdf=True))\n", + "assert len(CA.count_by_pairs()) == len(CA.count_by_pairs(asdf=False))\n", + "assert type(CA.count_by_pairs()).__name__ == \"DataFrame\"\n", + "assert type(CA.count_by_pairs(asdf=False)).__name__ == \"list\"\n", + "assert type(CA.count_by_pairs(asdf=False)[0]).__name__ == \"tuple\"\n", + "for i in range(10):\n", + " assert len(CA.count_by_pairs(minn=i)) >= len(CA.count_by_pairs(minn=i)), f\"failed {i}\"" + ] + }, + { + "cell_type": "markdown", + "id": "2781b5ba-c516-415c-aaf0-d0b9acedbffb", + "metadata": {}, + "source": [ + "#### count_by_tokens" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "544b1056-92c5-4669-be07-9d82f5e10017", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
totalcarbuni3uni2sushi
token
WETH-6Cc22487387641571111
USDC-eB486943133426363
USDT-1ec74141016221128
BNT-FF1C28320020
DAI-1d0F1425445436
..................
JBX-6f6610100
anonUSD-1eFd10100
AGOV-280c10100
MOVE-324C10100
PANDA-00DC10100
\n", + "

2233 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " total carb uni3 uni2 sushi\n", + "token \n", + "WETH-6Cc2 2487 38 764 1571 111\n", + "USDC-eB48 694 31 334 263 63\n", + "USDT-1ec7 414 10 162 211 28\n", + "BNT-FF1C 283 20 0 2 0\n", + "DAI-1d0F 142 5 44 54 36\n", + "... ... ... ... ... ...\n", + "JBX-6f66 1 0 1 0 0\n", + "anonUSD-1eFd 1 0 1 0 0\n", + "AGOV-280c 1 0 1 0 0\n", + "MOVE-324C 1 0 1 0 0\n", + "PANDA-00DC 1 0 1 0 0\n", + "\n", + "[2233 rows x 5 columns]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r = CA.count_by_tokens()\n", + "assert len(r) == len(CA.tokens())\n", + "assert sum(r[\"total\"]) == 2*len(CA.CC)\n", + "assert tuple(r[\"total\"]) == tuple(x[1] for x in CA.CC.token_count())\n", + "for ix, row in r[:10].iterrows():\n", + " assert row[0] >= sum(row[1:]), f\"failed at {ix} {tuple(row)}\"\n", + "CA.count_by_tokens()" + ] + }, + { + "cell_type": "markdown", + "id": "081a2f67-293d-489b-8563-e971dd987408", + "metadata": {}, + "source": [ + "#### pool_arbitrage_statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "d53f665d-79d3-4da0-90e1-8aa37ef27673", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
pairexchangecid0
0x0/WETHcarbon_v1132277-00.0000131.342084e+04bbuy-0x0 @ 0.00 WETH per 0x0
132277-10.0000153.597323e+02xssell-0x0 @ 0.00 WETH per 0x0
uniswap_v2551118da0.0000332.602200e+07xbsbuy-sell-0x0 @ 0.00 WETH per 0x0
ARB/MATICcarbon_v1806240-11.4285711.418060e+02bbuy-ARB @ 1.43 MATIC per ARB
806240-01.5070451.276054e+01ssell-ARB @ 1.51 MATIC per ARB
...........................
vBNT/BNTcarbon_v1748966-11.0000001.089256e+03ssell-vBNT @ 1.00 BNT per vBNT
748990-11.0500001.122591e+03ssell-vBNT @ 1.05 BNT per vBNT
748950-01.0638301.329046e+04ssell-vBNT @ 1.06 BNT per vBNT
748965-11.1000001.027046e+03ssell-vBNT @ 1.10 BNT per vBNT
vBNT/USDCcarbon_v1171896-10.3900005.000000e+03ssell-vBNT @ 0.39 USDC per vBNT
\n", + "

165 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 0.000013 1.342084e+04 b \n", + " 132277-1 0.000015 3.597323e+02 x s \n", + " uniswap_v2 551118da 0.000033 2.602200e+07 x b s \n", + "ARB/MATIC carbon_v1 806240-1 1.428571 1.418060e+02 b \n", + " 806240-0 1.507045 1.276054e+01 s \n", + "... ... ... .. .. .. \n", + "vBNT/BNT carbon_v1 748966-1 1.000000 1.089256e+03 s \n", + " 748990-1 1.050000 1.122591e+03 s \n", + " 748950-0 1.063830 1.329046e+04 s \n", + " 748965-1 1.100000 1.027046e+03 s \n", + "vBNT/USDC carbon_v1 171896-1 0.390000 5.000000e+03 s \n", + "\n", + " bsv \n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 buy-0x0 @ 0.00 WETH per 0x0 \n", + " 132277-1 sell-0x0 @ 0.00 WETH per 0x0 \n", + " uniswap_v2 551118da buy-sell-0x0 @ 0.00 WETH per 0x0 \n", + "ARB/MATIC carbon_v1 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", + " 806240-0 sell-ARB @ 1.51 MATIC per ARB \n", + "... ... \n", + "vBNT/BNT carbon_v1 748966-1 sell-vBNT @ 1.00 BNT per vBNT \n", + " 748990-1 sell-vBNT @ 1.05 BNT per vBNT \n", + " 748950-0 sell-vBNT @ 1.06 BNT per vBNT \n", + " 748965-1 sell-vBNT @ 1.10 BNT per vBNT \n", + "vBNT/USDC carbon_v1 171896-1 sell-vBNT @ 0.39 USDC per vBNT \n", + "\n", + "[165 rows x 6 columns]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pas = CAm.pool_arbitrage_statistics()\n", + "assert np.all(pas == CAm.pool_arbitrage_statistics(CAm.POS_DF))\n", + "assert len(pas)==165\n", + "assert list(pas.columns) == ['price', 'vl', 'itm', 'b', 's', 'bsv']\n", + "assert list(pas.index.names) == ['pair', 'exchange', 'cid0']\n", + "assert {x[0] for x in pas.index} == {Pair.n(x) for x in CAm.pairsc()}\n", + "assert {x[1] for x in pas.index} == {'bancor_v2', 'bancor_v3','carbon_v1','sushiswap_v2','uniswap_v2','uniswap_v3'}\n", + "pas" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "c6382990-7537-4e2a-bd06-4032e742cf9a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('WETH/DAI',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 1840.1216491367131,\n", + " '594',\n", + " '594',\n", + " 'uniswap_v3',\n", + " 8.466598820198278,\n", + " '',\n", + " 'b',\n", + " 's',\n", + " 'buy-sell-WETH @ 1840.12 DAI per WETH')" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pasd = CAm.pool_arbitrage_statistics(CAm.POS_DICT)\n", + "assert isinstance(pasd, dict)\n", + "assert len(pasd) == 26\n", + "assert len(pasd['WETH-6Cc2/DAI-1d0F']) == 7\n", + "pd0 = pasd['WETH-6Cc2/DAI-1d0F'][0]\n", + "assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F')\n", + "assert iseq(pd0[2], 1840.1216491367131)\n", + "assert pd0[3:6] == ('594', '594', 'uniswap_v3')\n", + "assert iseq(pd0[6], 8.466598820198278)\n", + "assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH')\n", + "pd0" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "57df8ed4-b663-4a01-a63b-3ae257b277fc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('WETH/DAI',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 1840.1216491367131,\n", + " '594',\n", + " '594',\n", + " 'uniswap_v3',\n", + " 8.466598820198278,\n", + " '',\n", + " 'b',\n", + " 's',\n", + " 'buy-sell-WETH @ 1840.12 DAI per WETH')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pasl = CAm.pool_arbitrage_statistics(result = CAm.POS_LIST)\n", + "assert isinstance(pasl, tuple)\n", + "assert len(pasl) == len(pas)\n", + "pd0 = [(ix, x) for ix, x in enumerate(pasl) if x[2]==1840.1216491367131]\n", + "pd0 = pasl[pd0[0][0]]\n", + "assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F')\n", + "assert iseq(pd0[2], 1840.1216491367131)\n", + "assert pd0[3:6] == ('594', '594', 'uniswap_v3')\n", + "assert iseq(pd0[6], 8.466598820198278)\n", + "assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH')\n", + "pd0" + ] + }, + { + "cell_type": "markdown", + "id": "01c769ec-549f-4316-a651-e44c328bd47d", + "metadata": {}, + "source": [ + "### MargP Optimizer" + ] + }, + { + "cell_type": "markdown", + "id": "a29954fb-5b9a-43ba-8ac0-ad5bd610f7cb", + "metadata": {}, + "source": [ + "#### margp optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "ccf80984-1745-4d0f-94a2-f7ca89aa53cb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48DAI-1d0FWETH-6Cc2WBTC-C599BNT-FF1C
3571214.455968-1216.41934
594943.826762-0.512606
183-48.8639060.00175
624-10733.80657124578.315452
656-0.87049555566.320623
.....................
21f3ea686abd44c6b7829e488a01aa746780944.55249-6780334.136658
PRICE1.000581.01.0001791842.6722827604.1434720.429078
AMMIn2905472.5834059856630.3974956845674.127426331.4316427.424195192904.817736
AMMOut-2905472.583439-9861236.407637-6845674.127441-331.431642-7.424195-192904.81774
TOTAL NET-0.000035-4606.010142-0.000015-0.0-0.0-0.000004
\n", + "

90 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48 \\\n", + "357 1214.455968 -1216.41934 \n", + "594 \n", + "183 -48.863906 \n", + "624 \n", + "656 \n", + "... ... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 6780944.55249 \n", + "PRICE 1.00058 1.0 \n", + "AMMIn 2905472.583405 9856630.397495 \n", + "AMMOut -2905472.583439 -9861236.407637 \n", + "TOTAL NET -0.000035 -4606.010142 \n", + "\n", + " DAI-1d0F WETH-6Cc2 WBTC-C599 \\\n", + "357 \n", + "594 943.826762 -0.512606 \n", + "183 0.00175 \n", + "624 -10733.806571 \n", + "656 -0.870495 \n", + "... ... ... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 -6780334.136658 \n", + "PRICE 1.000179 1842.67228 27604.143472 \n", + "AMMIn 6845674.127426 331.431642 7.424195 \n", + "AMMOut -6845674.127441 -331.431642 -7.424195 \n", + "TOTAL NET -0.000015 -0.0 -0.0 \n", + "\n", + " BNT-FF1C \n", + "357 \n", + "594 \n", + "183 \n", + "624 24578.315452 \n", + "656 55566.320623 \n", + "... ... \n", + "21f3ea686abd44c6b7829e488a01aa74 \n", + "PRICE 0.429078 \n", + "AMMIn 192904.817736 \n", + "AMMOut -192904.81774 \n", + "TOTAL NET -0.000004 \n", + "\n", + "[90 rows x 6 columns]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokenlist = f\"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}\"\n", + "targettkn = f\"{T.USDC}\"\n", + "O = MargPOptimizer(CCm.bypairs(CCm.filter_pairs(bothin=tokenlist)))\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna(\"\")" + ] + }, + { + "cell_type": "markdown", + "id": "48166a32-9464-4107-b320-a1d9e09c219f", + "metadata": {}, + "source": [ + "#### MargpOptimizerResult" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "4c660d37-da45-4834-af30-3c3f3c289aa6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "optimal p {'BNT-FF1C': 0.429078, 'DAI-1d0F': 1.000179, 'WBTC-C599': 27604.143472, 'WETH-6Cc2': 1842.67228, 'USDT-1ec7': 1.00058}\n" + ] + } + ], + "source": [ + "assert type(r) == MargPOptimizer.MargpOptimizerResult\n", + "assert iseq(r.result, -4606.010157294979)\n", + "assert r.time > 0.001\n", + "assert r.time < 0.1\n", + "assert r.method == O.METHOD_MARGP\n", + "assert r.targettkn == targettkn\n", + "assert set(r.tokens_t)==set(['USDT-1ec7', 'WETH-6Cc2', 'WBTC-C599', 'DAI-1d0F', 'BNT-FF1C'])\n", + "p_opt_d0 = {t:x for x, t in zip(r.p_optimal_t, r.tokens_t)}\n", + "p_opt_d = {t:round(x,6) for x, t in zip(r.p_optimal_t, r.tokens_t)}\n", + "print(\"optimal p\", p_opt_d)\n", + "assert p_opt_d == {'WETH-6Cc2': 1842.67228, 'WBTC-C599': 27604.143472, \n", + " 'BNT-FF1C': 0.429078, 'USDT-1ec7': 1.00058, 'DAI-1d0F': 1.000179}\n", + "assert r.p_optimal[r.targettkn] == 1\n", + "po = [(k,v) for k,v in r.p_optimal.items()][:-1]\n", + "assert len(po)==len(r.p_optimal_t)\n", + "for k,v in po:\n", + " assert p_opt_d0[k] == v, f\"error at {k}, {v}, {p_opt_d0[k]}\"" + ] + }, + { + "cell_type": "markdown", + "id": "897d4f24-c628-429a-8655-18e0c5b57b0d", + "metadata": {}, + "source": [ + "#### TradeInstructions" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "e941c8c3-63db-4d41-9f99-e972ed8d4a68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(CPCArbOptimizer.TradeInstruction(cid='357', tknin='USDT-1ec7', amtin=1214.455968487775, tknout='USDC-eB48', amtout=-1216.4193395881448, error=None),\n", + " CPCArbOptimizer.TradeInstruction(cid='594', tknin='DAI-1d0F', amtin=943.8267624517903, tknout='WETH-6Cc2', amtout=-0.5126061548004373, error=None))" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "ti = r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "cids = tuple(ti_.cid for ti_ in ti)\n", + "assert isinstance(ti, tuple)\n", + "assert len(ti) == 86\n", + "ti0=[x for x in ti if x.cid==\"357\"]\n", + "assert len(ti0)==1\n", + "ti0=ti0[0]\n", + "assert ti0.cid == ti0.curve.cid\n", + "assert type(ti0).__name__ == \"TradeInstruction\"\n", + "assert type(ti[0]) == MargPOptimizer.TradeInstruction\n", + "assert ti0.tknin == f\"{T.USDT}\"\n", + "assert ti0.tknout == f\"{T.USDC}\"\n", + "assert round(ti0.amtin, 8) == 1214.45596849\n", + "assert round(ti0.amtout, 8) == -1216.41933959\n", + "assert ti0.error is None\n", + "ti[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "f1bc8f31-d88c-488f-a9ff-f8449c97ed66", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'cid': '357',\n", + " 'tknin': 'USDT-1ec7',\n", + " 'amtin': 1214.455968487775,\n", + " 'tknout': 'USDC-eB48',\n", + " 'amtout': -1216.4193395881448,\n", + " 'error': None},\n", + " {'cid': '594',\n", + " 'tknin': 'DAI-1d0F',\n", + " 'amtin': 943.8267624517903,\n", + " 'tknout': 'WETH-6Cc2',\n", + " 'amtout': -0.5126061548004373,\n", + " 'error': None})" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tid = r.trade_instructions(ti_format=O.TIF_DICTS)\n", + "assert isinstance(tid, tuple)\n", + "assert len(tid) == len(ti)\n", + "tid0=[x for x in tid if x[\"cid\"]==\"357\"]\n", + "assert len(tid0)==1\n", + "tid0=tid0[0]\n", + "assert type(tid0)==dict\n", + "assert tid0[\"tknin\"] == f\"{T.USDT}\"\n", + "assert tid0[\"tknout\"] == f\"{T.USDC}\"\n", + "assert round(tid0[\"amtin\"], 8) == 1214.45596849\n", + "assert round(tid0[\"amtout\"], 8) == -1216.41933959\n", + "assert tid0[\"error\"] is None\n", + "tid[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "d1a2263d-a789-435c-b157-e7c33048e0b3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pairpairptknintknoutUSDT-1ec7USDC-eB48DAI-1d0FWETH-6Cc2WBTC-C599BNT-FF1C
cid
357USDC-eB48/USDT-1ec7USDC/USDTUSDT-1ec7USDC-eB481214.455968-1216.41934
594DAI-1d0F/WETH-6Cc2DAI/WETHDAI-1d0FWETH-6Cc2943.826762-0.512606
\n", + "
" + ], + "text/plain": [ + " pair pairp tknin tknout USDT-1ec7 \\\n", + "cid \n", + "357 USDC-eB48/USDT-1ec7 USDC/USDT USDT-1ec7 USDC-eB48 1214.455968 \n", + "594 DAI-1d0F/WETH-6Cc2 DAI/WETH DAI-1d0F WETH-6Cc2 \n", + "\n", + " USDC-eB48 DAI-1d0F WETH-6Cc2 WBTC-C599 BNT-FF1C \n", + "cid \n", + "357 -1216.41934 \n", + "594 943.826762 -0.512606 " + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = r.trade_instructions(ti_format=O.TIF_DF).fillna(\"\")\n", + "assert tuple(df.index) == cids\n", + "assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna(\"\")==df)\n", + "assert len(df) == len(ti)\n", + "assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout']\n", + "assert len(df.columns) == 4 + len(r.tokens_t) + 1\n", + "tif0 = dict(df.loc[\"357\"])\n", + "assert tif0[\"pair\"] == \"USDC-eB48/USDT-1ec7\"\n", + "assert tif0[\"pairp\"] == \"USDC/USDT\"\n", + "assert tif0[\"tknin\"] == tid0[\"tknin\"]\n", + "assert tif0[tif0[\"tknin\"]] == tid0[\"amtin\"]\n", + "assert tif0[tif0[\"tknout\"]] == tid0[\"amtout\"]\n", + "df[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "20929d6d-b28c-47fe-8bad-3292928e8407", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48DAI-1d0FWETH-6Cc2WBTC-C599BNT-FF1C
3571214.455968-1216.41934
594943.826762-0.512606
183-48.8639060.00175
624-10733.80657124578.315452
656-0.87049555566.320623
7950.514254-0.51586
84011870.146436-6.453271
2562519.448144-1.368187
83927.245732-27.298765
290-0.3217761364.584132
\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48 DAI-1d0F WETH-6Cc2 WBTC-C599 BNT-FF1C\n", + "357 1214.455968 -1216.41934 \n", + "594 943.826762 -0.512606 \n", + "183 -48.863906 0.00175 \n", + "624 -10733.806571 24578.315452\n", + "656 -0.870495 55566.320623\n", + "795 0.514254 -0.51586 \n", + "840 11870.146436 -6.453271 \n", + "256 2519.448144 -1.368187 \n", + "839 27.245732 -27.298765 \n", + "290 -0.321776 1364.584132" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna(\"\")\n", + "assert tuple(dfa.index)[:-4] == cids\n", + "assert len(dfa) == len(df)+4\n", + "assert len(dfa.columns) == len(r.tokens_t) + 1\n", + "assert set(dfa.columns) == set(r.tokens_t).union(set([r.targettkn]))\n", + "assert list(dfa.index)[-4:] == ['PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET']\n", + "dfa[:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "30219a5c-e561-4638-abb6-a209bb74700d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "total gains: 4,611.73 USDC-eB48 [result=4,606.01]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v33460.0005USDC-eB48/WETH-6Cc22.191376e+02WETH-6Cc20.0005410.0005410.0005430.0025190.5521051017.347899
7af1ca9ab5eb4b5f98105df03880de010.0005DAI-1d0F/USDC-eB48-6.733839e+06USDC-eB481.0003961.0002871.0001790.000108729.223514729.223514
21f3ea686abd44c6b7829e488a01aa740.0001DAI-1d0F/USDC-eB486.780945e+06USDC-eB481.0000771.0000901.0001790.000089602.634094602.634094
c9a1ba7537f242ecacf31755b7be04bd0.0005USDC-eB48/USDT-1ec71.414570e+06USDT-1ec70.9992230.9993220.9994200.000099139.426383139.507273
5930.0100USDC-eB48/WETH-6Cc2-1.652532e+01WETH-6Cc20.0005460.0005440.0005430.0028420.04696486.539463
67f9d1e2b3fc407eb44dcb637d051d190.0005WETH-6Cc2/USDT-1ec72.979293e+04USDT-1ec71836.6561941836.9546171841.6038470.00252575.21387575.257511
edb7550782154a5b8eb1e4feedc876680.0005WBTC-C599/WETH-6Cc2-9.827301e+01WETH-6Cc214.98933214.98576314.9804950.0003520.03455463.672609
4860.0001USDC-eB48/USDT-1ec71.286263e+06USDT-1ec70.9993460.9993730.9994200.00004760.65001660.685203
4c50c9e4fdde4aefbf495b30d42fa3d00.0001USDC-eB48/USDT-1ec7-2.810367e+06USDT-1ec70.9994560.9994380.9994200.00001849.80973849.838636
a6595d66f70c432a9b68557428a6fe540.0005DAI-1d0F/WETH-6Cc2-6.599276e+00WETH-6Cc20.0005440.0005440.0005430.0025630.01691331.164972
\n", + "
" + ], + "text/plain": [ + " fee pair \\\n", + "exch cid \n", + "uniswap_v3 346 0.0005 USDC-eB48/WETH-6Cc2 \n", + " 7af1ca9ab5eb4b5f98105df03880de01 0.0005 DAI-1d0F/USDC-eB48 \n", + " 21f3ea686abd44c6b7829e488a01aa74 0.0001 DAI-1d0F/USDC-eB48 \n", + " c9a1ba7537f242ecacf31755b7be04bd 0.0005 USDC-eB48/USDT-1ec7 \n", + " 593 0.0100 USDC-eB48/WETH-6Cc2 \n", + " 67f9d1e2b3fc407eb44dcb637d051d19 0.0005 WETH-6Cc2/USDT-1ec7 \n", + " edb7550782154a5b8eb1e4feedc87668 0.0005 WBTC-C599/WETH-6Cc2 \n", + " 486 0.0001 USDC-eB48/USDT-1ec7 \n", + " 4c50c9e4fdde4aefbf495b30d42fa3d0 0.0001 USDC-eB48/USDT-1ec7 \n", + " a6595d66f70c432a9b68557428a6fe54 0.0005 DAI-1d0F/WETH-6Cc2 \n", + "\n", + " amt_tknq tknq \\\n", + "exch cid \n", + "uniswap_v3 346 2.191376e+02 WETH-6Cc2 \n", + " 7af1ca9ab5eb4b5f98105df03880de01 -6.733839e+06 USDC-eB48 \n", + " 21f3ea686abd44c6b7829e488a01aa74 6.780945e+06 USDC-eB48 \n", + " c9a1ba7537f242ecacf31755b7be04bd 1.414570e+06 USDT-1ec7 \n", + " 593 -1.652532e+01 WETH-6Cc2 \n", + " 67f9d1e2b3fc407eb44dcb637d051d19 2.979293e+04 USDT-1ec7 \n", + " edb7550782154a5b8eb1e4feedc87668 -9.827301e+01 WETH-6Cc2 \n", + " 486 1.286263e+06 USDT-1ec7 \n", + " 4c50c9e4fdde4aefbf495b30d42fa3d0 -2.810367e+06 USDT-1ec7 \n", + " a6595d66f70c432a9b68557428a6fe54 -6.599276e+00 WETH-6Cc2 \n", + "\n", + " margp0 effp \\\n", + "exch cid \n", + "uniswap_v3 346 0.000541 0.000541 \n", + " 7af1ca9ab5eb4b5f98105df03880de01 1.000396 1.000287 \n", + " 21f3ea686abd44c6b7829e488a01aa74 1.000077 1.000090 \n", + " c9a1ba7537f242ecacf31755b7be04bd 0.999223 0.999322 \n", + " 593 0.000546 0.000544 \n", + " 67f9d1e2b3fc407eb44dcb637d051d19 1836.656194 1836.954617 \n", + " edb7550782154a5b8eb1e4feedc87668 14.989332 14.985763 \n", + " 486 0.999346 0.999373 \n", + " 4c50c9e4fdde4aefbf495b30d42fa3d0 0.999456 0.999438 \n", + " a6595d66f70c432a9b68557428a6fe54 0.000544 0.000544 \n", + "\n", + " margp gain_r \\\n", + "exch cid \n", + "uniswap_v3 346 0.000543 0.002519 \n", + " 7af1ca9ab5eb4b5f98105df03880de01 1.000179 0.000108 \n", + " 21f3ea686abd44c6b7829e488a01aa74 1.000179 0.000089 \n", + " c9a1ba7537f242ecacf31755b7be04bd 0.999420 0.000099 \n", + " 593 0.000543 0.002842 \n", + " 67f9d1e2b3fc407eb44dcb637d051d19 1841.603847 0.002525 \n", + " edb7550782154a5b8eb1e4feedc87668 14.980495 0.000352 \n", + " 486 0.999420 0.000047 \n", + " 4c50c9e4fdde4aefbf495b30d42fa3d0 0.999420 0.000018 \n", + " a6595d66f70c432a9b68557428a6fe54 0.000543 0.002563 \n", + "\n", + " gain_tknq gain_ttkn \n", + "exch cid \n", + "uniswap_v3 346 0.552105 1017.347899 \n", + " 7af1ca9ab5eb4b5f98105df03880de01 729.223514 729.223514 \n", + " 21f3ea686abd44c6b7829e488a01aa74 602.634094 602.634094 \n", + " c9a1ba7537f242ecacf31755b7be04bd 139.426383 139.507273 \n", + " 593 0.046964 86.539463 \n", + " 67f9d1e2b3fc407eb44dcb637d051d19 75.213875 75.257511 \n", + " edb7550782154a5b8eb1e4feedc87668 0.034554 63.672609 \n", + " 486 60.650016 60.685203 \n", + " 4c50c9e4fdde4aefbf495b30d42fa3d0 49.809738 49.838636 \n", + " a6595d66f70c432a9b68557428a6fe54 0.016913 31.164972 " + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfpg = r.trade_instructions(ti_format=O.TIF_DFPG)\n", + "assert set(x[1] for x in dfpg.index) == set(cids)\n", + "assert np.all(dfpg[\"gain_tknq\"]>=0)\n", + "assert np.all(dfpg[\"gain_r\"]>=0)\n", + "assert round(np.max(dfpg[\"gain_r\"]),8) == 0.04739068\n", + "assert round(np.min(dfpg[\"gain_r\"]),8) == 1.772e-05\n", + "assert len(dfpg) == len(ti)\n", + "for p, t in zip(tuple(dfpg[\"pair\"]), tuple(dfpg[\"tknq\"])):\n", + " assert p.split(\"/\")[1] == t, f\"error in {p} [{t}]\"\n", + "print(f\"total gains: {sum(dfpg['gain_ttkn']):,.2f} {r.targettkn} [result={-r.result:,.2f}]\")\n", + "assert abs(sum(dfpg[\"gain_ttkn\"])/r.result+1)<0.01\n", + "dfpg[:10]" + ] + }, + { + "cell_type": "markdown", + "id": "8cade46b-5a66-4297-8105-c57dfbd9fcf1", + "metadata": {}, + "source": [ + "### Convex Optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "f680dfd7-b5cc-4ee2-b69b-ff8ca0a0b0f9", + "metadata": {}, + "outputs": [], + "source": [ + "tokens = f\"{T.DAI},{T.USDT},{T.HEX},{T.WETH},{T.LINK}\"\n", + "CCo = CCu2.bypairs(CCu2.filter_pairs(bothin=tokens))\n", + "CCo += CCs2.bypairs(CCu2.filter_pairs(bothin=tokens))\n", + "CA = CPCAnalyzer(CCo)\n", + "O = ConvexOptimizer(CCo)\n", + "#ArbGraph.from_cc(CCo).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "56476abd-2a0f-4e74-b45b-62836b49f9cb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
totalcarbuni3uni2sushi
token
LINK-86CA120066
USDT-1ec7100064
WETH-6Cc290054
DAI-1d0F60042
HEX-eb3950050
\n", + "
" + ], + "text/plain": [ + " total carb uni3 uni2 sushi\n", + "token \n", + "LINK-86CA 12 0 0 6 6\n", + "USDT-1ec7 10 0 0 6 4\n", + "WETH-6Cc2 9 0 0 5 4\n", + "DAI-1d0F 6 0 0 4 2\n", + "HEX-eb39 5 0 0 5 0" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_tokens()" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "5570f890-5367-47de-93ef-328025f9c968", + "metadata": {}, + "outputs": [], + "source": [ + "#CCo.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "c3322688-6db1-4737-971b-55b091983954", + "metadata": {}, + "source": [ + "#### convex optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "f14670a2-e1a5-4f11-af3e-397aef23cee3", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = T.USDT\n", + "# r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=False))\n", + "# r" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "79bec194-1df2-40f2-b44d-90e8996e454f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Solver params: {}\n" + ] + }, + { + "data": { + "text/plain": [ + "ConvexOptimizer.NofeesOptimizerResult(result=-1785127.80312227, time=2.5141711235046387, method='convex', token_table={'USDT-1ec7': TTE(x=[], y=[2, 3, 5, 6, 7, 12, 14, 16, 17, 19]), 'WETH-6Cc2': TTE(x=[3, 5, 14, 17], y=[4, 8, 11, 13, 20]), 'DAI-1d0F': TTE(x=[], y=[0, 1, 9, 10, 15, 18]), 'LINK-86CA': TTE(x=[0, 4, 6, 7, 8, 9, 13, 15, 16, 18, 19, 20], y=[]), 'HEX-eb39': TTE(x=[1, 2, 10, 11, 12], y=[])})" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SFC = O.SFC(**{targettkn:O.AMMPays})\n", + "r = O.convex_optimizer(SFC, verbose=False, solver=O.SOLVER_SCS)\n", + "r" + ] + }, + { + "cell_type": "markdown", + "id": "2afdf979-dc68-446f-8a67-f9dd55415a0d", + "metadata": {}, + "source": [ + "#### NofeesOptimizerResult" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "cd3e6d9a-a6a5-4407-931b-eea60ab6a80f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1800000.0" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "round(r.result,-5)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "377341bf-e7d1-4c1d-b539-0aca307b92a3", + "metadata": {}, + "outputs": [], + "source": [ + "assert type(r) == ConvexOptimizer.NofeesOptimizerResult\n", + "# assert round(r.result,-5) <= -1500000.0\n", + "# assert round(r.result,-5) >= -2500000.0\n", + "assert r.time < 5\n", + "assert r.method == \"convex\"\n", + "assert set(r.token_table.keys()) == set(['USDT-1ec7', 'WETH-6Cc2', 'LINK-86CA', 'DAI-1d0F', 'HEX-eb39'])\n", + "assert len(r.token_table[T.USDT].x)==0\n", + "assert len(r.token_table[T.USDT].y)==10\n", + "lx = list(it.chain(*[rr.x for rr in r.token_table.values()]))\n", + "lx.sort()\n", + "ly = list(it.chain(*[rr.y for rr in r.token_table.values()]))\n", + "ly.sort()\n", + "assert lx == [_ for _ in range(21)]\n", + "assert ly == lx" + ] + }, + { + "cell_type": "markdown", + "id": "8eae1f94-7497-4f1a-a1d3-03749b1f2501", + "metadata": {}, + "source": [ + "#### trade instructions" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "57b45a2f-f3c4-4901-be9a-f2bbacd609e8", + "metadata": {}, + "outputs": [], + "source": [ + "ti = r.trade_instructions()\n", + "assert type(ti[0]) == ConvexOptimizer.TradeInstruction" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "448eab5b-4c06-4d88-b6b8-b3dc6232f760", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(CPCArbOptimizer.TradeInstruction(cid='175', tknin='LINK-86CA', amtin=15.49458737699871, tknout='DAI-1d0F', amtout=-24.30515023311321, error=None),\n", + " CPCArbOptimizer.TradeInstruction(cid='115', tknin='DAI-1d0F', amtin=51.111691900493156, tknout='HEX-eb39', amtout=-855.8199185180032, error=None))" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "ti = r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "cids = tuple(ti_.cid for ti_ in ti)\n", + "assert isinstance(ti, tuple)\n", + "assert len(ti) == 21\n", + "ti0=[x for x in ti if x.cid==\"175\"]\n", + "assert len(ti0)==1\n", + "ti0=ti0[0]\n", + "assert ti0.cid == ti0.curve.cid\n", + "assert type(ti0).__name__ == \"TradeInstruction\"\n", + "assert type(ti[0]) == ConvexOptimizer.TradeInstruction\n", + "assert ti0.tknin == f\"{T.LINK}\"\n", + "assert ti0.tknout == f\"{T.DAI}\"\n", + "# assert round(ti0.amtin, 8) == 8.50052943\n", + "# assert round(ti0.amtout, 8) == -50.40963779\n", + "assert ti0.error is None\n", + "ti[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "5bf4535c-891b-4002-8a45-c2cefa4f8aae", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'cid': '175',\n", + " 'tknin': 'LINK-86CA',\n", + " 'amtin': 15.49458737699871,\n", + " 'tknout': 'DAI-1d0F',\n", + " 'amtout': -24.30515023311321,\n", + " 'error': None},\n", + " {'cid': '115',\n", + " 'tknin': 'DAI-1d0F',\n", + " 'amtin': 51.111691900493156,\n", + " 'tknout': 'HEX-eb39',\n", + " 'amtout': -855.8199185180032,\n", + " 'error': None})" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tid = r.trade_instructions(ti_format=O.TIF_DICTS)\n", + "assert isinstance(tid, tuple)\n", + "assert type(tid[0])==dict\n", + "assert len(tid) == len(ti)\n", + "tid0=[x for x in tid if x[\"cid\"]==\"175\"]\n", + "assert len(tid0)==1\n", + "tid0=tid0[0]\n", + "assert tid0[\"tknin\"] == f\"{T.LINK}\"\n", + "assert tid0[\"tknout\"] == f\"{T.DAI}\"\n", + "# assert round(tid0[\"amtin\"], 8) == 8.50052943\n", + "# assert round(tid0[\"amtout\"], 8) == -50.40963779\n", + "assert tid0[\"error\"] is None\n", + "tid[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "0efeef32-8c03-46af-91f2-138547efcd7a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pairpairptknintknoutLINK-86CADAI-1d0FHEX-eb39USDT-1ec7WETH-6Cc2
cid
175LINK-86CA/DAI-1d0FLINK/DAILINK-86CADAI-1d0F15.494587-24.30515
115HEX-eb39/DAI-1d0FHEX/DAIDAI-1d0FHEX-eb3951.111692-855.819919
\n", + "
" + ], + "text/plain": [ + " pair pairp tknin tknout LINK-86CA DAI-1d0F \\\n", + "cid \n", + "175 LINK-86CA/DAI-1d0F LINK/DAI LINK-86CA DAI-1d0F 15.494587 -24.30515 \n", + "115 HEX-eb39/DAI-1d0F HEX/DAI DAI-1d0F HEX-eb39 51.111692 \n", + "\n", + " HEX-eb39 USDT-1ec7 WETH-6Cc2 \n", + "cid \n", + "175 \n", + "115 -855.819919 " + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = r.trade_instructions(ti_format=O.TIF_DF).fillna(\"\")\n", + "assert tuple(df.index) == cids\n", + "assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna(\"\")==df)\n", + "assert len(df) == len(ti)\n", + "assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout']\n", + "assert len(df.columns) == 4 + 4 + 1\n", + "tif0 = dict(df.loc[\"175\"])\n", + "assert tif0[\"pair\"] == 'LINK-86CA/DAI-1d0F'\n", + "assert tif0[\"pairp\"] == \"LINK/DAI\"\n", + "assert tif0[\"tknin\"] == tid0[\"tknin\"]\n", + "assert tif0[tif0[\"tknin\"]] == tid0[\"amtin\"]\n", + "assert tif0[tif0[\"tknout\"]] == tid0[\"amtout\"]\n", + "df[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "63a554ca-7c04-4cdc-b08f-6a4981e1a89f", + "metadata": {}, + "outputs": [], + "source": [ + "assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith(\"TIF_DFAGGR not implemented for\")\n", + "assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith(\"TIF_DFPG not implemented for\")" + ] + }, + { + "cell_type": "markdown", + "id": "38bcc06c-08a6-4a92-b3bb-3d2733324cd9", + "metadata": {}, + "source": [ + "### Simple Optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "0a682d61-f680-4be8-b6ae-ce6ca0d3acf7", + "metadata": {}, + "outputs": [], + "source": [ + "pair = f\"{T.ETH}/{T.USDC}\"\n", + "CCs = CCm.bypairs(pair)\n", + "CA = CPCAnalyzer(CCs)\n", + "O = SimpleOptimizer(CCs)\n", + "#ArbGraph.from_cc(CCs).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "ef5cd37e-1307-4460-8c63-d5a654cd028c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
totalcarbuni3uni2sushi
token
USDC-eB482416422
WETH-6Cc22416422
\n", + "
" + ], + "text/plain": [ + " total carb uni3 uni2 sushi\n", + "token \n", + "USDC-eB48 24 16 4 2 2\n", + "WETH-6Cc2 24 16 4 2 2" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_tokens()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "4949e298-df9a-46d9-bebb-4286f2456038", + "metadata": {}, + "outputs": [], + "source": [ + "#CCs.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "cc9738a2-dd04-4262-9000-7e7fa9209b1b", + "metadata": {}, + "source": [ + "#### simple optimizer" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "cf47528a-42d0-42c0-a693-b43b52bc99f8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "SimpleOptimizer.SimpleOptimizerResult(result=-1217.284943362395, time=0.044393062591552734, method='simple-targettkn', errormsg=None)" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "r = O.simple_optimizer(T.USDC)\n", + "r" + ] + }, + { + "cell_type": "markdown", + "id": "317ce7ce-1f9c-4482-9849-3c958a0fad28", + "metadata": {}, + "source": [ + "#### result" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "93949531-5c8e-488b-ab7c-308c6ce14b67", + "metadata": {}, + "outputs": [], + "source": [ + "assert type(r) == SimpleOptimizer.SimpleOptimizerResult\n", + "assert round(r.result,5) <= -1217.28494\n", + "assert r.time < 0.1\n", + "assert r.method == \"simple-targettkn\"\n", + "assert r.errormsg is None" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "cae22713-8902-4677-99a3-9f86b4c8d335", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-1217.28494" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "round(r.result,5)" + ] + }, + { + "cell_type": "markdown", + "id": "becb0027-3146-4e7f-bde7-d3226b0fbacf", + "metadata": {}, + "source": [ + "#### trade instructions" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "487ccaa8-2199-4537-b751-cf179bf39043", + "metadata": {}, + "outputs": [], + "source": [ + "ti = r.trade_instructions()\n", + "assert type(ti[0]) == SimpleOptimizer.TradeInstruction" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "34b2da13-71b9-490f-a060-30c5adaeb6d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(CPCArbOptimizer.TradeInstruction(cid='6c988ffdc9e74acd97ccfb16dd65c110', tknin='USDC-eB48', amtin=48153.807134930044, tknout='WETH-6Cc2', amtout=-26.18299610960821, error=None),\n", + " CPCArbOptimizer.TradeInstruction(cid='7ed16708962e459abe5431a176b13aa0', tknin='USDC-eB48', amtin=219435.42487454414, tknout='WETH-6Cc2', amtout=-119.06125400270685, error=None))" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "ti = r.trade_instructions(ti_format=O.TIF_OBJECTS)\n", + "cids = tuple(ti_.cid for ti_ in ti)\n", + "assert isinstance(ti, tuple)\n", + "assert len(ti) == 12\n", + "ti0=[x for x in ti if x.cid==\"6c988ffdc9e74acd97ccfb16dd65c110\"]\n", + "assert len(ti0)==1\n", + "ti0=ti0[0]\n", + "assert ti0.cid == ti0.curve.cid\n", + "assert type(ti0).__name__ == \"TradeInstruction\"\n", + "assert type(ti[0]) == SimpleOptimizer.TradeInstruction\n", + "assert ti0.tknin == f\"{T.USDC}\"\n", + "assert ti0.tknout == f\"{T.WETH}\"\n", + "assert round(ti0.amtin, 8) == 48153.80713493\n", + "assert round(ti0.amtout, 8) == -26.18299611\n", + "assert ti0.error is None\n", + "ti[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "63839fa7-e313-46d4-933e-b2b2b6f7069e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'cid': '6c988ffdc9e74acd97ccfb16dd65c110',\n", + " 'tknin': 'USDC-eB48',\n", + " 'amtin': 48153.807134930044,\n", + " 'tknout': 'WETH-6Cc2',\n", + " 'amtout': -26.18299610960821,\n", + " 'error': None},\n", + " {'cid': '7ed16708962e459abe5431a176b13aa0',\n", + " 'tknin': 'USDC-eB48',\n", + " 'amtin': 219435.42487454414,\n", + " 'tknout': 'WETH-6Cc2',\n", + " 'amtout': -119.06125400270685,\n", + " 'error': None})" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tid = r.trade_instructions(ti_format=O.TIF_DICTS)\n", + "assert isinstance(tid, tuple)\n", + "assert type(tid[0])==dict\n", + "assert len(tid) == len(ti)\n", + "tid0=[x for x in tid if x[\"cid\"]==\"6c988ffdc9e74acd97ccfb16dd65c110\"]\n", + "assert len(tid0)==1\n", + "tid0=tid0[0]\n", + "assert tid0[\"tknin\"] == f\"{T.USDC}\"\n", + "assert tid0[\"tknout\"] == f\"{T.WETH}\"\n", + "assert round(tid0[\"amtin\"], 8) == 48153.80713493\n", + "assert round(tid0[\"amtout\"], 8) == -26.18299611\n", + "assert tid0[\"error\"] is None\n", + "tid[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "24fd38a2-db05-4cc7-8adb-e26713a1046c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pairpairptknintknoutUSDC-eB48WETH-6Cc2
cid
6c988ffdc9e74acd97ccfb16dd65c110WETH-6Cc2/USDC-eB48WETH/USDCUSDC-eB48WETH-6Cc248153.807135-26.182996
7ed16708962e459abe5431a176b13aa0WETH-6Cc2/USDC-eB48WETH/USDCUSDC-eB48WETH-6Cc2219435.424875-119.061254
\n", + "
" + ], + "text/plain": [ + " pair pairp tknin \\\n", + "cid \n", + "6c988ffdc9e74acd97ccfb16dd65c110 WETH-6Cc2/USDC-eB48 WETH/USDC USDC-eB48 \n", + "7ed16708962e459abe5431a176b13aa0 WETH-6Cc2/USDC-eB48 WETH/USDC USDC-eB48 \n", + "\n", + " tknout USDC-eB48 WETH-6Cc2 \n", + "cid \n", + "6c988ffdc9e74acd97ccfb16dd65c110 WETH-6Cc2 48153.807135 -26.182996 \n", + "7ed16708962e459abe5431a176b13aa0 WETH-6Cc2 219435.424875 -119.061254 " + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = r.trade_instructions(ti_format=O.TIF_DF).fillna(\"\")\n", + "assert tuple(df.index) == cids\n", + "assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna(\"\")==df)\n", + "assert len(df) == len(ti)\n", + "assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout']\n", + "assert len(df.columns) == 4 + 1 + 1\n", + "tif0 = dict(df.loc[\"6c988ffdc9e74acd97ccfb16dd65c110\"])\n", + "assert tif0[\"pair\"] == 'WETH-6Cc2/USDC-eB48'\n", + "assert tif0[\"pairp\"] == \"WETH/USDC\"\n", + "assert tif0[\"tknin\"] == tid0[\"tknin\"]\n", + "assert tif0[tif0[\"tknin\"]] == tid0[\"amtin\"]\n", + "assert tif0[tif0[\"tknout\"]] == tid0[\"amtout\"]\n", + "df[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "8727a62f-20c7-4357-b627-76dd3f14c7a9", + "metadata": {}, + "outputs": [], + "source": [ + "assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith(\"TIF_DFAGGR not implemented for\")\n", + "assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith(\"TIF_DFPG not implemented for\")" + ] + }, + { + "cell_type": "markdown", + "id": "1652b8f5", + "metadata": {}, + "source": [ + "## Analysis by pair" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "fd84fa4f-36b1-410a-ba75-192808ed6c3f", + "metadata": {}, + "outputs": [], + "source": [ + "# CCm1 = CAm.CC.copy()\n", + "# CCm1 += CPC.from_carbon(\n", + "# pair=f\"{T.WETH}/{T.USDC}\",\n", + "# yint = 1,\n", + "# y = 1,\n", + "# pa = 1500,\n", + "# pb = 1501,\n", + "# tkny = f\"{T.WETH}\",\n", + "# cid = \"test-1\",\n", + "# isdydx=False,\n", + "# params=dict(exchange=\"carbon_v1\"),\n", + "# )\n", + "# CAm1 = CPCAnalyzer(CCm1)\n", + "# CCm1.asdf().to_csv(\"NBTest_006-augmented.csv.gz\", compression = \"gzip\")" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "84750fca-1d91-4f77-bc1a-a361a1c8ae02", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
pairexchangecid0
0x0/WETHcarbon_v1132277-00.0000131.342084e+04bbuy-0x0 @ 0.00 WETH per 0x0
132277-10.0000153.597323e+02xssell-0x0 @ 0.00 WETH per 0x0
uniswap_v2551118da0.0000332.602200e+07xbsbuy-sell-0x0 @ 0.00 WETH per 0x0
ARB/MATICcarbon_v1806240-11.4285711.418060e+02bbuy-ARB @ 1.43 MATIC per ARB
806240-01.5070451.276054e+01ssell-ARB @ 1.51 MATIC per ARB
...........................
vBNT/BNTcarbon_v1748966-11.0000001.089256e+03ssell-vBNT @ 1.00 BNT per vBNT
748990-11.0500001.122591e+03ssell-vBNT @ 1.05 BNT per vBNT
748950-01.0638301.329046e+04ssell-vBNT @ 1.06 BNT per vBNT
748965-11.1000001.027046e+03ssell-vBNT @ 1.10 BNT per vBNT
vBNT/USDCcarbon_v1171896-10.3900005.000000e+03ssell-vBNT @ 0.39 USDC per vBNT
\n", + "

165 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 0.000013 1.342084e+04 b \n", + " 132277-1 0.000015 3.597323e+02 x s \n", + " uniswap_v2 551118da 0.000033 2.602200e+07 x b s \n", + "ARB/MATIC carbon_v1 806240-1 1.428571 1.418060e+02 b \n", + " 806240-0 1.507045 1.276054e+01 s \n", + "... ... ... .. .. .. \n", + "vBNT/BNT carbon_v1 748966-1 1.000000 1.089256e+03 s \n", + " 748990-1 1.050000 1.122591e+03 s \n", + " 748950-0 1.063830 1.329046e+04 s \n", + " 748965-1 1.100000 1.027046e+03 s \n", + "vBNT/USDC carbon_v1 171896-1 0.390000 5.000000e+03 s \n", + "\n", + " bsv \n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 buy-0x0 @ 0.00 WETH per 0x0 \n", + " 132277-1 sell-0x0 @ 0.00 WETH per 0x0 \n", + " uniswap_v2 551118da buy-sell-0x0 @ 0.00 WETH per 0x0 \n", + "ARB/MATIC carbon_v1 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", + " 806240-0 sell-ARB @ 1.51 MATIC per ARB \n", + "... ... \n", + "vBNT/BNT carbon_v1 748966-1 sell-vBNT @ 1.00 BNT per vBNT \n", + " 748990-1 sell-vBNT @ 1.05 BNT per vBNT \n", + " 748950-0 sell-vBNT @ 1.06 BNT per vBNT \n", + " 748965-1 sell-vBNT @ 1.10 BNT per vBNT \n", + "vBNT/USDC carbon_v1 171896-1 sell-vBNT @ 0.39 USDC per vBNT \n", + "\n", + "[165 rows x 6 columns]" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pricedf = CAm.pool_arbitrage_statistics()\n", + "assert len(pricedf)==165\n", + "pricedf" + ] + }, + { + "cell_type": "markdown", + "id": "c066c726-ee75-41e3-8b3f-3b43792c6352", + "metadata": {}, + "source": [ + "### WETH/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "67122692-198a-4706-9526-cba8b35c2fb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WETH-6Cc2/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = \"WETH-6Cc2/USDC-eB48\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "fd022c7e-1c6a-4947-a156-a2ada671c8ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1057306-01405.0001403.558719bbuy-WETH @ 1405.00 USDC per WETH
057334-01700.0001700.029412bbuy-WETH @ 1700.00 USDC per WETH
057331-01800.0000005.555556bbuy-WETH @ 1800.00 USDC per WETH
057339-01800.0000000.000556bbuy-WETH @ 1800.00 USDC per WETH
uniswap_v35931832.24320058.054109xbsbuy-sell-WETH @ 1832.24 USDC per WETH
sushiswap_v2dd65c1101833.90070118433.955884xbsbuy-sell-WETH @ 1833.90 USDC per WETH
8031838.74552017564.479610xbsbuy-sell-WETH @ 1838.75 USDC per WETH
uniswap_v20c5510731840.15950632739.920709xbsbuy-sell-WETH @ 1840.16 USDC per WETH
2551840.77396939241.200664xbsbuy-sell-WETH @ 1840.77 USDC per WETH
uniswap_v376b13aa01841.729378499.329774xbsbuy-sell-WETH @ 1841.73 USDC per WETH
08cee9b51843.002859210.541672xbsbuy-sell-WETH @ 1843.00 USDC per WETH
3461848.191535233.930315xbsbuy-sell-WETH @ 1848.19 USDC per WETH
carbon_v1057337-01850.0000001.081081bbuy-WETH @ 1850.00 USDC per WETH
057292-01853.4088180.003314xbbuy-WETH @ 1853.41 USDC per WETH
057353-01854.0001854.234699xbbuy-WETH @ 1854.00 USDC per WETH
057296-01929.9998070.001033xbbuy-WETH @ 1930.00 USDC per WETH
057299-11940.0000000.026117ssell-WETH @ 1940.00 USDC per WETH
057296-11949.99980510.460391ssell-WETH @ 1950.00 USDC per WETH
057343-11989.9998011.000000ssell-WETH @ 1990.00 USDC per WETH
057334-11999.9998000.040000ssell-WETH @ 2000.00 USDC per WETH
057292-12000.0000000.016387ssell-WETH @ 2000.00 USDC per WETH
057353-12047.9997954.000000ssell-WETH @ 2048.00 USDC per WETH
057285-12099.9997900.006040ssell-WETH @ 2100.00 USDC per WETH
057315-12300.0000000.487950ssell-WETH @ 2300.00 USDC per WETH
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "carbon_v1 057306-0 1405.000140 3.558719 b \n", + " 057334-0 1700.000170 0.029412 b \n", + " 057331-0 1800.000000 5.555556 b \n", + " 057339-0 1800.000000 0.000556 b \n", + "uniswap_v3 593 1832.243200 58.054109 x b s \n", + "sushiswap_v2 dd65c110 1833.900701 18433.955884 x b s \n", + " 803 1838.745520 17564.479610 x b s \n", + "uniswap_v2 0c551073 1840.159506 32739.920709 x b s \n", + " 255 1840.773969 39241.200664 x b s \n", + "uniswap_v3 76b13aa0 1841.729378 499.329774 x b s \n", + " 08cee9b5 1843.002859 210.541672 x b s \n", + " 346 1848.191535 233.930315 x b s \n", + "carbon_v1 057337-0 1850.000000 1.081081 b \n", + " 057292-0 1853.408818 0.003314 x b \n", + " 057353-0 1854.000185 4.234699 x b \n", + " 057296-0 1929.999807 0.001033 x b \n", + " 057299-1 1940.000000 0.026117 s \n", + " 057296-1 1949.999805 10.460391 s \n", + " 057343-1 1989.999801 1.000000 s \n", + " 057334-1 1999.999800 0.040000 s \n", + " 057292-1 2000.000000 0.016387 s \n", + " 057353-1 2047.999795 4.000000 s \n", + " 057285-1 2099.999790 0.006040 s \n", + " 057315-1 2300.000000 0.487950 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 057306-0 buy-WETH @ 1405.00 USDC per WETH \n", + " 057334-0 buy-WETH @ 1700.00 USDC per WETH \n", + " 057331-0 buy-WETH @ 1800.00 USDC per WETH \n", + " 057339-0 buy-WETH @ 1800.00 USDC per WETH \n", + "uniswap_v3 593 buy-sell-WETH @ 1832.24 USDC per WETH \n", + "sushiswap_v2 dd65c110 buy-sell-WETH @ 1833.90 USDC per WETH \n", + " 803 buy-sell-WETH @ 1838.75 USDC per WETH \n", + "uniswap_v2 0c551073 buy-sell-WETH @ 1840.16 USDC per WETH \n", + " 255 buy-sell-WETH @ 1840.77 USDC per WETH \n", + "uniswap_v3 76b13aa0 buy-sell-WETH @ 1841.73 USDC per WETH \n", + " 08cee9b5 buy-sell-WETH @ 1843.00 USDC per WETH \n", + " 346 buy-sell-WETH @ 1848.19 USDC per WETH \n", + "carbon_v1 057337-0 buy-WETH @ 1850.00 USDC per WETH \n", + " 057292-0 buy-WETH @ 1853.41 USDC per WETH \n", + " 057353-0 buy-WETH @ 1854.00 USDC per WETH \n", + " 057296-0 buy-WETH @ 1930.00 USDC per WETH \n", + " 057299-1 sell-WETH @ 1940.00 USDC per WETH \n", + " 057296-1 sell-WETH @ 1950.00 USDC per WETH \n", + " 057343-1 sell-WETH @ 1990.00 USDC per WETH \n", + " 057334-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057292-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057353-1 sell-WETH @ 2048.00 USDC per WETH \n", + " 057285-1 sell-WETH @ 2100.00 USDC per WETH \n", + " 057315-1 sell-WETH @ 2300.00 USDC per WETH " + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "assert len(df)==24\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "ec801111-63d8-4c04-87ee-8d7c43ade0eb", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CAm.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "0d26483f-54fc-4a5f-8745-d480a39f1af2", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "364d7536-a0f1-49d1-9189-5fb994febacf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
6c988ffdc9e74acd97ccfb16dd65c11048199.041434-26.207522
7ed16708962e459abe5431a176b13aa0220254.817834-119.505521
59335311.940061-19.209032
25535303.699709-19.159998
80324698.039642-13.411493
50ac5ace09c1483987af46c60c55107334478.792464-18.715428
346-404818.683174219.137592
1701411834604692317316873037158841057353-0-7851.1336364.234700
1701411834604692317316873037158841057296-0-1.9945370.001033
00125d264f9d49369a467e7708cee9b514475.083981-7.851155
1701411834604692317316873037158841057292-0-6.1413250.003317
1701411834604692317316873037158841057337-0-43.4625510.023529
PRICE0.0005421.000000
AMMIn412721.415124223.400171
AMMOut-412721.415223-224.060149
TOTAL NET-0.000100-0.659978
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "6c988ffdc9e74acd97ccfb16dd65c110 48199.041434 -26.207522\n", + "7ed16708962e459abe5431a176b13aa0 220254.817834 -119.505521\n", + "593 35311.940061 -19.209032\n", + "255 35303.699709 -19.159998\n", + "803 24698.039642 -13.411493\n", + "50ac5ace09c1483987af46c60c551073 34478.792464 -18.715428\n", + "346 -404818.683174 219.137592\n", + "1701411834604692317316873037158841057353-0 -7851.133636 4.234700\n", + "1701411834604692317316873037158841057296-0 -1.994537 0.001033\n", + "00125d264f9d49369a467e7708cee9b5 14475.083981 -7.851155\n", + "1701411834604692317316873037158841057292-0 -6.141325 0.003317\n", + "1701411834604692317316873037158841057337-0 -43.462551 0.023529\n", + "PRICE 0.000542 1.000000\n", + "AMMIn 412721.415124 223.400171\n", + "AMMOut -412721.415223 -224.060149\n", + "TOTAL NET -0.000100 -0.659978" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR)" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "e6ec3cb6-214d-4924-ab74-3ba204f20f42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.6601 WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v33460.0005USDC/WETH219.137592WETH-6Cc20.0005410.0005410.0005420.0015980.3501960.350196
a176b13aa00.0030USDC/WETH-119.505521WETH-6Cc20.0005430.0005430.0005420.0007180.0857830.085783
5930.0100USDC/WETH-19.209032WETH-6Cc20.0005460.0005440.0005420.0033050.0634860.063486
7708cee9b50.0100USDC/WETH-7.851155WETH-6Cc20.0005430.0005420.0005420.0003720.0029210.002921
uniswap_v2c60c5510730.0030USDC/WETH-18.715428WETH-6Cc20.0005430.0005430.0005420.0011450.0214210.021421
2550.0030USDC/WETH-19.159998WETH-6Cc20.0005430.0005430.0005420.0009770.0187280.018728
sushiswap_v216dd65c1100.0030USDC/WETH-26.207522WETH-6Cc20.0005450.0005440.0005420.0028520.0747310.074731
8030.0030USDC/WETH-13.411493WETH-6Cc20.0005440.0005430.0005420.0015290.0205120.020512
carbon_v141057353-00.0020WETH/USDC-7851.133636USDC-eB481854.0001851854.0000001844.3743640.00521940.9744120.022216
41057296-00.0020WETH/USDC-1.994537USDC-eB481929.9998071929.9977791844.3743640.0464240.0925950.000050
41057337-00.0020WETH/USDC-43.462551USDC-eB481850.0000001847.1850401844.3743640.0015240.0662330.000036
41057292-00.0020WETH/USDC-6.141325USDC-eB481853.4088181851.7036241844.3743640.0039740.0244050.000013
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq \\\n", + "exch cid \n", + "uniswap_v3 346 0.0005 USDC/WETH 219.137592 WETH-6Cc2 \n", + " a176b13aa0 0.0030 USDC/WETH -119.505521 WETH-6Cc2 \n", + " 593 0.0100 USDC/WETH -19.209032 WETH-6Cc2 \n", + " 7708cee9b5 0.0100 USDC/WETH -7.851155 WETH-6Cc2 \n", + "uniswap_v2 c60c551073 0.0030 USDC/WETH -18.715428 WETH-6Cc2 \n", + " 255 0.0030 USDC/WETH -19.159998 WETH-6Cc2 \n", + "sushiswap_v2 16dd65c110 0.0030 USDC/WETH -26.207522 WETH-6Cc2 \n", + " 803 0.0030 USDC/WETH -13.411493 WETH-6Cc2 \n", + "carbon_v1 41057353-0 0.0020 WETH/USDC -7851.133636 USDC-eB48 \n", + " 41057296-0 0.0020 WETH/USDC -1.994537 USDC-eB48 \n", + " 41057337-0 0.0020 WETH/USDC -43.462551 USDC-eB48 \n", + " 41057292-0 0.0020 WETH/USDC -6.141325 USDC-eB48 \n", + "\n", + " margp0 effp margp gain_r \\\n", + "exch cid \n", + "uniswap_v3 346 0.000541 0.000541 0.000542 0.001598 \n", + " a176b13aa0 0.000543 0.000543 0.000542 0.000718 \n", + " 593 0.000546 0.000544 0.000542 0.003305 \n", + " 7708cee9b5 0.000543 0.000542 0.000542 0.000372 \n", + "uniswap_v2 c60c551073 0.000543 0.000543 0.000542 0.001145 \n", + " 255 0.000543 0.000543 0.000542 0.000977 \n", + "sushiswap_v2 16dd65c110 0.000545 0.000544 0.000542 0.002852 \n", + " 803 0.000544 0.000543 0.000542 0.001529 \n", + "carbon_v1 41057353-0 1854.000185 1854.000000 1844.374364 0.005219 \n", + " 41057296-0 1929.999807 1929.997779 1844.374364 0.046424 \n", + " 41057337-0 1850.000000 1847.185040 1844.374364 0.001524 \n", + " 41057292-0 1853.408818 1851.703624 1844.374364 0.003974 \n", + "\n", + " gain_tknq gain_ttkn \n", + "exch cid \n", + "uniswap_v3 346 0.350196 0.350196 \n", + " a176b13aa0 0.085783 0.085783 \n", + " 593 0.063486 0.063486 \n", + " 7708cee9b5 0.002921 0.002921 \n", + "uniswap_v2 c60c551073 0.021421 0.021421 \n", + " 255 0.018728 0.018728 \n", + "sushiswap_v2 16dd65c110 0.074731 0.074731 \n", + " 803 0.020512 0.020512 \n", + "carbon_v1 41057353-0 40.974412 0.022216 \n", + " 41057296-0 0.092595 0.000050 \n", + " 41057337-0 0.066233 0.000036 \n", + " 41057292-0 0.024405 0.000013 " + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "295d2c70-e97f-4668-ae36-8b192e8e731e", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "5aba1b68-20ec-41ee-b373-12d37d586013", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
6c988ffdc9e74acd97ccfb16dd65c11048153.808651-2.618300e+01
7ed16708962e459abe5431a176b13aa0219435.452342-1.190613e+02
59335283.335545-1.919352e+01
25535207.230354-1.910769e+01
80324654.883465-1.338809e+01
50ac5ace09c1483987af46c60c55107334398.319089-1.867180e+01
346-404818.6831742.191376e+02
1701411834604692317316873037158841057353-0-7851.1336364.234700e+00
1701411834604692317316873037158841057296-0-1.9945371.033440e-03
00125d264f9d49369a467e7708cee9b514371.217743-7.794840e+00
1701411834604692317316873037158841057292-0-6.1413253.316581e-03
1701411834604692317316873037158841057337-0-43.5386552.357034e-02
PRICE1.0000001.844365e+03
AMMIn411504.2471892.234002e+02
AMMOut-412721.491327-2.234002e+02
TOTAL NET-1217.244138-3.372589e-08
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "6c988ffdc9e74acd97ccfb16dd65c110 48153.808651 -2.618300e+01\n", + "7ed16708962e459abe5431a176b13aa0 219435.452342 -1.190613e+02\n", + "593 35283.335545 -1.919352e+01\n", + "255 35207.230354 -1.910769e+01\n", + "803 24654.883465 -1.338809e+01\n", + "50ac5ace09c1483987af46c60c551073 34398.319089 -1.867180e+01\n", + "346 -404818.683174 2.191376e+02\n", + "1701411834604692317316873037158841057353-0 -7851.133636 4.234700e+00\n", + "1701411834604692317316873037158841057296-0 -1.994537 1.033440e-03\n", + "00125d264f9d49369a467e7708cee9b5 14371.217743 -7.794840e+00\n", + "1701411834604692317316873037158841057292-0 -6.141325 3.316581e-03\n", + "1701411834604692317316873037158841057337-0 -43.538655 2.357034e-02\n", + "PRICE 1.000000 1.844365e+03\n", + "AMMIn 411504.247189 2.234002e+02\n", + "AMMOut -412721.491327 -2.234002e+02\n", + "TOTAL NET -1217.244138 -3.372589e-08" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR)" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "bc936f2b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 1217.4465 USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v33460.0005USDC/WETH219.137592WETH-6Cc20.0005410.0005410.0005420.0016030.351364648.043221
a176b13aa00.0030USDC/WETH-119.061269WETH-6Cc20.0005430.0005430.0005420.0007150.085146157.040018
5930.0100USDC/WETH-19.193523WETH-6Cc20.0005460.0005440.0005420.0033020.063383116.901957
7708cee9b50.0100USDC/WETH-7.794840WETH-6Cc20.0005430.0005420.0005420.0003690.0028795.309908
uniswap_v2c60c5510730.0030USDC/WETH-18.671797WETH-6Cc20.0005430.0005430.0005420.0011420.02132239.324842
2550.0030USDC/WETH-19.107693WETH-6Cc20.0005430.0005430.0005420.0009750.01862634.353747
sushiswap_v216dd65c1100.0030USDC/WETH-26.182997WETH-6Cc20.0005450.0005440.0005420.0028490.074591137.572742
8030.0030USDC/WETH-13.388094WETH-6Cc20.0005440.0005430.0005420.0015270.02044137.700018
carbon_v141057353-00.0020WETH/USDC-7851.133636USDC-eB481854.0001851854.0000001844.3645210.00522441.01653141.016531
41057296-00.0020WETH/USDC-1.994537USDC-eB481929.9998071929.9977791844.3645210.0464300.0926060.092606
41057337-00.0020WETH/USDC-43.538655USDC-eB481850.0000001847.1801111844.3645210.0015270.0664660.066466
41057292-00.0020WETH/USDC-6.141325USDC-eB481853.4088181851.7036241844.3645210.0039790.0244380.024438
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq \\\n", + "exch cid \n", + "uniswap_v3 346 0.0005 USDC/WETH 219.137592 WETH-6Cc2 \n", + " a176b13aa0 0.0030 USDC/WETH -119.061269 WETH-6Cc2 \n", + " 593 0.0100 USDC/WETH -19.193523 WETH-6Cc2 \n", + " 7708cee9b5 0.0100 USDC/WETH -7.794840 WETH-6Cc2 \n", + "uniswap_v2 c60c551073 0.0030 USDC/WETH -18.671797 WETH-6Cc2 \n", + " 255 0.0030 USDC/WETH -19.107693 WETH-6Cc2 \n", + "sushiswap_v2 16dd65c110 0.0030 USDC/WETH -26.182997 WETH-6Cc2 \n", + " 803 0.0030 USDC/WETH -13.388094 WETH-6Cc2 \n", + "carbon_v1 41057353-0 0.0020 WETH/USDC -7851.133636 USDC-eB48 \n", + " 41057296-0 0.0020 WETH/USDC -1.994537 USDC-eB48 \n", + " 41057337-0 0.0020 WETH/USDC -43.538655 USDC-eB48 \n", + " 41057292-0 0.0020 WETH/USDC -6.141325 USDC-eB48 \n", + "\n", + " margp0 effp margp gain_r \\\n", + "exch cid \n", + "uniswap_v3 346 0.000541 0.000541 0.000542 0.001603 \n", + " a176b13aa0 0.000543 0.000543 0.000542 0.000715 \n", + " 593 0.000546 0.000544 0.000542 0.003302 \n", + " 7708cee9b5 0.000543 0.000542 0.000542 0.000369 \n", + "uniswap_v2 c60c551073 0.000543 0.000543 0.000542 0.001142 \n", + " 255 0.000543 0.000543 0.000542 0.000975 \n", + "sushiswap_v2 16dd65c110 0.000545 0.000544 0.000542 0.002849 \n", + " 803 0.000544 0.000543 0.000542 0.001527 \n", + "carbon_v1 41057353-0 1854.000185 1854.000000 1844.364521 0.005224 \n", + " 41057296-0 1929.999807 1929.997779 1844.364521 0.046430 \n", + " 41057337-0 1850.000000 1847.180111 1844.364521 0.001527 \n", + " 41057292-0 1853.408818 1851.703624 1844.364521 0.003979 \n", + "\n", + " gain_tknq gain_ttkn \n", + "exch cid \n", + "uniswap_v3 346 0.351364 648.043221 \n", + " a176b13aa0 0.085146 157.040018 \n", + " 593 0.063383 116.901957 \n", + " 7708cee9b5 0.002879 5.309908 \n", + "uniswap_v2 c60c551073 0.021322 39.324842 \n", + " 255 0.018626 34.353747 \n", + "sushiswap_v2 16dd65c110 0.074591 137.572742 \n", + " 803 0.020441 37.700018 \n", + "carbon_v1 41057353-0 41.016531 41.016531 \n", + " 41057296-0 0.092606 0.092606 \n", + " 41057337-0 0.066466 0.066466 \n", + " 41057292-0 0.024438 0.024438 " + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py b/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py new file mode 100644 index 000000000..b15d8dc3c --- /dev/null +++ b/resources/NBTest/NBTest_900_OptimizerDetailedSlow.py @@ -0,0 +1,695 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +#from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.optimizer import OptimizerBase, CPCArbOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(OptimizerBase)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +#print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +#plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# # Mostly Optimizer Tests [NB006] + +# + +# bot = Bot() +# CCm = bot.get_curves() +try: + CCm = CPCContainer.from_df(pd.read_csv("_data/NBTest_006.csv.gz")) +except: + CCm = CPCContainer.from_df(pd.read_csv("fastlane_bot/tests/nbtest/_data/NBTest_006.csv.gz")) + +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) +#CCm.asdf().to_csv("A011-test.csv.gz", compression = "gzip") +# - + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + +# ## Market structure analysis [NOTEST] + +print(f"Total pairs: {len(pairs0):4}") +print(f"Primary pairs: {len(pairs):4}") +print(f"...carbon: {len(pairsc):4}") +print(f"Tokens: {len(CA.tokens()):4}") +print(f"Curves: {len(CCm):4}") + +CA.count_by_pairs() + +CA.count_by_pairs(minn=2) + +# ### All crosses + +CCx = CCm.bypairs( + CCm.filter_pairs(notin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") +) +len(CCx), CCx.token_count()[:10] + +AGx=ArbGraph.from_cc(CCx) +AGx.plot(labels=False, node_size=50, node_color="#fcc")._ + +# ### Biggest crosses (HEX, UNI, ICHI, FRAX) + +CCx2 = CCx.bypairs( + CCx.filter_pairs(onein=f"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}") +) +ArbGraph.from_cc(CCx2).plot() +len(CCx2) + +# ### Carbon + +ArbGraph.from_cc(CCc1).plot()._ + +len(CCc1), len(CCc1.tokens()) + +CCc1.token_count() + + +len(CCc1.pairs()), CCc1.pairs() + +# ### Token subsets + +O = MargPOptimizer(CCm.bypairs( + CCm.filter_pairs(bothin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") +)) +r = O.margp_optimizer(f"{T.USDC}", params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + +# + +#r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("").to_excel("ti.xlsx") +# - + +ArbGraph.from_r(r).plot()._ + +# + +#O.CC.plot() +# - + +# ## ABC Tests + +assert raises(OptimizerBase).startswith("Can't instantiate abstract class") +assert raises(OptimizerBase.OptimizerResult).startswith("Can't instantiate abstract class") + +assert raises(CPCArbOptimizer).startswith("Can't instantiate abstract class") +assert raises(CPCArbOptimizer.OptimizerResult).startswith("Can't instantiate abstract class") + +assert not raises(MargPOptimizer, CCm) +assert not raises(SimpleOptimizer, CCm) +assert not raises(ConvexOptimizer, CCm) + +assert MargPOptimizer(CCm).kind == "margp" +assert SimpleOptimizer(CCm).kind == "simple" +assert ConvexOptimizer(CCm).kind == "convex" + +CPCArbOptimizer.MargpOptimizerResult(None, time=0,errormsg="err", optimizer=None) + +# ## General and Specific Tests + +CA = CAm + +# ### General tests + +# #### General data integrity (should ALWAYS hold) + +assert len(pairs0) > 2500 +assert len(pairs) > 2500 +assert len(pairs0) > len(pairs) +assert len(pairsc) > 10 +assert len(CCm.tokens()) > 2000 +assert len(CCm)>4000 +assert len(CCm.filter_pairs(onein=f"{T.ETH}")) > 1900 # ETH pairs +assert len(CCm.filter_pairs(onein=f"{T.USDC}")) > 300 # USDC pairs +assert len(CCm.filter_pairs(onein=f"{T.USDT}")) > 190 # USDT pairs +assert len(CCm.filter_pairs(onein=f"{T.DAI}")) > 50 # DAI pairs +assert len(CCm.filter_pairs(onein=f"{T.WBTC}")) > 30 # WBTC pairs + +xis0 = {c.cid: (c.x, c.y) for c in CCm if c.x==0} +yis0 = {c.cid: (c.x, c.y) for c in CCm if c.y==0} +assert len(xis0) == 0 # set loglevel debug to see removal of curves +assert len(yis0) == 0 + +# #### Data integrity + +assert len(CCm) == 4155 +assert len(CCu3) == 1411 +assert len(CCu2) == 2177 +assert len(CCs2) == 236 +assert len(CCm.tokens()) == 2233 +assert len(CCm.pairs()) == 2834 +assert len(CCm.pairs(standardize=False)) == 2864 + + +assert CA.pairs() == CCm.pairs(standardize=True) +assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} +assert CA.tokens() == CCm.tokens() + +# #### prices + +r1 = CCc1.prices(result=CCc1.PR_TUPLE) +r2 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False) +r3 = CCc1.prices(result=CCc1.PR_TUPLE, primary=False, inclpair=False) +assert isinstance(r1, tuple) +assert isinstance(r2, tuple) +assert isinstance(r3, tuple) +assert len(r1) == len(r2) +assert len(r1) == len(r3) +assert len(r1[0]) == 3 +assert isinstance(r1[0][0], str) +assert isinstance(r1[0][1], float) +assert len(r1[0][2].split("/"))==2 + +r2[:2] + +r3[:2] + +r1a = CCc1.prices(result=CCc1.PR_DICT) +r2a = CCc1.prices(result=CCc1.PR_DICT, primary=False) +r3a = CCc1.prices(result=CCc1.PR_DICT, primary=False, inclpair=False) +assert isinstance(r1a, dict) +assert isinstance(r2a, dict) +assert isinstance(r3a, dict) +assert len(r1a) == len(r1) +assert len(r1a) == len(r2a) +assert len(r1a) == len(r3a) +assert list(r1a.keys()) == list(x[0] for x in r1) +assert r1a.keys() == r2a.keys() +assert r1a.keys() == r3a.keys() +assert set(len(x) for x in r1a.values()) == {2}, "all records must be of of length 2" +assert set(type(x[0]) for x in r1a.values()) == {float}, "all records must have first type float" +assert set(type(x[1]) for x in r1a.values()) == {str}, "all records must have second type str" +assert tuple(r3a.values()) == r3 + +df = CCc1.prices(result=CCc1.PR_DF, primary=False) +assert len(df) == len(r1) +assert tuple(df.index) == tuple(x[0] for x in r1) +assert tuple(df["price"]) == r3 +df + +# #### more prices + +CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") + +r = CCt.prices(result=CCt.PR_TUPLE) +assert isinstance(r, tuple) +assert len(r) == len(CCt) +assert r[0] == ('6c988ffdc9e74acd97ccfb16dd65c110', 1833.9007005259564, 'WETH-6Cc2/USDC-eB48') +assert CCt.prices() == CCt.prices(result=CCt.PR_DICT) +r = CCt.prices(result=CCt.PR_DICT) +assert len(r) == len(CCt) +assert isinstance(r, dict) +assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == (1833.9007005259564, 'WETH-6Cc2/USDC-eB48') +df = CCt.prices(result=CCt.PR_DF) +assert len(df) == len(CCt) +assert tuple(df.loc["1701411834604692317316873037158841057339-0"]) == (1799.9999997028303, 'WETH-6Cc2/USDC-eB48') + +# #### price_ranges + +CCt = CCm.bypairs(f"{T.USDC}/{T.ETH}") +CAt = CPCAnalyzer(CCt) + +r = CAt.price_ranges(result=CAt.PR_TUPLE) +assert len(r) == len(CCt) +assert r[0] == ( + 'WETH/USDC', + '16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 +) +assert r[1] == ( + 'WETH/USDC', + '41057334-0', + 'carbon_v1', + 'b', + '', + 1699.999829864358, + 1700.000169864341, + 1700.000169864341 +) +r = CAt.price_ranges(result=CAt.PR_TUPLE, short=False) +assert r[0] == ( + 'WETH-6Cc2/USDC-eB48', + '6c988ffdc9e74acd97ccfb16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 +) +r = CAt.price_ranges(result=CAt.PR_DICT) +assert len(r) == len(CCt) +assert r['6c988ffdc9e74acd97ccfb16dd65c110'] == ( + 'WETH/USDC', + '16dd65c110', + 'sushiswap_v2', + 'b', + 's', + None, + None, + 1833.9007005259564 +) +df = CAt.price_ranges(result=CAt.PR_DF) +assert len(df) == len(CCt) +assert tuple(df.index.names) == ('pair', 'exch', 'cid') +assert tuple(df.columns) == ('b', 's', 'p_min', 'p_max', 'p_marg') +assert set(df["p_marg"]) == set(x[-1] for x in CAt.price_ranges(result=CCt.PR_TUPLE)) +for p1, p2 in zip(df["p_marg"], df["p_marg"][1:]): + assert p2 >= p1 +df + +# #### count_by_pairs + +assert len(CA.count_by_pairs()) == len(CA.pairs()) +assert sum(CA.count_by_pairs()["count"])==len(CA.CC) +assert np.all(CA.count_by_pairs() == CA.count_by_pairs(asdf=True)) +assert len(CA.count_by_pairs()) == len(CA.count_by_pairs(asdf=False)) +assert type(CA.count_by_pairs()).__name__ == "DataFrame" +assert type(CA.count_by_pairs(asdf=False)).__name__ == "list" +assert type(CA.count_by_pairs(asdf=False)[0]).__name__ == "tuple" +for i in range(10): + assert len(CA.count_by_pairs(minn=i)) >= len(CA.count_by_pairs(minn=i)), f"failed {i}" + +# #### count_by_tokens + +r = CA.count_by_tokens() +assert len(r) == len(CA.tokens()) +assert sum(r["total"]) == 2*len(CA.CC) +assert tuple(r["total"]) == tuple(x[1] for x in CA.CC.token_count()) +for ix, row in r[:10].iterrows(): + assert row[0] >= sum(row[1:]), f"failed at {ix} {tuple(row)}" +CA.count_by_tokens() + +# #### pool_arbitrage_statistics + +pas = CAm.pool_arbitrage_statistics() +assert np.all(pas == CAm.pool_arbitrage_statistics(CAm.POS_DF)) +assert len(pas)==165 +assert list(pas.columns) == ['price', 'vl', 'itm', 'b', 's', 'bsv'] +assert list(pas.index.names) == ['pair', 'exchange', 'cid0'] +assert {x[0] for x in pas.index} == {Pair.n(x) for x in CAm.pairsc()} +assert {x[1] for x in pas.index} == {'bancor_v2', 'bancor_v3','carbon_v1','sushiswap_v2','uniswap_v2','uniswap_v3'} +pas + +pasd = CAm.pool_arbitrage_statistics(CAm.POS_DICT) +assert isinstance(pasd, dict) +assert len(pasd) == 26 +assert len(pasd['WETH-6Cc2/DAI-1d0F']) == 7 +pd0 = pasd['WETH-6Cc2/DAI-1d0F'][0] +assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') +assert iseq(pd0[2], 1840.1216491367131) +assert pd0[3:6] == ('594', '594', 'uniswap_v3') +assert iseq(pd0[6], 8.466598820198278) +assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') +pd0 + +pasl = CAm.pool_arbitrage_statistics(result = CAm.POS_LIST) +assert isinstance(pasl, tuple) +assert len(pasl) == len(pas) +pd0 = [(ix, x) for ix, x in enumerate(pasl) if x[2]==1840.1216491367131] +pd0 = pasl[pd0[0][0]] +assert pd0[:2] == ('WETH/DAI', 'WETH-6Cc2/DAI-1d0F') +assert iseq(pd0[2], 1840.1216491367131) +assert pd0[3:6] == ('594', '594', 'uniswap_v3') +assert iseq(pd0[6], 8.466598820198278) +assert pd0[7:] == ('', 'b', 's', 'buy-sell-WETH @ 1840.12 DAI per WETH') +pd0 + +# ### MargP Optimizer + +# #### margp optimizer + +tokenlist = f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}" +targettkn = f"{T.USDC}" +O = MargPOptimizer(CCm.bypairs(CCm.filter_pairs(bothin=tokenlist))) +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") + +# #### MargpOptimizerResult + +assert type(r) == MargPOptimizer.MargpOptimizerResult +assert iseq(r.result, -4606.010157294979) +assert r.time > 0.001 +assert r.time < 0.1 +assert r.method == O.METHOD_MARGP +assert r.targettkn == targettkn +assert set(r.tokens_t)==set(['USDT-1ec7', 'WETH-6Cc2', 'WBTC-C599', 'DAI-1d0F', 'BNT-FF1C']) +p_opt_d0 = {t:x for x, t in zip(r.p_optimal_t, r.tokens_t)} +p_opt_d = {t:round(x,6) for x, t in zip(r.p_optimal_t, r.tokens_t)} +print("optimal p", p_opt_d) +assert p_opt_d == {'WETH-6Cc2': 1842.67228, 'WBTC-C599': 27604.143472, + 'BNT-FF1C': 0.429078, 'USDT-1ec7': 1.00058, 'DAI-1d0F': 1.000179} +assert r.p_optimal[r.targettkn] == 1 +po = [(k,v) for k,v in r.p_optimal.items()][:-1] +assert len(po)==len(r.p_optimal_t) +for k,v in po: + assert p_opt_d0[k] == v, f"error at {k}, {v}, {p_opt_d0[k]}" + +# #### TradeInstructions + +assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) +ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) +cids = tuple(ti_.cid for ti_ in ti) +assert isinstance(ti, tuple) +assert len(ti) == 86 +ti0=[x for x in ti if x.cid=="357"] +assert len(ti0)==1 +ti0=ti0[0] +assert ti0.cid == ti0.curve.cid +assert type(ti0).__name__ == "TradeInstruction" +assert type(ti[0]) == MargPOptimizer.TradeInstruction +assert ti0.tknin == f"{T.USDT}" +assert ti0.tknout == f"{T.USDC}" +assert round(ti0.amtin, 8) == 1214.45596849 +assert round(ti0.amtout, 8) == -1216.41933959 +assert ti0.error is None +ti[:2] + +tid = r.trade_instructions(ti_format=O.TIF_DICTS) +assert isinstance(tid, tuple) +assert len(tid) == len(ti) +tid0=[x for x in tid if x["cid"]=="357"] +assert len(tid0)==1 +tid0=tid0[0] +assert type(tid0)==dict +assert tid0["tknin"] == f"{T.USDT}" +assert tid0["tknout"] == f"{T.USDC}" +assert round(tid0["amtin"], 8) == 1214.45596849 +assert round(tid0["amtout"], 8) == -1216.41933959 +assert tid0["error"] is None +tid[:2] + +df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") +assert tuple(df.index) == cids +assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) +assert len(df) == len(ti) +assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] +assert len(df.columns) == 4 + len(r.tokens_t) + 1 +tif0 = dict(df.loc["357"]) +assert tif0["pair"] == "USDC-eB48/USDT-1ec7" +assert tif0["pairp"] == "USDC/USDT" +assert tif0["tknin"] == tid0["tknin"] +assert tif0[tif0["tknin"]] == tid0["amtin"] +assert tif0[tif0["tknout"]] == tid0["amtout"] +df[:2] + +dfa = r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("") +assert tuple(dfa.index)[:-4] == cids +assert len(dfa) == len(df)+4 +assert len(dfa.columns) == len(r.tokens_t) + 1 +assert set(dfa.columns) == set(r.tokens_t).union(set([r.targettkn])) +assert list(dfa.index)[-4:] == ['PRICE', 'AMMIn', 'AMMOut', 'TOTAL NET'] +dfa[:10] + +dfpg = r.trade_instructions(ti_format=O.TIF_DFPG) +assert set(x[1] for x in dfpg.index) == set(cids) +assert np.all(dfpg["gain_tknq"]>=0) +assert np.all(dfpg["gain_r"]>=0) +assert round(np.max(dfpg["gain_r"]),8) == 0.04739068 +assert round(np.min(dfpg["gain_r"]),8) == 1.772e-05 +assert len(dfpg) == len(ti) +for p, t in zip(tuple(dfpg["pair"]), tuple(dfpg["tknq"])): + assert p.split("/")[1] == t, f"error in {p} [{t}]" +print(f"total gains: {sum(dfpg['gain_ttkn']):,.2f} {r.targettkn} [result={-r.result:,.2f}]") +assert abs(sum(dfpg["gain_ttkn"])/r.result+1)<0.01 +dfpg[:10] + +# ### Convex Optimizer + +tokens = f"{T.DAI},{T.USDT},{T.HEX},{T.WETH},{T.LINK}" +CCo = CCu2.bypairs(CCu2.filter_pairs(bothin=tokens)) +CCo += CCs2.bypairs(CCu2.filter_pairs(bothin=tokens)) +CA = CPCAnalyzer(CCo) +O = ConvexOptimizer(CCo) +#ArbGraph.from_cc(CCo).plot()._ + +CA.count_by_tokens() + +# + +#CCo.plot() +# - + +# #### convex optimizer + +targettkn = T.USDT +# r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=False)) +# r + +SFC = O.SFC(**{targettkn:O.AMMPays}) +r = O.convex_optimizer(SFC, verbose=False, solver=O.SOLVER_SCS) +r + +# #### NofeesOptimizerResult + +round(r.result,-5) + +assert type(r) == ConvexOptimizer.NofeesOptimizerResult +# assert round(r.result,-5) <= -1500000.0 +# assert round(r.result,-5) >= -2500000.0 +assert r.time < 5 +assert r.method == "convex" +assert set(r.token_table.keys()) == set(['USDT-1ec7', 'WETH-6Cc2', 'LINK-86CA', 'DAI-1d0F', 'HEX-eb39']) +assert len(r.token_table[T.USDT].x)==0 +assert len(r.token_table[T.USDT].y)==10 +lx = list(it.chain(*[rr.x for rr in r.token_table.values()])) +lx.sort() +ly = list(it.chain(*[rr.y for rr in r.token_table.values()])) +ly.sort() +assert lx == [_ for _ in range(21)] +assert ly == lx + +# #### trade instructions + +ti = r.trade_instructions() +assert type(ti[0]) == ConvexOptimizer.TradeInstruction + +assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) +ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) +cids = tuple(ti_.cid for ti_ in ti) +assert isinstance(ti, tuple) +assert len(ti) == 21 +ti0=[x for x in ti if x.cid=="175"] +assert len(ti0)==1 +ti0=ti0[0] +assert ti0.cid == ti0.curve.cid +assert type(ti0).__name__ == "TradeInstruction" +assert type(ti[0]) == ConvexOptimizer.TradeInstruction +assert ti0.tknin == f"{T.LINK}" +assert ti0.tknout == f"{T.DAI}" +# assert round(ti0.amtin, 8) == 8.50052943 +# assert round(ti0.amtout, 8) == -50.40963779 +assert ti0.error is None +ti[:2] + +tid = r.trade_instructions(ti_format=O.TIF_DICTS) +assert isinstance(tid, tuple) +assert type(tid[0])==dict +assert len(tid) == len(ti) +tid0=[x for x in tid if x["cid"]=="175"] +assert len(tid0)==1 +tid0=tid0[0] +assert tid0["tknin"] == f"{T.LINK}" +assert tid0["tknout"] == f"{T.DAI}" +# assert round(tid0["amtin"], 8) == 8.50052943 +# assert round(tid0["amtout"], 8) == -50.40963779 +assert tid0["error"] is None +tid[:2] + +df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") +assert tuple(df.index) == cids +assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) +assert len(df) == len(ti) +assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] +assert len(df.columns) == 4 + 4 + 1 +tif0 = dict(df.loc["175"]) +assert tif0["pair"] == 'LINK-86CA/DAI-1d0F' +assert tif0["pairp"] == "LINK/DAI" +assert tif0["tknin"] == tid0["tknin"] +assert tif0[tif0["tknin"]] == tid0["amtin"] +assert tif0[tif0["tknout"]] == tid0["amtout"] +df[:2] + +assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") +assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") + +# ### Simple Optimizer + +pair = f"{T.ETH}/{T.USDC}" +CCs = CCm.bypairs(pair) +CA = CPCAnalyzer(CCs) +O = SimpleOptimizer(CCs) +#ArbGraph.from_cc(CCs).plot()._ + +CA.count_by_tokens() + +# + +#CCs.plot() +# - + +# #### simple optimizer + +r = O.simple_optimizer(T.USDC) +r + +# #### result + +assert type(r) == SimpleOptimizer.SimpleOptimizerResult +assert round(r.result,5) <= -1217.28494 +assert r.time < 0.1 +assert r.method == "simple-targettkn" +assert r.errormsg is None + +round(r.result,5) + +# #### trade instructions + +ti = r.trade_instructions() +assert type(ti[0]) == SimpleOptimizer.TradeInstruction + +assert r.trade_instructions() == r.trade_instructions(ti_format=O.TIF_OBJECTS) +ti = r.trade_instructions(ti_format=O.TIF_OBJECTS) +cids = tuple(ti_.cid for ti_ in ti) +assert isinstance(ti, tuple) +assert len(ti) == 12 +ti0=[x for x in ti if x.cid=="6c988ffdc9e74acd97ccfb16dd65c110"] +assert len(ti0)==1 +ti0=ti0[0] +assert ti0.cid == ti0.curve.cid +assert type(ti0).__name__ == "TradeInstruction" +assert type(ti[0]) == SimpleOptimizer.TradeInstruction +assert ti0.tknin == f"{T.USDC}" +assert ti0.tknout == f"{T.WETH}" +assert round(ti0.amtin, 8) == 48153.80713493 +assert round(ti0.amtout, 8) == -26.18299611 +assert ti0.error is None +ti[:2] + +tid = r.trade_instructions(ti_format=O.TIF_DICTS) +assert isinstance(tid, tuple) +assert type(tid[0])==dict +assert len(tid) == len(ti) +tid0=[x for x in tid if x["cid"]=="6c988ffdc9e74acd97ccfb16dd65c110"] +assert len(tid0)==1 +tid0=tid0[0] +assert tid0["tknin"] == f"{T.USDC}" +assert tid0["tknout"] == f"{T.WETH}" +assert round(tid0["amtin"], 8) == 48153.80713493 +assert round(tid0["amtout"], 8) == -26.18299611 +assert tid0["error"] is None +tid[:2] + +df = r.trade_instructions(ti_format=O.TIF_DF).fillna("") +assert tuple(df.index) == cids +assert np.all(r.trade_instructions(ti_format=O.TIF_DFRAW).fillna("")==df) +assert len(df) == len(ti) +assert list(df.columns)[:4] == ['pair', 'pairp', 'tknin', 'tknout'] +assert len(df.columns) == 4 + 1 + 1 +tif0 = dict(df.loc["6c988ffdc9e74acd97ccfb16dd65c110"]) +assert tif0["pair"] == 'WETH-6Cc2/USDC-eB48' +assert tif0["pairp"] == "WETH/USDC" +assert tif0["tknin"] == tid0["tknin"] +assert tif0[tif0["tknin"]] == tid0["amtin"] +assert tif0[tif0["tknout"]] == tid0["amtout"] +df[:2] + +assert raises(r.trade_instructions, ti_format=O.TIF_DFAGGR).startswith("TIF_DFAGGR not implemented for") +assert raises(r.trade_instructions, ti_format=O.TIF_DFPG).startswith("TIF_DFPG not implemented for") + +# ## Analysis by pair + +# + +# CCm1 = CAm.CC.copy() +# CCm1 += CPC.from_carbon( +# pair=f"{T.WETH}/{T.USDC}", +# yint = 1, +# y = 1, +# pa = 1500, +# pb = 1501, +# tkny = f"{T.WETH}", +# cid = "test-1", +# isdydx=False, +# params=dict(exchange="carbon_v1"), +# ) +# CAm1 = CPCAnalyzer(CCm1) +# CCm1.asdf().to_csv("NBTest_006-augmented.csv.gz", compression = "gzip") +# - + +pricedf = CAm.pool_arbitrage_statistics() +assert len(pricedf)==165 +pricedf + +# ### WETH/USDC + +pair = "WETH-6Cc2/USDC-eB48" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +assert len(df)==24 +df + +pi = CAm.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 diff --git a/resources/NBTest/NBTest_041_TestMultiTriangleMode.ipynb b/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.ipynb similarity index 78% rename from resources/NBTest/NBTest_041_TestMultiTriangleMode.ipynb rename to resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.ipynb index 71e77fe66..c0e43e183 100644 --- a/resources/NBTest/NBTest_041_TestMultiTriangleMode.ipynb +++ b/resources/NBTest/NBTest_901_TestMultiTriangleModeSlow.ipynb @@ -15,28 +15,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "ConstantProductCurve v2.10.1 (07/May/2023)\n", + "ConstantProductCurve v2.14 (23/May/2023)\n", "CarbonBot v3-b2.2 (20/June/2023)\n", "UniswapV2 v0.0.1 (2023-07-03)\n", "UniswapV3 v0.0.1 (2023-07-03)\n", "SushiswapV2 v0.0.1 (2023-07-03)\n", "CarbonV1 v0.0.1 (2023-07-03)\n", "BancorV3 v0.0.1 (2023-07-03)\n", - "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\Kveen\\AppData\\Local\\Temp\\ipykernel_824\\1475092902.py:28: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4817
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB485
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
DAI-1d0F/USDT-1ec73
LINK-86CA/USDT-1ec73
CRV-cd52/USDC-eB483
WBTC-C599/WETH-6Cc23
BNT-FF1C/USDC-eB483
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WBTC-C599/USDC-eB482
WETH-6Cc2/USDT-1ec72
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
PEPE-E35F/WETH-6Cc21
Silo-B1f8/USDC-eB481
vBNT-7f94/USDC-eB481
RPL-A51f/XCHF-fc081
LBR-aCcA/WETH-6Cc21
\n", + "" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 17\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 5\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "LINK-86CA/USDT-1ec7 3\n", + "CRV-cd52/USDC-eB48 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WBTC-C599/USDC-eB48 2\n", + "WETH-6Cc2/USDT-1ec7 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2\n", + "PEPE-E35F/WETH-6Cc2 1\n", + "Silo-B1f8/USDC-eB48 1\n", + "vBNT-7f94/USDC-eB48 1\n", + "RPL-A51f/XCHF-fc08 1\n", + "LBR-aCcA/WETH-6Cc2 1" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs()" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "f77c58ad-454b-4a3d-9bbe-1c92cc04c731", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4817
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB485
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
DAI-1d0F/USDT-1ec73
LINK-86CA/USDT-1ec73
CRV-cd52/USDC-eB483
WBTC-C599/WETH-6Cc23
BNT-FF1C/USDC-eB483
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WBTC-C599/USDC-eB482
WETH-6Cc2/USDT-1ec72
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 17\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 5\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "LINK-86CA/USDT-1ec7 3\n", + "CRV-cd52/USDC-eB48 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WBTC-C599/USDC-eB48 2\n", + "WETH-6Cc2/USDT-1ec7 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs(minn=2)" + ] + }, + { + "cell_type": "markdown", + "id": "a188b742-340e-469d-bce8-d8cff0aaebed", + "metadata": {}, + "source": [ + "### All crosses" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "e6099e82-4bd0-4748-ad2e-1a1c06d43896", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, [('MATIC-eBB0', 2), ('ARB-4ad1', 2), ('RPL-A51f', 1), ('XCHF-fc08', 1)])" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCx = CCm.bypairs(\n", + " CCm.filter_pairs(notin=f\"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}\")\n", + ")\n", + "len(CCx), CCx.token_count()[:10]" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "7c727bf9-3d6e-42b4-89e0-e6f398acb265", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "AGx=ArbGraph.from_cc(CCx)\n", + "AGx.plot(labels=False, node_size=50, node_color=\"#fcc\")._" + ] + }, + { + "cell_type": "markdown", + "id": "63a8cdac-1563-4a68-979f-6c0aec3a7a4e", + "metadata": {}, + "source": [ + "### Biggest crosses (HEX, UNI, ICHI, FRAX)" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "aba143f8-1b00-49fd-b5eb-88914d16a823", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA24AAAG+CAYAAADr8FdhAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAJ6klEQVR4nO3XMQEAIAzAMMC/5+GAlx6Jgr7dMzMLAACArPM7AAAAgDfjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIM24AAABxxg0AACDOuAEAAMQZNwAAgDjjBgAAEGfcAAAA4owbAABAnHEDAACIuzR8B3gG2eHcAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCx2 = CCx.bypairs(\n", + " CCx.filter_pairs(onein=f\"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}\")\n", + ")\n", + "ArbGraph.from_cc(CCx2).plot()\n", + "len(CCx2)" + ] + }, + { + "cell_type": "markdown", + "id": "4f0cb652-b27c-4210-aa53-dd86665429de", + "metadata": {}, + "source": [ + "### Carbon" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "6db0700b-9542-4ec4-8242-e9dad39958a2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ocefPHmy0LH79etHWFiYJTGC/AVtMnJy+XHnVnIuZVG3aQtadenKxiXzycvNvWGsZas/xMGDBwFwcHCgU6dObN++na+++orJkyezZs0aDMMgIiKCoKAgy3mjR49m4MCB2NkV/PPftGlTAgMDATh37hxjx46la9eulv3t2rVj1apVN3sKRUTkL6TETUREhPw6r8JWBC1dujRz5syhS5cuhIaG0rJly0KPNwwDe3v7Il8v12xgAr5etoAWQc9i7+BAozbtyLmUxe5NX97wXJPJhEvJkgC88847jB49mhIlSuDn50doaCirV6/m7NmznD9/nsqVKxc5pri4OFq2bEnz5s0ZMGCAZbu/vz9Hjhwp8jgiInL3KXETEREBKlasSFJSkuX7U6dO4eHhgaurK7/88gtlypSx1JUVdnxSUhLly5dn3bp1lkVCOnbseN3rOdiZSD51kh93fMOuDWvp16Yxg55qQV5uLl8tmHPDWGMPRlOndm0APv30UxITEy37DMPA0dERk8mEYRiYzeYiPf6tW7fStGlTevfuzcyZMwskpY6OjreUlIqIyN2nxE1ERIT82wH37t3L0aNHAZg5cyadO3dm3759TJ06laioKNLT05k6dSoAnTt3Zt68eeTm5nL+/Hm++OILgoODeeaZZyyLhGzYsOG61zOZTGxfuYSHAhszZ8cPzPxmHzO/2ceEiE0cO3SQwz98X+h5R3/6kc1fLGTIkCEAfPvtt0ycOBHIXwRl7ty5dOvWDS8vLzw8PCy1ajfyww8/0KVLFxYuXMibb755zf74+Hgeeuihm44jIiJ/HQdrByAiImILfHx8+PzzzwkJCSEnJ4eqVasyffp02rRpw6effoqfnx/z58+ncePGtGzZkv79+xMXF0e9evXIyckhNDSUxx9/vMjXy8nJIXLlUvq/93GB7eUqV6H508F8tWAOT73wEsmJCQwNbguAyc4O11JuTJ+3gHr16gEwbdo0QkNDqVWrFpcvX2bgwIE8+eSTADz33HNs2rSJ/v373zCWESNGYBgGw4cPt6yk6e/vz+rVqwHYtGlTgZo3ERG599SAW0RExEryzAYb4pK5bC76n2JHOxMdq5bB3u7aerw/i4+PJyQkhKioqELr94oiIyODxx57jKioKJydnW9rDBERuXO6VVJERMRK7O1MNCvviX0Rkyp70+/HFyFpg/xZs969ezNr1qzbjnHMmDFMmTJFSZuIiJVpxk1ERMTK0rJy2HUyDcOA3EL+LDuYTJhM0Ky8J54uTlaIUERErE2Jm4iIiA3IMxucyrxEzNlMMnJyMQEG4ObkQIBXKfxKORd5pk1ERO4/StxERERsjGEY5JoNHOxMt12bJiIi9xclbiIiIiIiIjZOi5OIiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI1T4iYiIiIiImLjlLiJiIiIiIjYOCVuIiIiIiIiNk6Jm4iIiIiIiI37f2IjH1jl7JMZAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ArbGraph.from_cc(CCc1).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "3a6a4aea-cf79-4e59-8f83-11f51e7c82de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(70, 21)" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1), len(CCc1.tokens())" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "97d9d897-8038-4e66-8ac7-56b2a04f3ea1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('WETH-6Cc2', 38),\n", + " ('USDC-eB48', 31),\n", + " ('BNT-FF1C', 20),\n", + " ('USDT-1ec7', 10),\n", + " ('vBNT-7f94', 10),\n", + " ('DAI-1d0F', 5),\n", + " ('WBTC-C599', 4),\n", + " ('LINK-86CA', 3),\n", + " ('CRV-cd52', 2),\n", + " ('stETH-fE84', 2),\n", + " ('0x0-1AD5', 2),\n", + " ('PEPE-1933', 2),\n", + " ('MATIC-eBB0', 2),\n", + " ('ARB-4ad1', 2),\n", + " ('rETH-6393', 1),\n", + " ('SMT-7173', 1),\n", + " ('LYXe-be6D', 1),\n", + " ('TSUKA-69eD', 1),\n", + " ('RPL-A51f', 1),\n", + " ('XCHF-fc08', 1),\n", + " ('LBR-aCcA', 1)]" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCc1.token_count()" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "c721f8aa-6d74-4c11-a6d4-adacf1c9043d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(26,\n", + " {'0x0-1AD5/WETH-6Cc2',\n", + " 'ARB-4ad1/MATIC-eBB0',\n", + " 'BNT-FF1C/USDC-eB48',\n", + " 'BNT-FF1C/WETH-6Cc2',\n", + " 'BNT-FF1C/vBNT-7f94',\n", + " 'CRV-cd52/USDC-eB48',\n", + " 'DAI-1d0F/USDC-eB48',\n", + " 'DAI-1d0F/USDT-1ec7',\n", + " 'LBR-aCcA/WETH-6Cc2',\n", + " 'LINK-86CA/USDC-eB48',\n", + " 'LINK-86CA/USDT-1ec7',\n", + " 'LYXe-be6D/USDC-eB48',\n", + " 'PEPE-1933/WETH-6Cc2',\n", + " 'RPL-A51f/XCHF-fc08',\n", + " 'SMT-7173/WETH-6Cc2',\n", + " 'TSUKA-69eD/USDC-eB48',\n", + " 'USDT-1ec7/USDC-eB48',\n", + " 'WBTC-C599/USDC-eB48',\n", + " 'WBTC-C599/USDT-1ec7',\n", + " 'WBTC-C599/WETH-6Cc2',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " 'WETH-6Cc2/USDT-1ec7',\n", + " 'rETH-6393/WETH-6Cc2',\n", + " 'stETH-fE84/WETH-6Cc2',\n", + " 'vBNT-7f94/USDC-eB48'})" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1.pairs()), CCc1.pairs()" + ] + }, + { + "cell_type": "markdown", + "id": "d156dc87", + "metadata": {}, + "source": [ + "### Token subsets" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "eeaedcf0-b3a8-48fc-9802-5d99640eee26", + "metadata": {}, + "outputs": [], + "source": [ + "O = MargPOptimizer(CCm.bypairs(\n", + " CCm.filter_pairs(bothin=f\"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}\")\n", + "))\n", + "r = O.margp_optimizer(f\"{T.USDC}\", params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "6b464dce-72bb-4e3e-8727-184f089cd026", + "metadata": {}, + "outputs": [], + "source": [ + "#r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna(\"\").to_excel(\"ti.xlsx\")" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "e2607921-01b9-48ad-8af5-296b26c7e643", + "metadata": {}, + "outputs": [], + "source": [ + "#ArbGraph.from_r(r).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "696cb5a1-882f-43f2-807a-63f25b1e7075", + "metadata": {}, + "outputs": [], + "source": [ + "#O.CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "a88a0c91-d85a-4e61-9d36-d0f35c568798", + "metadata": {}, + "source": [ + "## All pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "b7e0ba34-0036-4243-837d-cb98ab31f76b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WBTC/USDT - 0.0000 WBTC-C599 0.0000 USDT-1ec7 \n", + "DAI/USDC - 0.0000 DAI-1d0F 0.0000 USDC-eB48 \n", + "LBR/WETH - 0.0000 LBR-aCcA 0.0000 WETH-6Cc2 \n", + "WETH/USDC - 0.0027 WETH-6Cc2 0.0000 USDC-eB48 \n", + "vBNT/USDC - 0.0000 vBNT-7f94 0.0000 USDC-eB48 \n", + "CRV/USDC - 0.1321 CRV-cd52 0.0000 USDC-eB48 \n", + "WBTC/WETH - 0.0000 WBTC-C599 0.0000 WETH-6Cc2 \n", + "rETH/WETH - 0.0026 rETH-6393 0.0000 WETH-6Cc2 \n", + "WETH/DAI - -0.0000 WETH-6Cc2 0.0000 DAI-1d0F \n", + "BNT/vBNT - 0.0354 BNT-FF1C 0.0000 vBNT-7f94 \n", + "WETH/USDT - 0.0001 WETH-6Cc2 0.0000 USDT-1ec7 \n", + "LINK/USDT - 0.0033 LINK-86CA 0.0000 USDT-1ec7 \n", + "LINK/USDC - 0.0000 LINK-86CA 0.0000 USDC-eB48 \n", + "ARB/MATIC -\n", + "USDT/USDC - 0.4763 USDT-1ec7 0.0000 USDC-eB48 \n", + "WBTC/USDC - 0.0003 WBTC-C599 0.0000 USDC-eB48 \n", + "TSUKA/USDC - 0.0000 TSUKA-69eD 0.0000 USDC-eB48 \n", + "PEPE/WETH -\n", + "SMT/WETH - -0.0000 SMT-7173 0.0000 WETH-6Cc2 \n", + "0x0/WETH -\n", + "DAI/USDT - 0.0000 DAI-1d0F 0.0000 USDT-1ec7 \n", + "BNT/WETH - 0.4210 BNT-FF1C 0.0000 WETH-6Cc2 \n", + "BNT/USDC - 0.0000 BNT-FF1C 0.0000 USDC-eB48 \n", + "LYXe/USDC - 0.0000 LYXe-be6D 0.0000 USDC-eB48 \n", + "RPL/XCHF - 0.0000 RPL-A51f 0.0000 XCHF-fc08 \n", + "stETH/WETH - 0.0000 stETH-fE84 0.0000 WETH-6Cc2 \n" + ] + } + ], + "source": [ + "for pair in CAm.pairsc():\n", + " pi = CA.pair_data(pair)\n", + " O = MargPOptimizer(pi.CC)\n", + " tkn0, tkn1 = pair.split(\"/\")\n", + " \n", + " try:\n", + " r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False))\n", + " r0.trade_instructions(ti_format=O.TIF_DFAGGR)\n", + " r00 = r0.result or 0\n", + "\n", + " r1 = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + " r11 = r1.result or 0\n", + " r1.trade_instructions(ti_format=O.TIF_DFAGGR)\n", + "\n", + " print(f\"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}\")\n", + " except Exception as e:\n", + " print(f\"{Pair.n(pair):12}-\")" + ] + }, + { + "cell_type": "markdown", + "id": "1652b8f5", + "metadata": {}, + "source": [ + "## Analysis by pair" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "84750fca-1d91-4f77-bc1a-a361a1c8ae02", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
pairexchangecid0
0x0/WETHcarbon_v1132277-00.0000131.342084e+04bbuy-0x0 @ 0.00 WETH per 0x0
132277-10.0000153.597323e+02ssell-0x0 @ 0.00 WETH per 0x0
ARB/MATICcarbon_v1806240-01.5070451.276054e+01ssell-ARB @ 1.51 MATIC per ARB
806240-11.4285711.418060e+02bbuy-ARB @ 1.43 MATIC per ARB
BNT/USDCbancor_v37200.4241945.321981e+06bsbuy-sell-BNT @ 0.42 USDC per BNT
........................
rETH/WETHuniswap_v382c4849c1.0704971.851524e+02bsbuy-sell-rETH @ 1.07 WETH per rETH
stETH/WETHcarbon_v1422914-01.0101012.031521e-03ssell-stETH @ 1.01 WETH per stETH
422914-10.9900998.011450e-02bbuy-stETH @ 0.99 WETH per stETH
uniswap_v2ff7abe200.9993812.400440e+03bsbuy-sell-stETH @ 1.00 WETH per stETH
vBNT/USDCcarbon_v1171896-10.3900005.000000e+03ssell-vBNT @ 0.39 USDC per vBNT
\n", + "

90 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " price vl itm bs \\\n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 0.000013 1.342084e+04 b \n", + " 132277-1 0.000015 3.597323e+02 s \n", + "ARB/MATIC carbon_v1 806240-0 1.507045 1.276054e+01 s \n", + " 806240-1 1.428571 1.418060e+02 b \n", + "BNT/USDC bancor_v3 720 0.424194 5.321981e+06 bs \n", + "... ... ... .. .. \n", + "rETH/WETH uniswap_v3 82c4849c 1.070497 1.851524e+02 bs \n", + "stETH/WETH carbon_v1 422914-0 1.010101 2.031521e-03 s \n", + " 422914-1 0.990099 8.011450e-02 b \n", + " uniswap_v2 ff7abe20 0.999381 2.400440e+03 bs \n", + "vBNT/USDC carbon_v1 171896-1 0.390000 5.000000e+03 s \n", + "\n", + " bsv \n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 buy-0x0 @ 0.00 WETH per 0x0 \n", + " 132277-1 sell-0x0 @ 0.00 WETH per 0x0 \n", + "ARB/MATIC carbon_v1 806240-0 sell-ARB @ 1.51 MATIC per ARB \n", + " 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", + "BNT/USDC bancor_v3 720 buy-sell-BNT @ 0.42 USDC per BNT \n", + "... ... \n", + "rETH/WETH uniswap_v3 82c4849c buy-sell-rETH @ 1.07 WETH per rETH \n", + "stETH/WETH carbon_v1 422914-0 sell-stETH @ 1.01 WETH per stETH \n", + " 422914-1 buy-stETH @ 0.99 WETH per stETH \n", + " uniswap_v2 ff7abe20 buy-sell-stETH @ 1.00 WETH per stETH \n", + "vBNT/USDC carbon_v1 171896-1 sell-vBNT @ 0.39 USDC per vBNT \n", + "\n", + "[90 rows x 5 columns]" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pricedf = CAm.pool_arbitrage_statistics()\n", + "pricedf" + ] + }, + { + "cell_type": "markdown", + "id": "c066c726-ee75-41e3-8b3f-3b43792c6352", + "metadata": {}, + "source": [ + "### WETH/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "67122692-198a-4706-9526-cba8b35c2fb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WETH-6Cc2/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = \"WETH-6Cc2/USDC-eB48\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "fd022c7e-1c6a-4947-a156-a2ada671c8ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1057285-12099.9997900.006040ssell-WETH @ 2100.00 USDC per WETH
057292-01853.4088180.003314xbbuy-WETH @ 1853.41 USDC per WETH
057292-12000.0000000.016387ssell-WETH @ 2000.00 USDC per WETH
057296-01929.9998070.001033xbbuy-WETH @ 1930.00 USDC per WETH
057296-11949.99980510.460391ssell-WETH @ 1950.00 USDC per WETH
057299-11940.0000000.026117ssell-WETH @ 1940.00 USDC per WETH
057306-01405.0001403.558719bbuy-WETH @ 1405.00 USDC per WETH
057315-12300.0000000.487950ssell-WETH @ 2300.00 USDC per WETH
057331-01800.0000005.555556bbuy-WETH @ 1800.00 USDC per WETH
057334-01700.0001700.029412bbuy-WETH @ 1700.00 USDC per WETH
057334-11999.9998000.040000ssell-WETH @ 2000.00 USDC per WETH
057337-01850.0000001.081081xbbuy-WETH @ 1850.00 USDC per WETH
057339-01800.0000000.000556bbuy-WETH @ 1800.00 USDC per WETH
057343-11989.9998011.000000ssell-WETH @ 1990.00 USDC per WETH
057353-01853.9998150.004235xbbuy-WETH @ 1854.00 USDC per WETH
057353-12047.9997958.230465ssell-WETH @ 2048.00 USDC per WETH
uniswap_v376b13aa01804.497558429.172393xbsbuy-sell-WETH @ 1804.50 USDC per WETH
\n", + "
" + ], + "text/plain": [ + " price vl itm bs \\\n", + "exchange cid0 \n", + "carbon_v1 057285-1 2099.999790 0.006040 s \n", + " 057292-0 1853.408818 0.003314 x b \n", + " 057292-1 2000.000000 0.016387 s \n", + " 057296-0 1929.999807 0.001033 x b \n", + " 057296-1 1949.999805 10.460391 s \n", + " 057299-1 1940.000000 0.026117 s \n", + " 057306-0 1405.000140 3.558719 b \n", + " 057315-1 2300.000000 0.487950 s \n", + " 057331-0 1800.000000 5.555556 b \n", + " 057334-0 1700.000170 0.029412 b \n", + " 057334-1 1999.999800 0.040000 s \n", + " 057337-0 1850.000000 1.081081 x b \n", + " 057339-0 1800.000000 0.000556 b \n", + " 057343-1 1989.999801 1.000000 s \n", + " 057353-0 1853.999815 0.004235 x b \n", + " 057353-1 2047.999795 8.230465 s \n", + "uniswap_v3 76b13aa0 1804.497558 429.172393 x bs \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 057285-1 sell-WETH @ 2100.00 USDC per WETH \n", + " 057292-0 buy-WETH @ 1853.41 USDC per WETH \n", + " 057292-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057296-0 buy-WETH @ 1930.00 USDC per WETH \n", + " 057296-1 sell-WETH @ 1950.00 USDC per WETH \n", + " 057299-1 sell-WETH @ 1940.00 USDC per WETH \n", + " 057306-0 buy-WETH @ 1405.00 USDC per WETH \n", + " 057315-1 sell-WETH @ 2300.00 USDC per WETH \n", + " 057331-0 buy-WETH @ 1800.00 USDC per WETH \n", + " 057334-0 buy-WETH @ 1700.00 USDC per WETH \n", + " 057334-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057337-0 buy-WETH @ 1850.00 USDC per WETH \n", + " 057339-0 buy-WETH @ 1800.00 USDC per WETH \n", + " 057343-1 sell-WETH @ 1990.00 USDC per WETH \n", + " 057353-0 buy-WETH @ 1854.00 USDC per WETH \n", + " 057353-1 sell-WETH @ 2048.00 USDC per WETH \n", + "uniswap_v3 76b13aa0 buy-sell-WETH @ 1804.50 USDC per WETH " + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "ec801111-63d8-4c04-87ee-8d7c43ade0eb", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "0d26483f-54fc-4a5f-8745-d480a39f1af2", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "364d7536-a0f1-49d1-9189-5fb994febacf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
7ed16708962e459abe5431a176b13aa03.694090e+02-0.204715
1701411834604692317316873037158841057292-0-6.141325e+000.003317
1701411834604692317316873037158841057296-0-1.994537e+000.001033
1701411834604692317316873037158841057337-0-3.534220e+020.193432
1701411834604692317316873037158841057353-0-7.851120e+000.004235
PRICE5.541693e-041.000000
AMMIn3.694090e+020.202017
AMMOut-3.694090e+02-0.204715
TOTAL NET-1.955877e-07-0.002698
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "7ed16708962e459abe5431a176b13aa0 3.694090e+02 -0.204715\n", + "1701411834604692317316873037158841057292-0 -6.141325e+00 0.003317\n", + "1701411834604692317316873037158841057296-0 -1.994537e+00 0.001033\n", + "1701411834604692317316873037158841057337-0 -3.534220e+02 0.193432\n", + "1701411834604692317316873037158841057353-0 -7.851120e+00 0.004235\n", + "PRICE 5.541693e-04 1.000000\n", + "AMMIn 3.694090e+02 0.202017\n", + "AMMOut -3.694090e+02 -0.204715\n", + "TOTAL NET -1.955877e-07 -0.002698" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR)" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "e6ec3cb6-214d-4924-ab74-3ba204f20f42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.0027 WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.204715WETH-6Cc20.0005540.0005540.0005540.0000012.926785e-072.926785e-07
carbon_v141057337-00.002WETH/USDC-353.422042USDC-eB481850.0000001827.1097471804.5027180.0125284.427714e+002.453703e-03
41057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911804.5027180.0274302.153526e-011.193418e-04
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241804.5027180.0261571.606404e-018.902200e-05
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791804.5027180.0695461.387111e-017.686944e-05
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.204715 WETH-6Cc2 0.000554 \n", + "carbon_v1 41057337-0 0.002 WETH/USDC -353.422042 USDC-eB48 1850.000000 \n", + " 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000554 0.000554 0.000001 2.926785e-07 \n", + "carbon_v1 41057337-0 1827.109747 1804.502718 0.012528 4.427714e+00 \n", + " 41057353-0 1853.999391 1804.502718 0.027430 2.153526e-01 \n", + " 41057292-0 1851.703624 1804.502718 0.026157 1.606404e-01 \n", + " 41057296-0 1929.997779 1804.502718 0.069546 1.387111e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 2.926785e-07 \n", + "carbon_v1 41057337-0 2.453703e-03 \n", + " 41057353-0 1.193418e-04 \n", + " 41057292-0 8.902200e-05 \n", + " 41057296-0 7.686944e-05 " + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "295d2c70-e97f-4668-ae36-8b192e8e731e", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "5aba1b68-20ec-41ee-b373-12d37d586013", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
7ed16708962e459abe5431a176b13aa0364.540257-2.020173e-01
1701411834604692317316873037158841057292-0-6.1413253.316581e-03
1701411834604692317316873037158841057296-0-1.9945371.033440e-03
1701411834604692317316873037158841057337-0-353.4225731.934326e-01
1701411834604692317316873037158841057353-0-7.8511204.234694e-03
PRICE1.0000001.804503e+03
AMMIn364.5402572.020173e-01
AMMOut-369.409556-2.020173e-01
TOTAL NET-4.8692989.587264e-11
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "7ed16708962e459abe5431a176b13aa0 364.540257 -2.020173e-01\n", + "1701411834604692317316873037158841057292-0 -6.141325 3.316581e-03\n", + "1701411834604692317316873037158841057296-0 -1.994537 1.033440e-03\n", + "1701411834604692317316873037158841057337-0 -353.422573 1.934326e-01\n", + "1701411834604692317316873037158841057353-0 -7.851120 4.234694e-03\n", + "PRICE 1.000000 1.804503e+03\n", + "AMMIn 364.540257 2.020173e-01\n", + "AMMOut -369.409556 -2.020173e-01\n", + "TOTAL NET -4.869298 9.587264e-11" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "bc936f2b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 4.9429 USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.202017WETH-6Cc20.0005540.0005540.0005540.0000012.850311e-070.000514
carbon_v141057337-00.002WETH/USDC-353.422573USDC-eB481850.0000001827.1097131804.5026500.0125284.427728e+004.427728
41057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911804.5026500.0274302.153529e-010.215353
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241804.5026500.0261571.606407e-010.160641
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791804.5026500.0695461.387112e-010.138711
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.202017 WETH-6Cc2 0.000554 \n", + "carbon_v1 41057337-0 0.002 WETH/USDC -353.422573 USDC-eB48 1850.000000 \n", + " 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000554 0.000554 0.000001 2.850311e-07 \n", + "carbon_v1 41057337-0 1827.109713 1804.502650 0.012528 4.427728e+00 \n", + " 41057353-0 1853.999391 1804.502650 0.027430 2.153529e-01 \n", + " 41057292-0 1851.703624 1804.502650 0.026157 1.606407e-01 \n", + " 41057296-0 1929.997779 1804.502650 0.069546 1.387112e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000514 \n", + "carbon_v1 41057337-0 4.427728 \n", + " 41057353-0 0.215353 \n", + " 41057292-0 0.160641 \n", + " 41057296-0 0.138711 " + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b652336-878e-4387-aec8-99fc89761efb", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_011_Mainnet.py b/resources/NBTest/_ANALYSIS/Analysis_011_Mainnet.py new file mode 100644 index 000000000..f56c5f054 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_011_Mainnet.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +from fastlane_bot import Bot#, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# # Mainnet Statistics [A011] + +bot = Bot() +CCm = bot.get_curves() +#CCm = CPCContainer.from_df(pd.read_csv("A011.csv.gz")) +#CCm.asdf().to_csv("A011-test.csv.gz", compression = "gzip") +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) + + +# ## Market structure analysis [NOTEST] + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + +print(f"Total pairs: {len(pairs0):4}") +print(f"Primary pairs: {len(pairs):4}") +print(f"...carbon: {len(pairsc):4}") +print(f"Tokens: {len(CA.tokens()):4}") +print(f"Curves: {len(CCm):4}") + +CA.count_by_pairs() + +CA.count_by_pairs(minn=2) + +# ### All crosses + +CCx = CCm.bypairs( + CCm.filter_pairs(notin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") +) +len(CCx), CCx.token_count()[:10] + +AGx=ArbGraph.from_cc(CCx) +AGx.plot(labels=False, node_size=50, node_color="#fcc")._ + +# ### Biggest crosses (HEX, UNI, ICHI, FRAX) + +CCx2 = CCx.bypairs( + CCx.filter_pairs(onein=f"{T.HEX}, {T.UNI}, {T.ICHI}, {T.FRAX}") +) +ArbGraph.from_cc(CCx2).plot() +len(CCx2) + +# ### Carbon + +ArbGraph.from_cc(CCc1).plot()._ + +len(CCc1), len(CCc1.tokens()) + +CCc1.token_count() + + +len(CCc1.pairs()), CCc1.pairs() + +# ### Token subsets + +O = MargPOptimizer(CCm.bypairs( + CCm.filter_pairs(bothin=f"{T.ETH},{T.USDC},{T.USDT},{T.BNT},{T.DAI},{T.WBTC}") +)) +r = O.margp_optimizer(f"{T.USDC}", params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR) + +# + +#r.trade_instructions(ti_format=O.TIF_DFAGGR).fillna("").to_excel("ti.xlsx") + +# + +#ArbGraph.from_r(r).plot()._ + +# + +#O.CC.plot() +# - + +# ## All pairs + +for pair in CAm.pairsc(): + pi = CA.pair_data(pair) + O = MargPOptimizer(pi.CC) + tkn0, tkn1 = pair.split("/") + + try: + r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False)) + r0.trade_instructions(ti_format=O.TIF_DFAGGR) + r00 = r0.result or 0 + + r1 = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) + r11 = r1.result or 0 + r1.trade_instructions(ti_format=O.TIF_DFAGGR) + + print(f"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}") + except Exception as e: + print(f"{Pair.n(pair):12}-") + +# ## Analysis by pair + +pricedf = CAm.pool_arbitrage_statistics() +pricedf + +# ### WETH/USDC + +pair = "WETH-6Cc2/USDC-eB48" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.ipynb b/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.ipynb new file mode 100644 index 000000000..063374a55 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.ipynb @@ -0,0 +1,930 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", + "ConstantProductCurve v2.10.2 (07/May/2023)\n", + "CPCAnalyzer v0.1 (06/May/2023)\n", + "CPCArbOptimizer v3.6 (06/May/2023)\n", + "CarbonBot v3-b2.1 (03/May/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "Version = 3-b2.1 [requirements >= 3.0 is met]\n" + ] + } + ], + "source": [ + "from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer\n", + "from fastlane_bot.tools.optimizer import CPCArbOptimizer\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCArbOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "from fastlane_bot.testing import *\n", + "import itertools as it\n", + "import collections as cl\n", + "plt.style.use('seaborn-dark')\n", + "plt.rcParams['figure.figsize'] = [12,6]\n", + "from fastlane_bot import __VERSION__\n", + "require(\"3.0\", __VERSION__)" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Prices on Mainnet and Tenderly [A012]" + ] + }, + { + "cell_type": "markdown", + "id": "af0c9279-da09-4b57-9906-390d6697ea6a", + "metadata": {}, + "source": [ + "## Price estimates" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "872dfd7d-5350-4344-ab1c-7e117bb4cd90", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "elapsed time: 3.35s\n" + ] + } + ], + "source": [ + "start_time = time.time()\n", + "botm = Bot()\n", + "print(f\"elapsed time: {time.time()-start_time:.2f}s\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "22c69fd2-805b-4e2e-8da8-9580320e4abc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "elapsed time: 0.28s\n" + ] + } + ], + "source": [ + "start_time = time.time()\n", + "CCm = botm.get_curves()\n", + "print(f\"elapsed time: {time.time()-start_time:.2f}s\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "83dd33cd-60e7-4bfc-8593-ed0445d43eb9", + "metadata": {}, + "outputs": [], + "source": [ + "# bott = Bot() # --> change to Tenderly bot\n", + "# CCt = bott.get_curves()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d7866c01-b01e-40d9-adf9-fdeab825cd97", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "elapsed time: 2.96s\n" + ] + } + ], + "source": [ + "start_time = time.time()\n", + "tokensm = CCm.tokens()\n", + "prices_usdc = CCm.price_estimates(tknbs=tokensm, tknqs=f\"{T.USDC}\", \n", + " stopatfirst=True, verbose=False, raiseonerror=False)\n", + "print(f\"elapsed time: {time.time()-start_time:.2f}s\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "7d2a4ec4-e1cb-4613-a3cc-af64c2bfb5e3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC
renBTC-B27D31026.68694
WBTC-C59928931.165371
HBTC-d38028907.996526
YFI-d93e6150.714405
DIGG-01C33192.831206
......
SMT-7173None
FIEF-a02DNone
LBR-aCcANone
CPI-ec53None
0x0-1AD5None
\n", + "

512 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " USDC\n", + "renBTC-B27D 31026.68694\n", + "WBTC-C599 28931.165371\n", + "HBTC-d380 28907.996526\n", + "YFI-d93e 6150.714405\n", + "DIGG-01C3 3192.831206\n", + "... ...\n", + "SMT-7173 None\n", + "FIEF-a02D None\n", + "LBR-aCcA None\n", + "CPI-ec53 None\n", + "0x0-1AD5 None\n", + "\n", + "[512 rows x 1 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pricesdf = pd.DataFrame(prices_usdc, index=tokensm, columns=[\"USDC\"]).sort_values(\"USDC\", ascending=False)\n", + "pricesdf" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8766659d-fd74-4240-acc8-4cb4528e0cf7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TOKEN PRICE(USD)\n", + "======================================\n", + "renBTC-B27D 31,026.6869\n", + "WBTC-C599 28,931.1654\n", + "HBTC-d380 28,907.9965\n", + "YFI-d93e 6,150.7144\n", + "DIGG-01C3 3,192.8312\n", + "XMON-Bf74 3,043.1214\n", + "gOHM-a52f 2,794.5015\n", + "wstETH-2Ca0 2,148.2206\n", + "bDIGG-8e1a 2,094.3795\n", + "cbETH-9704 1,967.5682\n", + "rETH-6393 1,963.7218\n", + "stETH-fE84 1,915.8578\n", + "WETH-6Cc2 1,915.3559\n", + "MKR-79A2 686.4157\n", + "DXD-5521 681.5105\n", + "GLM-6429 436.3192\n", + "BZRX-f4b3 431.0676\n", + "MONA-412A 375.1570\n", + "GNO-6b96 116.2261\n", + "QNT-4675 114.5118\n", + "oSQTH-E86B 113.9149\n", + "ETHV-aC76 100.9282\n", + "AAVE-DaE9 72.0748\n", + "ENS-9D72 62.0844\n", + "ROOK-3d4a 55.5617\n", + "RPL-A51f 50.0109\n", + "RPL-Bd93 48.9219\n", + "SFI-902c 41.5637\n", + "COMP-6888 39.5900\n", + "wTAO-0A44 35.0934\n", + "QLT-c87c 30.9506\n", + "FARM-A14D 30.8418\n", + "FTX Token-a4c9 30.3755\n", + "wNXM-2bDE 28.7505\n", + "MLN-1892 24.4878\n", + "ALCX-c8DF 17.1120\n", + "NMR-6671 15.9180\n", + "HAN-511F 14.8057\n", + "LYXe-be6D 14.3914\n", + "TRB-78a0 14.0273\n", + "OHM-f1D5 10.5243\n", + "MPS-D47D 7.6946\n", + "FXS-64D0 7.6266\n", + "ARCH-1011 6.9116\n", + "LINK-86CA 6.7968\n", + "SHEESHA-E768 6.6802\n", + "MPL-35e6 5.8990\n", + "UNI-F984 5.4480\n", + "CVX-9D2B 5.4322\n", + "HEZ-8dEE 4.9666\n", + "EWTB-6054 4.4170\n", + "MASK-3074 4.3384\n", + "BOND-750f 4.2903\n", + "FORTH-0ce0 3.6434\n", + "ICHI-C4d6 3.5946\n", + "WAVES-f29a 3.3331\n", + "ANT-88C0 3.2713\n", + "UMA-F828 3.1186\n", + "bBADGER-fC28 3.0454\n", + "DORA-c81d 2.9994\n", + "BADGER-E53d 2.9965\n", + "BDT-d5Cf 2.9411\n", + "ICHI-A881 2.8661\n", + "DEXE-Cbd6 2.8196\n", + "RAD-64A3 2.8192\n", + "RAI-4919 2.7866\n", + "DXP-B745 2.7438\n", + "PLSD-36A7 2.5525\n", + "DYDX-Eff5 2.4257\n", + "SNX-2a6F 2.3600\n", + "MPH-35C5 2.2357\n", + "RNDR-eb24 2.0585\n", + "GTC-163F 2.0571\n", + "TONCOIN-def1 2.0552\n", + "MM-c611 1.9847\n", + "LDO-1B32 1.9024\n", + "ROUTE-3dB4 1.8475\n", + "ARTH-8a71 1.8036\n", + "VITA-A321 1.7820\n", + "INDEX-4cab 1.7389\n", + "RARI-41CF 1.6023\n", + "DAO-09Ad 1.5427\n", + "BigSB-b6F6 1.4917\n", + "OCTO-2BA3 1.3596\n", + "USDx-23E3 1.3106\n", + "xSUSHI-4272 1.2999\n", + "MTL-355e 1.2907\n", + "SNP-E873 1.2349\n", + "ASH-0b92 1.1246\n", + "CoreDAO-Dd58 1.1129\n", + "PAR-4703 1.1026\n", + "MYTH-2003 1.1022\n", + "agEUR-Bce8 1.0976\n", + "EURT-E491 1.0931\n", + "EUROe-2974 1.0914\n", + "ICE-7DF9 1.0853\n", + "BONE-18d9 1.0792\n", + "RAIL-A33D 1.0600\n", + "SD-D10f 1.0578\n", + "AMPL-A161 1.0260\n", + "XCAD-6Aa0 1.0259\n", + "SUSHI-0fE2 1.0155\n", + "LUSD-8bA0 1.0135\n", + "DAI-1d0F 1.0031\n", + "USDT-1ec7 1.0011\n", + "GUSD-d5Cd 1.0008\n", + "FEI-87CA 1.0002\n", + "sUSD-5f51 1.0001\n", + "USDC-eB48 1.0000\n" + ] + } + ], + "source": [ + "print(\"TOKEN PRICE(USD)\")\n", + "print(\"======================================\")\n", + "for ix, d in pricesdf.iterrows():\n", + " try:\n", + " p = float(d)\n", + " price = f\"{p:12,.4f}\"\n", + " if p < 1:\n", + " continue\n", + " except:\n", + " continue\n", + " print(f\"{ix:25} {price}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "372ea51c-e2c4-4df2-8c04-c0a0fc1e34df", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5df0c07-9b5a-4e31-8073-5551ff48a9ea", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "fe2b1065-98d1-40c3-90b6-265bbb801f77", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TOKEN PRICE(USc)\n", + "======================================\n", + "agEUR-Bce8 109.762142\n", + "EURT-E491 109.310918\n", + "EUROe-2974 109.140310\n", + "ICE-7DF9 108.534646\n", + "BONE-18d9 107.919391\n", + "RAIL-A33D 106.004343\n", + "SD-D10f 105.784058\n", + "AMPL-A161 102.596397\n", + "XCAD-6Aa0 102.585043\n", + "SUSHI-0fE2 101.549055\n", + "LUSD-8bA0 101.351308\n", + "DAI-1d0F 100.308809\n", + "USDT-1ec7 100.106963\n", + "GUSD-d5Cd 100.080599\n", + "FEI-87CA 100.016050\n", + "sUSD-5f51 100.013340\n", + "USDC-eB48 100.000000\n", + "BUSD-7C53 99.994604\n", + "USDC-1130 99.938938\n", + "DSU-7109 99.863046\n", + "MIM-17F3 99.762158\n", + "DOLA-9ce4 99.727473\n", + "oneICHI-1e07 99.725560\n", + "FRAX-b99e 99.534666\n", + "one1INCH-3857 99.481266\n", + "HOME-1F62 98.802168\n", + "SPOOL-0976 95.177681\n", + "CRV-cd52 90.770529\n", + "FLEX-bc0A 89.858618\n", + "CRU-3c41 89.693886\n", + "AVINOC-A3EF 87.412159\n", + "RPG-e251 84.472474\n", + "WFLOW-3B2b 84.282914\n", + "SEURO-9A00 82.970073\n", + "MATIC-eBB0 82.735456\n", + "GPO-3aCE 82.450729\n", + "BTRST-2824 82.252415\n", + "bluSGD-db22 75.356701\n", + "XSGD-cA96 75.329303\n", + "BEL-7e14 74.154071\n", + "NEXO-5206 71.497287\n", + "SUDO-B7F9 70.142151\n", + "BLU-1FfD 68.845781\n", + "DEXG-436D 67.623981\n", + "DAWN-9aFa 67.430650\n", + "MARK-4253 65.586536\n", + "KNC-D200 65.156388\n", + "XDAO-Ad28 62.637178\n", + "SYL-eb9C 60.199203\n", + "AXL-E5f3 57.408935\n", + "TXA-A830 56.074758\n", + "RUNE-49cb 54.345687\n", + "MANA-C942 54.088560\n", + "ICSA-69ed 53.512802\n", + "BLUR-8b44 53.370447\n", + "ASIC-3047 49.650984\n", + "1INCH-C302 48.225635\n", + "VOW-46Fb 47.981457\n", + "Z3-61a6 46.797607\n", + "BNT-FF1C 46.626305\n", + "DFI-358A 45.990929\n", + "DEGENS-8B71 45.584410\n", + "PROS-4B56 44.801516\n", + "wPPC-2958 42.704924\n", + "FNK-48Ad 41.191722\n", + "DREP-b4c2 41.079299\n", + "vBNT-7f94 37.176186\n", + "HGET-5148 37.015831\n", + "HUNT-6fa5 36.657857\n", + "ENJ-3B9c 36.594639\n", + "DDX-Ed3A 34.649275\n", + "OCEAN-9F48 34.249620\n", + "SDAO-875F 33.682006\n", + "AGIX-b542 32.680888\n", + "DIA-9419 32.675955\n", + "CE-EecE 32.454324\n", + "ISK-a75C 31.827884\n", + "TRAC-0A6F 31.247963\n", + "ZZ-55ad 30.146223\n", + "DENA-a1DA 29.162312\n", + "KTN-FC1C 28.609197\n", + "ECOx-736a 28.463029\n", + "IDLE-D39e 28.142476\n", + "SWAP-4EFe 28.136203\n", + "WOO-5D4B 27.917790\n", + "LRC-EafD 27.914324\n", + "MTLX-1d14 27.224373\n", + "UOS-5C8c 26.930123\n", + "WMLX-1AAd 26.739880\n", + "FET-Ad85 26.405510\n", + "CELL-e099 25.056608\n", + "ZRX-F498 24.482785\n", + "BAT-87EF 23.239830\n", + "eLunr-Aa5A 21.993195\n", + "DYP-ef17 21.608594\n", + "DG-dEDE 21.029515\n", + "OCT-c6DC 20.319756\n", + "APW-60c8 20.043154\n", + "LPL-75B8 19.563210\n", + "CLB-3c84 19.523800\n", + "OCC-7207 19.258379\n", + "NGL-66aE 19.142201\n", + "BASv2-5287 19.035932\n", + "FLASH-F2F8 18.966251\n", + "iAI-2122 17.892237\n", + "ABR-8C7C 17.606301\n", + "EYE-1c65 17.442569\n", + "FRONT-793f 17.240446\n", + "BTBS-4356 17.224694\n", + "DERC-a9aE 17.164282\n", + "POWR-1269 17.066153\n", + "0xBTC-5B31 16.961408\n", + "DAMM-16b8 16.872765\n", + "CHSB-35Ba 16.870047\n", + "RBN-fA6B 16.183078\n", + "SAKURA-FeD6 15.649092\n", + "DUSK-A551 15.640137\n", + "OPUL-6444 15.137302\n", + "ARW-34E4 14.811412\n", + "CXO-7143 14.366701\n", + "OTHR-C334 14.249251\n", + "PHA-2f4E 14.247133\n", + "XCM-8e25 13.460607\n", + "OPIUM-eC11 13.391514\n", + "KAP-8569 13.222582\n", + "CHZ-b4AF 12.902576\n", + "GRT-44a7 12.623868\n", + "ZCN-3B78 12.157543\n", + "wOXEN-bcc5 12.116775\n", + "ALPHA-0975 12.093816\n", + "FEAR-1E83 11.990230\n", + "HOP-a3CC 11.575518\n", + "SWIV-6f2d 11.063925\n", + "NKN-c9eb 10.645177\n", + "LYRA-05Bf 9.855201\n", + "REQ-938a 9.424842\n", + "XFIT-7441 9.038373\n", + "REN-2a38 8.976682\n", + "CGG-5e43 8.795908\n", + "IOI-1d81 8.611323\n", + "eXRD-9414 8.586886\n", + "ALEPH-F628 8.561612\n", + "GF-E238 8.319388\n", + "HYVE-f7d4 8.167931\n", + "WDOGE-98E7 8.013014\n", + "CRPT-6d8B 7.727507\n", + "IPT-FC3d 7.425567\n", + "INSUR-7429 7.383679\n", + "NCR-ed9c 7.258354\n", + "BLZ-D668 6.900215\n", + "ULX-636F 6.749324\n", + "NOW-693b 6.557098\n", + "MAXI-e84b 6.490893\n", + "ARCONA-52B3 6.444571\n", + "BUMP-2168 6.402437\n", + "EDEN-1559 6.341104\n", + "RBIS-9D7D 6.273767\n", + "PINE-3a51 6.270884\n", + "GENI-6a39 6.110267\n", + "CLS-de37 6.109049\n", + "HEX-eb39 5.764132\n", + "ACX-F82F 5.710596\n", + "SLICE-16D1 5.645182\n", + "CHEQ-4de7 5.592895\n", + "ALD-2a8D 5.587046\n", + "O3-7d28 5.500074\n", + "GRO-74D7 5.397025\n", + "PRE-2A0F 5.082105\n", + "FANC-c045 5.072351\n", + "EGG-6a0c 5.051385\n", + "RLC-7375 5.015440\n", + "JOY-1FB5 5.007966\n", + "ZKS-58c6 4.941964\n", + "GAME-1d1c 4.717160\n", + "NRFX-94a4 4.604203\n", + "FRM-A68C 4.602758\n", + "CIRUS-8756 4.573600\n", + "VIS-E863 4.300534\n", + "SHROOM-f183 4.230503\n", + "NOIA-b6ca 4.136143\n", + "TEAM-dE02 4.073017\n", + "ARPA-b71a 4.030222\n", + "X2Y2-EBC9 4.010486\n", + "PINA-780D 3.973452\n", + "JGN-e041 3.843652\n", + "TEMP-1aB9 3.744850\n", + "XETA-3550 3.637887\n", + "PSP-3dE5 3.617967\n", + "DUCK-305F 3.539457\n", + "NUM-3079 3.403495\n", + "CORN-ea5E 3.370678\n", + "SALT-0581 3.350743\n", + "HAI-9a63 3.300848\n", + "ASTO-4689 3.249486\n", + "DATA-8b76 3.219769\n", + "TSUKA-69eD 3.208488\n", + "VPAD-4EDc 2.945119\n", + "ANKR-EDD4 2.911681\n", + "PHTR-22dA 2.753887\n", + "TAMA-88c8 2.749563\n", + "ALI-4181 2.734529\n", + "OIL-88a5 2.680717\n", + "CWEB-Bf04 2.596806\n", + "FLX-0770 2.589437\n", + "1ONE-f9D3 2.523569\n", + "HORD-3448 2.505601\n", + "RAINI-d5eD 2.505012\n", + "MFI-355B 2.480399\n", + "BAMBOO-2e89 2.425790\n", + "WOZX-b79F 2.423630\n", + "PLR-9C17 2.360355\n", + "eRSDL-D3A6 2.343823\n", + "STFX-Db2d 2.337989\n", + "BLID-56A5 2.326248\n", + "GST-1404 2.248993\n", + "cDAI-3643 2.228960\n", + "POLAR-075E 2.219122\n", + "NFTD-B379 2.182067\n", + "DIP-cD83 2.166521\n", + "OBOT-0c32 2.143931\n", + "STABLZ-F7cd 2.047034\n", + "APM-BA6c 2.010530\n", + "BRKL-9ff8 1.897222\n", + "UNIX-7aC8 1.886720\n", + "PNL-B459 1.856257\n", + "NDX-5F83 1.836646\n", + "PULSE-97cE 1.822619\n", + "CPD-5355 1.816581\n", + "XMT-721e 1.776437\n", + "ECO-5727 1.693822\n", + "BBS-B430 1.678733\n", + "VLX-Edb9 1.664877\n", + "SPC-Ad20 1.663028\n", + "POLA-2CED 1.651387\n", + "REL-05ec 1.649521\n", + "XDEX-6c83 1.599310\n", + "SMTX-419b 1.594788\n", + "CTO-6C47 1.577247\n", + "FAKT-dC48 1.566553\n", + "SPIRAL-1C3c 1.554542\n", + "XIO-5704 1.476116\n", + "SST-9868 1.476066\n", + "ELFI-16f4 1.408694\n", + "ATC-5c9e 1.370116\n", + "EAG8-EeE4 1.344873\n", + "RNB-e743 1.342692\n", + "SWASH-2F80 1.336866\n", + "HEGIC-8430 1.308923\n", + "BMI-E688 1.291225\n", + "ERC20-EPK-40c4 1.267255\n", + "LINA-1937 1.256306\n", + "GMEE-2373 1.244351\n", + "SAITO-B57B 1.230791\n", + "CSM-8861 1.202991\n", + "SATA-bEe1 1.180790\n", + "UCOIL-9a13 1.127035\n", + "SPH-a406 1.114994\n", + "REVV-A8Ca 1.090234\n", + "RFOX-8262 1.088743\n", + "LEXE-6833 1.077218\n", + "SCOIN-0EB4 1.072177\n", + "HDAO-fF2D 1.047542\n", + "CHANGE-2754 1.043929\n", + "DTX-3F75 1.036248\n", + "SNP-FA9d 1.035029\n", + "DON-c88a 1.031339\n", + "CROWN-E0fa 0.951401\n", + "POND-D26C 0.943214\n", + "MUSK-2Cd8 0.899809\n", + "B2M-0a1f 0.842381\n", + "OK-4189 0.822356\n", + "UDO-dC06 0.809275\n", + "KYOKO-BaC2 0.766373\n", + "GYEN-D911 0.754623\n", + "DLTA-D823 0.753992\n", + "TR3-5F98 0.753879\n", + "VR-8cdD 0.740229\n", + "SPANK-6a18 0.707344\n", + "DPR-07a1 0.697533\n", + "ROYA-48DB 0.684519\n", + "ONIGIRI-30D0 0.678951\n", + "HILO-5ff6 0.678099\n", + "DIGITS-404F 0.676176\n", + "GUILD-475A 0.659424\n", + "DNXC-f03a 0.620120\n", + "BRD-9aD6 0.578997\n", + "XTP-50fc 0.562106\n", + "DRGN-A05E 0.555550\n", + "FUN-711b 0.551965\n", + "ARMOR-E46a 0.551577\n", + "Y2B-0650 0.502962\n", + "MLP-1152 0.488028\n", + "TANGO-3Bef 0.487179\n", + "KOL-d414 0.480839\n", + "GEM-efcC 0.479995\n", + "BAG-14b0 0.452201\n", + "TOL-2cFA 0.448372\n", + "ZEUM-8190 0.447919\n", + "BAC-A69a 0.442164\n", + "XYO-E758 0.425591\n", + "AKRO-53d7 0.412971\n", + "DBI-0EcE 0.385087\n", + "CPRX-978f 0.380392\n", + "PPAY-3Bb2 0.378616\n", + "AMP-95C2 0.363647\n", + "ORE-782A 0.358708\n", + "SDEX-BEeF 0.342731\n", + "WXT-E915 0.338419\n", + "FODL-b9C3 0.334678\n", + "NRFB-f9E8 0.328867\n", + "GR-575c 0.322288\n", + "MGG-8740 0.320329\n", + "FTG-7659 0.306858\n", + "BORING-92CA 0.306401\n", + "NBT-824c 0.285661\n", + "STC-7e7E 0.283251\n", + "IOEN-893A 0.282370\n", + "SUM-40b1 0.281435\n", + "REEF-5ACf 0.278419\n", + "LXF-772A 0.273118\n", + "ACR-E3CF 0.269141\n", + "NFTY-3208 0.250401\n", + "L2-4D24 0.234935\n", + "FWT-a295 0.228540\n", + "RCN-75A6 0.222541\n", + "PEAK-Ad78 0.211204\n", + "HOT-26E2 0.207542\n", + "PAPER-0e8C 0.201687\n", + "SYNR-490a 0.192203\n", + "CRF-219d 0.190985\n", + "AUC-5663 0.181531\n", + "SYLO-dcd4 0.174051\n", + "UBXN-1065 0.173630\n", + "OLY-Fb1f 0.170877\n", + "XPR-A2af 0.163420\n", + "ALBT-0Eb0 0.162854\n", + "DRC-e606 0.160933\n", + "IDV-8840 0.157513\n", + "FORM-FA2a 0.155283\n", + "ELT-1B02 0.146435\n", + "ERP-2267 0.144108\n", + "PLUG-976a 0.130581\n", + "ZERO-a574 0.123050\n", + "CND-95fa 0.122700\n", + "MFG-0312 0.120042\n", + "SENT-556F 0.114331\n", + "Okinami-4121 0.112078\n", + "EVA-8707 0.107248\n", + "DENT-A258 0.103510\n", + "FLy-1472 0.096093\n", + "MDF-B411 0.084813\n", + "DEC-E7F3 0.083123\n", + "DAPP-1649 0.065249\n", + "ACRE-FC21 0.061828\n", + "ESD-d723 0.060882\n", + "VENDETTA-53c3 0.058756\n", + "UBI-E9a4 0.058079\n", + "TGL-4e92 0.051936\n", + "AGV-382B 0.042500\n", + "CRAB-b735 0.042120\n", + "SPWN-1126 0.039931\n", + "BPLC-21b4 0.037613\n", + "BACON-38e7 0.036237\n", + "FLUT-1870 0.035650\n", + "FMTA-9AB4 0.035112\n", + "NineFi-2f1d 0.034197\n", + "BTTY-3D0A 0.032498\n", + "SRK-74E6 0.029091\n", + "WFAIR-8972 0.028307\n", + "TOAD-eD1e 0.027419\n", + "Umoon-C5da 0.024523\n", + "Dejitaru Shirudo-16AC 0.023997\n", + "TIDAL-33B7 0.022821\n", + "PEPEBET-0350 0.021426\n", + "Mars-70B7 0.020666\n", + "LBlock-D329 0.017734\n", + "RACA-9040 0.016559\n", + "DOE-d7eF 0.014826\n", + "SPDR-0Fdd 0.013676\n", + "PEPES-7E12 0.009737\n", + "VNDC-b5DE 0.007108\n", + "icc-a177 0.006242\n", + "$LSVR-c09B 0.005134\n", + "Daruma-f704 0.004279\n", + "ASW-2a11 0.003647\n", + "TEXAN-88d7 0.002172\n", + "DOGZ-33eF 0.002100\n", + "O-c40f 0.001904\n", + "UNKAI-B73D 0.001685\n", + "Shird-695f 0.001060\n", + "PEPE-E35F 0.001054\n", + "SHIB-C4cE 0.001003\n", + "COT-9ff8 0.000848\n", + "PP-CfD0 0.000818\n", + "OXAI-Fe9d 0.000369\n", + "XEN-6Fb8 0.000334\n", + "HDRN-5e06 0.000196\n", + "ANB-9692 0.000192\n", + "ELON-60F3 0.000025\n", + "DSD-66e3 0.000016\n", + "BEAR-A26a 0.000008\n", + "BLOCKIFY-3C21 0.000001\n", + "INNBC-8c42 0.000001\n", + "CP-CFCa 0.000000\n", + "NAO-53dc 0.000000\n", + "SHIBGF-65d6 0.000000\n", + "DOG-868D 0.000000\n" + ] + } + ], + "source": [ + "print(\"TOKEN PRICE(USc)\")\n", + "print(\"======================================\")\n", + "for ix, d in pricesdf.iterrows():\n", + " try:\n", + " p = float(d)\n", + " price = f\"{p*100:12,.6f}\"\n", + " if p >= 1.1:\n", + " continue\n", + " except:\n", + " continue\n", + " print(f\"{ix:25} {price}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "55863928-bfeb-4405-a0fe-0e4d9f276dab", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TOKEN UNAVAILABLE\n", + "======================================\n", + "UFO-DC3B \n", + "XCHF-fc08 \n", + "PEPE-1933 \n", + "USDP-89E1 \n", + "ZENIQ-7233 \n", + "ARB-4ad1 \n", + "SOTU-9162 \n", + "STRONG-017c \n", + "SMT-7173 \n", + "FIEF-a02D \n", + "LBR-aCcA \n", + "CPI-ec53 \n", + "0x0-1AD5 \n" + ] + } + ], + "source": [ + "print(\"TOKEN UNAVAILABLE\")\n", + "print(\"======================================\")\n", + "for ix, d in pricesdf.iterrows():\n", + " try:\n", + " p = float(d)\n", + " continue\n", + " except:\n", + " pass\n", + " print(f\"{ix:25}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f72816ab-eb2e-4eaa-b575-4ec74485b936", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pair = CPI/USDT\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAF8CAYAAAANVjeXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABAgklEQVR4nO3deWAU9f3/8dfs7JFkd8MmnFYORYlUbRRQoB6xVCz+/GqRVqxB8YAqpB4cQkEEwQY5PKitFU+slirIVzyr1q9alaqIbaxQsYigVVCOHOTYzWbP+f0RWYmEa9lkczwffzGzszvvvBnCK5985jOGZVmWAAAAABwyW7oLAAAAAForwjQAAACQJMI0AAAAkCTCNAAAAJAkwjQAAACQJMI0AAAAkCR7ugsAAEixWEx/+tOf9MILLygWiykSiWjIkCGaMGGCHnjgAT3++OPq2rWrDMNQLBZTx44dNXv2bB199NF6+umn9corr+iBBx6QJMXjcQ0fPlzPPfechg4dqt/97nf6wQ9+kDjXv//9b02YMEF/+9vfJElvvvmm7rvvPgWDQcViMR177LG66aab1K1bN61Zs0ZXX321jj766MRn5+TkaPz48TrttNO0adMm3XjjjZKkqqoq1dTUqHv37pKkESNG6Morr2zGLgJA8yNMA0ALMGfOHFVVVemxxx6T1+tVbW2tpkyZoptvvlk9e/bUeeedp1tuuSVx/NKlS3XjjTfq6aef3uuzPvjgA+Xn58tmO/AvH3fs2KFp06bp6aef1pFHHilJuu+++zRx4kQtX75cktSzZ08999xzifds2LBBY8eO1eLFi3XSSSclXvtuqAeA9oBpHgCQZlu3btULL7ygefPmyev1SpKysrJ06623aujQoY2+54c//KE+//zzRl97/fXX9/m+79q1a5cikYhqa2sT+6644gqNGzdun+/p27evRo8erUcfffSgzgEAbRlhGgDSbP369Tr22GPl8Xga7O/cubOGDRu21/HRaFRPPfWUBg0a1OjnrV69WqeddtpBnbtv3766+OKLNWLECJ133nmaOXOm3njjDZ155pkHfN/GjRsP6hwA0JYxzQMA0sxmsykej+/3mJdeekklJSWSpEgkohNOOEHFxcV7Hbdp0yb16NFDLpdLkmQYxl7HWJbVYArI9OnTNW7cOL3//vv6xz/+odtvv11Lly7V448/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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "CCP = CCm.bypairs(CCm.filter_pairs(onein=\"CPI-ec53\"))\n", + "CCP.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6765784c-bfcb-4e9a-b773-59b0fee7d816", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.py b/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.py new file mode 100644 index 000000000..62e1e54e9 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_012_PricesMainnetTenderly.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import CPCArbOptimizer +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# # Prices on Mainnet and Tenderly [A012] + +# ## Price estimates + +start_time = time.time() +botm = Bot() +print(f"elapsed time: {time.time()-start_time:.2f}s") + +start_time = time.time() +CCm = botm.get_curves() +print(f"elapsed time: {time.time()-start_time:.2f}s") + +# + +# bott = Bot() # --> change to Tenderly bot +# CCt = bott.get_curves() +# - + +start_time = time.time() +tokensm = CCm.tokens() +prices_usdc = CCm.price_estimates(tknbs=tokensm, tknqs=f"{T.USDC}", + stopatfirst=True, verbose=False, raiseonerror=False) +print(f"elapsed time: {time.time()-start_time:.2f}s") + +pricesdf = pd.DataFrame(prices_usdc, index=tokensm, columns=["USDC"]).sort_values("USDC", ascending=False) +pricesdf + +print("TOKEN PRICE(USD)") +print("======================================") +for ix, d in pricesdf.iterrows(): + try: + p = float(d) + price = f"{p:12,.4f}" + if p < 1: + continue + except: + continue + print(f"{ix:25} {price}") + + + + + +print("TOKEN PRICE(USc)") +print("======================================") +for ix, d in pricesdf.iterrows(): + try: + p = float(d) + price = f"{p*100:12,.6f}" + if p >= 1.1: + continue + except: + continue + print(f"{ix:25} {price}") + +print("TOKEN UNAVAILABLE") +print("======================================") +for ix, d in pricesdf.iterrows(): + try: + p = float(d) + continue + except: + pass + print(f"{ix:25}") + +CCP = CCm.bypairs(CCm.filter_pairs(onein="CPI-ec53")) +CCP.plot() + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.ipynb b/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.ipynb new file mode 100644 index 000000000..32e308e1c --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.ipynb @@ -0,0 +1,964 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", + "Error adding Ethereum blockchain to database Ethereum, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"ix_blockchains_name\"\n", + "DETAIL: Key (name)=(Ethereum) already exists.\n", + "\n", + "[SQL: INSERT INTO blockchains (name, block_number) VALUES (%(name)s, %(block_number)s) RETURNING blockchains.id]\n", + "[parameters: {'name': 'Ethereum', 'block_number': 0}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange carbon_v1 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(6) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 6, 'name': 'carbon_v1', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(1) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 1, 'name': 'bancor_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(2) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 2, 'name': 'bancor_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(3) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 3, 'name': 'uniswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(4) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 4, 'name': 'uniswap_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange sushiswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(5) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 5, 'name': 'sushiswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "ConstantProductCurve v2.10.3 (07/May/2023)\n", + "CPCAnalyzer v1.1 (08/May/2023)\n", + "CPCArbOptimizer v3.7 (07/May/2023)\n", + "CarbonBot v3-b2.1 (03/May/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "Version = 3-b2.1 [requirements >= 3.0 is met]\n", + "elapsed time: 4.86s\n", + "BRANCH: devskl\n" + ] + } + ], + "source": [ + "import time\n", + "start_time = time.time()\n", + "from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer, AttrDict\n", + "from fastlane_bot.tools.optimizer import CPCArbOptimizer\n", + "from fastlane_bot.branch import BRANCH\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCArbOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "from fastlane_bot.testing import *\n", + "import itertools as it\n", + "import collections as cl\n", + "plt.style.use('seaborn-dark')\n", + "plt.rcParams['figure.figsize'] = [12,6]\n", + "from fastlane_bot import __VERSION__\n", + "require(\"3.0\", __VERSION__)\n", + "print(f\"elapsed time: {time.time()-start_time:.2f}s\")\n", + "print(\"BRANCH:\", BRANCH)" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Arbitrage Dashboard [A013]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "736e4c79-fbd4-4898-ba89-82d779b57f20", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "elapsed time: 6.16s\n" + ] + } + ], + "source": [ + "bot = Bot()\n", + "CCm = bot.get_curves()\n", + "CA = CPCAnalyzer(CCm)\n", + "pairsc = CA.pairsc()\n", + "print(f\"elapsed time: {time.time()-start_time:.2f}s\")" + ] + }, + { + "cell_type": "markdown", + "id": "39435ad2-1711-4a9d-a048-d14dbe8d0892", + "metadata": {}, + "source": [ + "## All (Carbon) pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "3cd99d43-cd6f-441f-86d0-dcc73ba8bc19", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tokens: 2233\n", + "Pairs: 2834 [carbon: 26]\n", + "Curves: 4156 [carbon: 70]\n" + ] + } + ], + "source": [ + "print(f\"Tokens: {len(CA.tokens()):4}\")\n", + "print(f\"Pairs: {len(CA.pairs()) :4} [carbon: {len(CA.pairsc()) :4}]\")\n", + "print(f\"Curves: {len(CA.curves()):4} [carbon: {len(CA.curvesc()):4}]\") " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e3dd6dc2-8373-4d08-9bb2-091213cd934d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------------------\n", + "Pair: WBTC-C599/USDT-1ec7\n", + "--------------------------------------------------------------------------------\n", + "Price: 27,558.799057\n", + "Number of curves: 7 [carbon: 1]\n", + "Value locked: 7.71 USDT [carbon: 1.91, other: 5.80]\n", + "Simple arb value: 0.00 WBTC / 1.77 USDT\n", + "\n", + "[SMT-7173/WETH-6Cc2: float division by zero ]\n", + "\n", + "[TSUKA-69eD/USDC-eB48: float division by zero ]\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1419: RuntimeWarning: overflow encountered in exp\n", + " p = np.exp(plog10 * np.log(10))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1299: RuntimeWarning: overflow encountered in exp\n", + " p = np.exp(p * np.log(10))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: invalid value encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------------------\n", + "Pair: WETH-6Cc2/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 1,846.959308\n", + "Number of curves: 24 [carbon: 16]\n", + "Value locked: 200,646,390.69 USDC [carbon: 31,892.63, other: 200,614,498.05]\n", + "Simple arb value: 0.40 WETH / 741.17 USDC\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: LYXe-be6D/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 14.391360\n", + "Number of curves: 3 [carbon: 1]\n", + "Value locked: 120,090.44 USDC [carbon: 120,059.20, other: 31.24]\n", + "Simple arb value: -0.00 LYXe / -0.00 USDC\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: DAI-1d0F/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 1.000111\n", + "Number of curves: 7 [carbon: 2]\n", + "Value locked: 57,995,957.50 USDC [carbon: 50.05, other: 57,995,907.45]\n", + "Simple arb value: 1,310.95 DAI / 1,311.18 USDC\n", + "\n", + "[BNT-FF1C/USDC-eB48: float division by zero ]\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: WETH-6Cc2/DAI-1d0F\n", + "--------------------------------------------------------------------------------\n", + "Price: 1,845.141638\n", + "Number of curves: 7 [carbon: 1]\n", + "Value locked: 16,014,280.63 DAI [carbon: 1.94, other: 16,014,278.68]\n", + "Simple arb value: 0.01 WETH / 27.62 DAI\n", + "\n", + "[BNT-FF1C/WETH-6Cc2: float division by zero ]\n", + "\n", + "[vBNT-7f94/USDC-eB48: no curves found for USDC-eB48/vBNT-7f94 ]\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: WETH-6Cc2/USDT-1ec7\n", + "--------------------------------------------------------------------------------\n", + "Price: 1,844.550496\n", + "Number of curves: 8 [carbon: 1]\n", + "Value locked: 88,011.94 USDT [carbon: 0.00, other: 88,011.94]\n", + "Simple arb value: 0.14 WETH / 256.70 USDT\n", + "\n", + "[BNT-FF1C/vBNT-7f94: float division by zero ]\n", + "\n", + "[LBR-aCcA/WETH-6Cc2: no curves found for WETH-6Cc2/LBR-aCcA ]\n", + "\n", + "[LINK-86CA/USDC-eB48: float division by zero ]\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: invalid value encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: divide by zero encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------------------\n", + "Pair: CRV-cd52/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 0.847351\n", + "Number of curves: 4 [carbon: 2]\n", + "Value locked: 9,897.56 USDC [carbon: 9,000.18, other: 897.38]\n", + "Simple arb value: -58.06 CRV / 54.09 USDC\n", + "\n", + "[PEPE-1933/WETH-6Cc2: no curves found for WETH-6Cc2/PEPE-1933 ]\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: WBTC-C599/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 27,549.626394\n", + "Number of curves: 6 [carbon: 1]\n", + "Value locked: 34.59 USDC [carbon: 0.05, other: 34.54]\n", + "Simple arb value: 0.00 WBTC / 8.04 USDC\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: USDT-1ec7/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 1.000675\n", + "Number of curves: 13 [carbon: 4]\n", + "Value locked: 62,105,165.29 USDC [carbon: 1,100.91, other: 62,104,064.38]\n", + "Simple arb value: 72.62 USDT / 72.67 USDC\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: WBTC-C599/WETH-6Cc2\n", + "--------------------------------------------------------------------------------\n", + "Price: 14.977633\n", + "Number of curves: 10 [carbon: 2]\n", + "Value locked: 1,788.32 WETH [carbon: 2.48, other: 1,785.84]\n", + "Simple arb value: 0.03 WBTC / 0.44 WETH\n", + "\n", + "[rETH-6393/WETH-6Cc2: float division by zero ]\n", + "\n", + "[RPL-A51f/XCHF-fc08: no curves found for XCHF-fc08/RPL-A51f ]\n", + "\n", + "[LINK-86CA/USDT-1ec7: float division by zero ]\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1419: RuntimeWarning: overflow encountered in exp\n", + " p = np.exp(plog10 * np.log(10))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1299: RuntimeWarning: overflow encountered in exp\n", + " p = np.exp(p * np.log(10))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: invalid value encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: invalid value encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: divide by zero encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------------------\n", + "Pair: 0x0-1AD5/WETH-6Cc2\n", + "--------------------------------------------------------------------------------\n", + "Price: 0.000027\n", + "Number of curves: 3 [carbon: 2]\n", + "Value locked: 28,547,495.40 WETH [carbon: 13,420.84, other: 28,534,074.56]\n", + "Simple arb value: 157.88 0x0 / 0.00 WETH\n", + "\n", + "[ARB-4ad1/MATIC-eBB0: no curves found for MATIC-eBB0/ARB-4ad1 ]\n", + "\n", + "--------------------------------------------------------------------------------\n", + "Pair: DAI-1d0F/USDT-1ec7\n", + "--------------------------------------------------------------------------------\n", + "Price: 0.999429\n", + "Number of curves: 6 [carbon: 2]\n", + "Value locked: 66,550.09 USDT [carbon: 40.20, other: 66,509.89]\n", + "Simple arb value: 0.53 DAI / 0.53 USDT\n", + "\n", + "[stETH-fE84/WETH-6Cc2: float division by zero ]\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: invalid value encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n", + "/Users/skl/REPOES/Bancor/ArbBot/resources/NBTest/fastlane_bot/tools/optimizer.py:1310: RuntimeWarning: divide by zero encountered in double_scalars\n", + " price = get(p, tokens_ix.get(tknb)) / get(p, tokens_ix.get(tknq))\n" + ] + } + ], + "source": [ + "nocav = True\n", + "for pair in CA.pairsc():\n", + " try:\n", + " d = CA.pair_analysis(pair, novac=nocav)\n", + " print(CA.pair_analysis_pp(d, nocav=nocav))\n", + " #print(f\"elapsed time: {time.time()-start_time:.2f}s\")\n", + " except Exception as e:\n", + " pass\n", + " print(f\"[{pair}: {e} ]\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "17d9e39f-9404-4aff-bae1-c2432a502f5d", + "metadata": {}, + "source": [ + "## Individual pairs" + ] + }, + { + "cell_type": "markdown", + "id": "808582b3-3c0c-46f3-9c98-01b60215f823", + "metadata": {}, + "source": [ + "#### WETH/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "260f565c-05d8-43cf-b5d8-e46f5a757ca0", + "metadata": {}, + "outputs": [], + "source": [ + "pair = \"WETH-6Cc2/USDC-eB48\"\n", + "d = CA.pair_analysis(pair)\n", + "CC_crb = CA.curvesc(ascc=True).bypairs(pair)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "dd9313a3-78c6-4e0b-a412-3d3329ff6e95", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--------------------------------------------------------------------------------\n", + "Pair: WETH-6Cc2/USDC-eB48\n", + "--------------------------------------------------------------------------------\n", + "Price: 1,846.959308\n", + "Number of curves: 24 [carbon: 16]\n", + "Value locked: 200,646,390.69 USDC [carbon: 31,892.63, other: 200,614,498.05]\n", + "Simple arb value: 0.40 WETH / 741.17 USDC\n", + "Complex arb value: error [USDC]\n", + " error [WETH]\n", + "\n" + ] + } + ], + "source": [ + "print(CA.pair_analysis_pp(d))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8cf6ebfc-fc93-4e73-b21a-3c5e96be2eea", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'BNT-FF1C/DAI-1d0F',\n", + " 'BNT-FF1C/USDC-eB48',\n", + " 'BNT-FF1C/USDT-1ec7',\n", + " 'BNT-FF1C/WBTC-C599',\n", + " 'BNT-FF1C/WETH-6Cc2',\n", + " 'DAI-1d0F/USDC-eB48',\n", + " 'DAI-1d0F/USDT-1ec7',\n", + " 'USDT-1ec7/USDC-eB48',\n", + " 'WBTC-C599/DAI-1d0F',\n", + " 'WBTC-C599/USDC-eB48',\n", + " 'WBTC-C599/USDT-1ec7',\n", + " 'WBTC-C599/WETH-6Cc2',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " 'WETH-6Cc2/USDT-1ec7'}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.xpairs" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6fd6924d-147a-4b0a-8330-263c3d0abeb5", + "metadata": {}, + "outputs": [], + "source": [ + "d.tib_xnoc" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4ab3432c-29be-4059-8883-9c7ccf6c1a7b", + "metadata": {}, + "outputs": [], + "source": [ + "d.tiq_xnoc" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "9719d1c7-a033-4a57-92fc-e17e401a4d17", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'err': \"'NoneType' object has no attribute 'loc'\"}" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.xarbvalq" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "b065b06d-685e-400b-af64-e9f7a8a64d64", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'err': \"'NoneType' object has no attribute 'loc'\"}" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.xarbvalb" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "0c9db813-a109-48bc-a0b4-16e80336d6b5", + "metadata": {}, + "outputs": [], + "source": [ + "d.tib_xf" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "d3d48cc5-fe6b-4a70-b8c6-87b19c87b4ab", + "metadata": {}, + "outputs": [], + "source": [ + "d.tiq_xf" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "8373b959-65ef-4071-a55f-756ae403b59e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
59342882.230186-23.310666
25560834.668735-32.992846
80336119.480117-19.599706
1701411834604692317316873037158841057296-0-1.9945370.001033
346-283469.114741153.426765
1701411834604692317316873037158841057353-0-7851.1336364.234700
6c988ffdc9e74acd97ccfb16dd65c11019186.643152-10.399878
7ed16708962e459abe5431a176b13aa031063.062077-16.819975
00125d264f9d49369a467e7708cee9b596026.079603-52.119339
50ac5ace09c1483987af46c60c5510735239.541793-2.837308
1701411834604692317316873037158841057292-0-6.1413250.003317
1701411834604692317316873037158841057337-0-23.3214280.012616
PRICE0.0005411.000000
AMMIn291351.705663157.678431
AMMOut-291351.705667-158.079718
TOTAL NET-0.000004-0.401286
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "593 42882.230186 -23.310666\n", + "255 60834.668735 -32.992846\n", + "803 36119.480117 -19.599706\n", + "1701411834604692317316873037158841057296-0 -1.994537 0.001033\n", + "346 -283469.114741 153.426765\n", + "1701411834604692317316873037158841057353-0 -7851.133636 4.234700\n", + "6c988ffdc9e74acd97ccfb16dd65c110 19186.643152 -10.399878\n", + "7ed16708962e459abe5431a176b13aa0 31063.062077 -16.819975\n", + "00125d264f9d49369a467e7708cee9b5 96026.079603 -52.119339\n", + "50ac5ace09c1483987af46c60c551073 5239.541793 -2.837308\n", + "1701411834604692317316873037158841057292-0 -6.141325 0.003317\n", + "1701411834604692317316873037158841057337-0 -23.321428 0.012616\n", + "PRICE 0.000541 1.000000\n", + "AMMIn 291351.705663 157.678431\n", + "AMMOut -291351.705667 -158.079718\n", + "TOTAL NET -0.000004 -0.401286" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.tib" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "38a780fd-8a4a-4b18-b0d8-9759eb3f20c0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
59342876.230348-2.330742e+01
25560814.434147-3.298189e+01
80336110.428047-1.959480e+01
1701411834604692317316873037158841057296-0-1.9945371.033440e-03
346-283952.7179311.536886e+02
1701411834604692317316873037158841057353-0-7851.1336364.234700e+00
6c988ffdc9e74acd97ccfb16dd65c11019177.155978-1.039474e+01
7ed16708962e459abe5431a176b13aa030888.950301-1.672571e+01
00125d264f9d49369a467e7708cee9b596004.293509-5.210754e+01
50ac5ace09c1483987af46c60c5510735222.664938-2.828170e+00
1701411834604692317316873037158841057292-0-6.1413253.316581e-03
1701411834604692317316873037158841057337-0-23.3373911.262512e-02
PRICE1.0000001.846978e+03
AMMIn291094.1572671.579403e+02
AMMOut-291835.324821-1.579403e+02
TOTAL NET-741.1675541.244785e-09
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "593 42876.230348 -2.330742e+01\n", + "255 60814.434147 -3.298189e+01\n", + "803 36110.428047 -1.959480e+01\n", + "1701411834604692317316873037158841057296-0 -1.994537 1.033440e-03\n", + "346 -283952.717931 1.536886e+02\n", + "1701411834604692317316873037158841057353-0 -7851.133636 4.234700e+00\n", + "6c988ffdc9e74acd97ccfb16dd65c110 19177.155978 -1.039474e+01\n", + "7ed16708962e459abe5431a176b13aa0 30888.950301 -1.672571e+01\n", + "00125d264f9d49369a467e7708cee9b5 96004.293509 -5.210754e+01\n", + "50ac5ace09c1483987af46c60c551073 5222.664938 -2.828170e+00\n", + "1701411834604692317316873037158841057292-0 -6.141325 3.316581e-03\n", + "1701411834604692317316873037158841057337-0 -23.337391 1.262512e-02\n", + "PRICE 1.000000 1.846978e+03\n", + "AMMIn 291094.157267 1.579403e+02\n", + "AMMOut -291835.324821 -1.579403e+02\n", + "TOTAL NET -741.167554 1.244785e-09" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.tiq" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2cdc18c8-2025-4257-82a1-8a1da59bd147", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
TOTAL NET-0.000004-4.012863e-01
TOTAL NET-741.1675541.244785e-09
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "TOTAL NET -0.000004 -4.012863e-01\n", + "TOTAL NET -741.167554 1.244785e-09" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.tibq" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ddfb507a-322e-4b80-bb38-44dd2097b680", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.40128633988557905, 'WETH-6Cc2')" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.arbvalb, d.tknb" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "595cbad1-82ae-4c9d-a999-d8bf1a1d3c88", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(741.167553620834, 'USDC-eB48')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.arbvalq, d.tknq" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2745d31b-5169-4299-ac69-07ad9b67cf8f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.py b/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.py new file mode 100644 index 000000000..d742533ed --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_013_ArbDashboard.py @@ -0,0 +1,96 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +import time +start_time = time.time() +from fastlane_bot import Bot, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer, AttrDict +from fastlane_bot.tools.optimizer import CPCArbOptimizer +from fastlane_bot.branch import BRANCH +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCArbOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) +print(f"elapsed time: {time.time()-start_time:.2f}s") +print("BRANCH:", BRANCH) + +# # Arbitrage Dashboard [A013] + +bot = Bot() +CCm = bot.get_curves() +CA = CPCAnalyzer(CCm) +pairsc = CA.pairsc() +print(f"elapsed time: {time.time()-start_time:.2f}s") + +# ## All (Carbon) pairs + +print(f"Tokens: {len(CA.tokens()):4}") +print(f"Pairs: {len(CA.pairs()) :4} [carbon: {len(CA.pairsc()) :4}]") +print(f"Curves: {len(CA.curves()):4} [carbon: {len(CA.curvesc()):4}]") + +nocav = True +for pair in CA.pairsc(): + try: + d = CA.pair_analysis(pair, novac=nocav) + print(CA.pair_analysis_pp(d, nocav=nocav)) + #print(f"elapsed time: {time.time()-start_time:.2f}s") + except Exception as e: + pass + print(f"[{pair}: {e} ]\n") + +# ## Individual pairs + +# #### WETH/USDC + +pair = "WETH-6Cc2/USDC-eB48" +d = CA.pair_analysis(pair) +CC_crb = CA.curvesc(ascc=True).bypairs(pair) + +print(CA.pair_analysis_pp(d)) + +d.xpairs + +d.tib_xnoc + +d.tiq_xnoc + +d.xarbvalq + +d.xarbvalb + +d.tib_xf + +d.tiq_xf + +d.tib + +d.tiq + +d.tibq + +d.arbvalb, d.tknb + +d.arbvalq, d.tknq + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.ipynb b/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.ipynb new file mode 100644 index 000000000..335c15efb --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.ipynb @@ -0,0 +1,3866 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", + "Error adding Ethereum blockchain to database Ethereum, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"ix_blockchains_name\"\n", + "DETAIL: Key (name)=(Ethereum) already exists.\n", + "\n", + "[SQL: INSERT INTO blockchains (name, block_number) VALUES (%(name)s, %(block_number)s) RETURNING blockchains.id]\n", + "[parameters: {'name': 'Ethereum', 'block_number': 0}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange carbon_v1 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(6) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 6, 'name': 'carbon_v1', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(1) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 1, 'name': 'bancor_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(2) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 2, 'name': 'bancor_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(3) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 3, 'name': 'uniswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(4) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 4, 'name': 'uniswap_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange sushiswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(5) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 5, 'name': 'sushiswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "ConstantProductCurve v2.12 (13/May/2023)\n", + "CPCAnalyzer v1.4 (13/May/2023)\n", + "SimpleOptimizer v4.0 (10/May/2023)\n", + "MargPOptimizer v4.0 (10/May/2023)\n", + "ConvexOptimizer v4.0 (10/May/2023)\n", + "ArbGraph v2.2 (09/May/2023)\n", + "CarbonBot v3-b2.1 (03/May/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "Version = 3.0-b3skltest [requirements >= 3.0 is met]\n" + ] + } + ], + "source": [ + "from fastlane_bot.bot import CarbonBot as Bot#, Config, ConfigDB, ConfigNetwork, ConfigProvider\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer\n", + "from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer\n", + "from fastlane_bot.tools.arbgraphs import ArbGraph\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(SimpleOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(MargPOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(ConvexOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(ArbGraph))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "from fastlane_bot.testing import *\n", + "import itertools as it\n", + "import collections as cl\n", + "plt.style.use('seaborn-dark')\n", + "plt.rcParams['figure.figsize'] = [12,6]\n", + "from fastlane_bot import __VERSION__\n", + "require(\"3.0\", __VERSION__)" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Mainnet Arbitrage Dashboard [A014]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "882a9917-298c-48a7-9c67-d78bc7e5cafa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving as ../data/A014-1683969349.csv.gz\n" + ] + } + ], + "source": [ + "bot = Bot()\n", + "CCm = bot.get_curves()\n", + "fn = f\"../data/A014-{int(time.time())}.csv.gz\"\n", + "print (f\"Saving as {fn}\")\n", + "CCm.asdf().to_csv(fn, compression = \"gzip\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e0f8793b-456c-4b88-ba01-ff31b46e8023", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A014-1683963279.csv.gz A014-1683963372.csv.gz\n", + "A014-1683963346.csv.gz A014-1683969349.csv.gz\n" + ] + } + ], + "source": [ + "!ls ../data" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1cf6de0d-a389-4a12-af78-9d33dd0258a3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "#CCm = CPCContainer.from_df(pd.read_csv(\"../data/A014-1683963372.csv.gz\"))\n", + "CCu3 = CCm.byparams(exchange=\"uniswap_v3\")\n", + "CCu2 = CCm.byparams(exchange=\"uniswap_v2\")\n", + "CCs2 = CCm.byparams(exchange=\"sushiswap_v2\")\n", + "CCc1 = CCm.byparams(exchange=\"carbon_v1\")\n", + "tc_u3 = CCu3.token_count(asdict=True)\n", + "tc_u2 = CCu2.token_count(asdict=True)\n", + "tc_s2 = CCs2.token_count(asdict=True)\n", + "tc_c1 = CCc1.token_count(asdict=True)\n", + "CAm = CPCAnalyzer(CCm)" + ] + }, + { + "cell_type": "markdown", + "id": "83dc88dc", + "metadata": {}, + "source": [ + "## Market structure analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2014b913-3411-4bba-9c25-ac2f06565894", + "metadata": {}, + "outputs": [], + "source": [ + "CA = CAm\n", + "pairs0 = CA.CC.pairs(standardize=False)\n", + "pairs = CA.pairs()\n", + "pairsc = CA.pairsc()\n", + "tokens = CA.tokens()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4f28ff25-8a6f-4466-b8a9-6bf926b0fac3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total pairs: 45\n", + "Primary pairs: 28\n", + "...carbon: 26\n", + "Tokens: 23\n", + "Curves: 97\n" + ] + } + ], + "source": [ + "print(f\"Total pairs: {len(pairs0):4}\")\n", + "print(f\"Primary pairs: {len(pairs):4}\")\n", + "print(f\"...carbon: {len(pairsc):4}\")\n", + "print(f\"Tokens: {len(CA.tokens()):4}\")\n", + "print(f\"Curves: {len(CCm):4}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8e902de8-cd75-477b-8577-2cc4b10346e1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4819
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB486
LINK-86CA/USDT-1ec73
CRV-cd52/USDC-eB483
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
WBTC-C599/USDC-eB483
DAI-1d0F/USDT-1ec73
WBTC-C599/WETH-6Cc23
WETH-6Cc2/USDT-1ec73
BNT-FF1C/USDC-eB483
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
Silo-B1f8/USDC-eB481
PEPE-E35F/WETH-6Cc21
vBNT-7f94/USDC-eB481
LBR-aCcA/WETH-6Cc21
RPL-A51f/XCHF-fc081
\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 19\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 6\n", + "LINK-86CA/USDT-1ec7 3\n", + "CRV-cd52/USDC-eB48 3\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "WBTC-C599/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "WETH-6Cc2/USDT-1ec7 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2\n", + "Silo-B1f8/USDC-eB48 1\n", + "PEPE-E35F/WETH-6Cc2 1\n", + "vBNT-7f94/USDC-eB48 1\n", + "LBR-aCcA/WETH-6Cc2 1\n", + "RPL-A51f/XCHF-fc08 1" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f77c58ad-454b-4a3d-9bbe-1c92cc04c731", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4819
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB486
LINK-86CA/USDT-1ec73
CRV-cd52/USDC-eB483
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
WBTC-C599/USDC-eB483
DAI-1d0F/USDT-1ec73
WBTC-C599/WETH-6Cc23
WETH-6Cc2/USDT-1ec73
BNT-FF1C/USDC-eB483
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 19\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 6\n", + "LINK-86CA/USDT-1ec7 3\n", + "CRV-cd52/USDC-eB48 3\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "WBTC-C599/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "WETH-6Cc2/USDT-1ec7 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs(minn=2)" + ] + }, + { + "cell_type": "markdown", + "id": "4f0cb652-b27c-4210-aa53-dd86665429de", + "metadata": {}, + "source": [ + "## Carbon" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6db0700b-9542-4ec4-8242-e9dad39958a2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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b4t/xIgRODk5ERsbe1tbeHg4b7zxRrZrW7ZswdPT87a+48ePZ8iQIcb3YWFhvPXWW7f1ExHb4pDbAYiIiOSUj48P9vb2hIWFUbJkSZKTk4034pA129a2bVuKFStGsWLFcHNzY/78+UYilBN2dnb3PN4dID3TauxTios+w8VzZ5njP9xoT0tN5czxCLwbv2oslbzlyI+76N69O0ePHsVkMpE3b17Cw8ON9m3bttGxY0eOHj1KZmbmHZdV29vbc+LECdzd3XP8un788UcSEhKy7Xe7xc3NjZMnT9KsWbMcj/cscHJyom/fvhw5coTixYvfs298fDytWrWiQYMGzJ49+457AqdPn07evHmJiIjg3zEXeKWOD9XqNcK9hieT3+1Hy7/2oVWPvpw5dpSJ/bqzcE84VquVcX260KRdJz5dvQWfcsWw/h6Pr68vAP379wcgNTWVJUuW0LVrV7744gumTJliPDczM5P+/fsbM7cWi4VPPvmEOXPmULZsWaNfbGws77//Phs3bsyW5Pn4+JCens769etp27btg/9AReSxUuImIiJPlT59+vDNN99QokQJ+vTpY1xPSUlh6dKl5MmTB1dXVwCSkpL44osvGDlyJI6Ojjkav169euzbty/bjATAl19+SUpKCu7u7owfP56rN25SpGRp+ozwJ1+BAtmSsyuXEshXoABXEhJuG79mgya4u7vz888/U7du3dvamzdvbrRXqFCB/fv3G23nz5+nSJEiuLi4YDKZ/jTB/KPly5fz+uuv3zHhcHR0xN7ePsdjPSvc3d2pW7cub7zxBuvWrbtrv3PnztGyZUv69OmDv7//XftlZGSQnJxMeno6xy4kYs3MxMHRkajjEVy7+jutevQF4MWqNfg4aA0mkx17NnyPc758dBwwGCtw6vI1mru9wIoVK7ItX122bBkVK1Zk+PDhtGzZkvHjx5MvXz4AVqxYgZubm5Gkbd68mZSUFAIDAxkzZowxxsKFC2natClVq1YlMTExW+xvvfUW7777rhI3ERumpZIiIvJU6d27NytXrmT58uXZZo+WL19OsWLFiIuLIzo6mujoaM6cOcO1a9dYuXJljsd/++232bFjh7GXDLKWko0fP54aNWrQvn17wsPDWRC6g7Hzv8HsVhGnPM7sDAkG4NJv5xnWrhln/n3kjuMnxZ4lOjoaLy+vO7afOnXKaG/ZsiX79u0jMjISgHnz5hl7+ipXrszp06dz/Lp27txpzOL8r6ioKKpUqZLjsZ4ls2fP5tSpU8aJov/r5MmTNGrUiBs3bjBs2LB7jvXBBx8QHR2N2WymVyNvGrbugGuVasRFn6Fk2fIsmjyRUd3bMKZHe35PuIiDoyOnIw5Txbu2MUZSWjpWqxVvb2/q1atnXA8ICKB3797UqlWLMmXKEBgYaLStWrUqW8LVsWNHPv3002xLYgEmTJjAkCFD7pi816tXj9OnTxMVFXXvH5iI5BolbiIi8lQpW7YsHh4evPTSSxQtWtS4PnfuXIYPH55t5qhw4cL87W9/49NPP83x+EWLFmXHjh0EBwdTvXp1atSoweDBg1m4cCEtWrQw+lUq6oKDyYSjkxOjAhbxr5XfMqy9L//o34O/Dv2AKt51gOx73EZ2bMH/DR3I/Pnzjb1oFosFT09P46tr165Ge8mSJVm0aBFdu3bFw8ODo0ePMmPGDCDrzfkPP/xARkZGjl5XZGSkMRP5RxcvXiQ+Pv6O+/qeBy4uLnz33Xf4+/sTERFxW3tQUBBz5syhcuXKDBgw4J5jDR48mJYtWxJzPo652/ZxaM8P/LR5Axnp6Zw4+AvV6tRjyooNvDH6I2YOe5fEixcw2dlh/cPMqYmspbh/dPDgQQ4fPkyPHj0A6Nu3L7NmzTI+WLjfZbN3c2vJrIjYJi2VFBERm+fq6sq1a9eM7//3QIl7lSSdNGkSkyZNMr7fsWPHbX1uHUZxi7u7O6tXr75nTGUL5OVwfBJYwbVKNf6xNPi2PiXLlWflsf8eJOFoZ6J1xVJGzS5XV9c/Tbxat25N69atb7terlw5WrVqRXBwMN27d8/WdqefR0pKyh3Hnzt3LqNGjXqu67h5e3szduxYevTocdvyVX9/f9q1a0f9+vXx8vJi5syZDB8+nLi4uGx/LqGhoaxevZqjR4/i5GBPkZKlaPBaWyL276Veyza4FCxEHd9WALxU04tS5SsQffIYlV72ZtO3i41xrICDnYmQkBB2797NtGnTmDNnDg4ODvj4+ACQnp5OXFwcGzdupHXr1ve9bPZuntclsyJPi+f3X2kREZGHYG9nomG5otjnsCajvek//R9hoeWpU6eyYMECLBbLA90fExPDwYMHeeeddx5ZTE+rkSNHUrp0ab755pts1/PkyQNA8eLFWbZsGf7+/uzYsQOz2ZytPp7ZbMbb25vly5dn1etMv8GhPTuo5OlDFe9aODrl4cAPWR84xJ6J5GLMWV6o7EG9lm24npzMmq/mkJGRQUEnB6Kiohg+fDgeHh5cuXKFZcuWsX79emMJcGxsLL179+azzz4D7n/Z7J1YrVbOnj1L5cqVH2ocEXl8lLiJiIg8oKJ5nWhcviiOdiYc7pLAOZhMONqZaFy+KEXzOj3S5xcuXJitW7caBbjvV/ny5QkJCXkmZ1lSUlLInz9/tq+jR4/etb/JZGLJkiUUKFDgrn0aNmzIP/7xD/z8/O54JP+SJUvYvXs3VatWZWS31tR+xZdX2nfB0SkP4776lpCv5/F+u2ZMH/oWgz6ZQbFSZXB0cmLCouXERJ5iePtXea/dq3Tp0oWxY8fy5ptvEhgYSNWqVW878XPs2LFs376diIgIunbtyqZNmx78h0VWGYyKFStSoUKFhxpHRB4fk/Ve60tERETkT2VkWjl/LZVTl6+RlJZulAoo6ORApWL5KZvf+ZHOtInty8i0Enr6Ijczc/4263+X0ub4WRkZ+Pj4sGHDhmzH/9+Pfv360a1bN9q0afNA94vI46c9biIiIg/J3s5EhYJ5qVAwL1arlfRMKw52pjvWYJPnw62ltLtjEo0i3Pfs/xBLae3t7VmwYAFjxozJdtpkToWFhWEymZS0idg4zbiJiIiIPCaJljT2xiZitUL6Hd5yOZhMmEzQsNyjX0orIs8WJW4iIiIij5GW0orIo6DETUREROQJ0VJaEXlQStxERERERERsnMoBiIiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiNU+ImIiIiIiJi45S4iYiIiIiI2DglbiIiIiIiIjZOiZuIiIiIiIiN+3+EOKEM/Ic4qAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ArbGraph.from_cc(CCc1).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3a6a4aea-cf79-4e59-8f83-11f51e7c82de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(75, 21)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1), len(CCc1.tokens())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "97d9d897-8038-4e66-8ac7-56b2a04f3ea1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('WETH-6Cc2', 41),\n", + " ('USDC-eB48', 35),\n", + " ('BNT-FF1C', 20),\n", + " ('USDT-1ec7', 12),\n", + " ('vBNT-7f94', 10),\n", + " ('DAI-1d0F', 5),\n", + " ('WBTC-C599', 5),\n", + " ('LINK-86CA', 3),\n", + " ('CRV-cd52', 2),\n", + " ('0x0-1AD5', 2),\n", + " ('stETH-fE84', 2),\n", + " ('PEPE-1933', 2),\n", + " ('MATIC-eBB0', 2),\n", + " ('ARB-4ad1', 2),\n", + " ('rETH-6393', 1),\n", + " ('SMT-7173', 1),\n", + " ('TSUKA-69eD', 1),\n", + " ('LYXe-be6D', 1),\n", + " ('LBR-aCcA', 1),\n", + " ('RPL-A51f', 1),\n", + " ('XCHF-fc08', 1)]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCc1.token_count()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c721f8aa-6d74-4c11-a6d4-adacf1c9043d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(26,\n", + " {'0x0-1AD5/WETH-6Cc2',\n", + " 'ARB-4ad1/MATIC-eBB0',\n", + " 'BNT-FF1C/USDC-eB48',\n", + " 'BNT-FF1C/WETH-6Cc2',\n", + " 'BNT-FF1C/vBNT-7f94',\n", + " 'CRV-cd52/USDC-eB48',\n", + " 'DAI-1d0F/USDC-eB48',\n", + " 'DAI-1d0F/USDT-1ec7',\n", + " 'LBR-aCcA/WETH-6Cc2',\n", + " 'LINK-86CA/USDC-eB48',\n", + " 'LINK-86CA/USDT-1ec7',\n", + " 'LYXe-be6D/USDC-eB48',\n", + " 'PEPE-1933/WETH-6Cc2',\n", + " 'RPL-A51f/XCHF-fc08',\n", + " 'SMT-7173/WETH-6Cc2',\n", + " 'TSUKA-69eD/USDC-eB48',\n", + " 'USDT-1ec7/USDC-eB48',\n", + " 'WBTC-C599/USDC-eB48',\n", + " 'WBTC-C599/USDT-1ec7',\n", + " 'WBTC-C599/WETH-6Cc2',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " 'WETH-6Cc2/USDT-1ec7',\n", + " 'rETH-6393/WETH-6Cc2',\n", + " 'stETH-fE84/WETH-6Cc2',\n", + " 'vBNT-7f94/USDC-eB48'})" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1.pairs()), CCc1.pairs()" + ] + }, + { + "cell_type": "markdown", + "id": "a88a0c91-d85a-4e61-9d36-d0f35c568798", + "metadata": {}, + "source": [ + "## All pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "b7e0ba34-0036-4243-837d-cb98ab31f76b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0x0/WETH -\n", + "ARB/MATIC -\n", + "BNT/USDC - -0.0000 BNT-FF1C 0.0000 USDC-eB48 \n", + "BNT/WETH - 0.4118 BNT-FF1C 0.0001 WETH-6Cc2 \n", + "BNT/vBNT - 6.5407 BNT-FF1C 9.2424 vBNT-7f94 \n", + "CRV/USDC - 0.2212 CRV-cd52 0.1772 USDC-eB48 \n", + "DAI/USDC - 0.0000 DAI-1d0F 0.0000 USDC-eB48 \n", + "DAI/USDT - -0.0000 DAI-1d0F -0.0000 USDT-1ec7 \n", + "LBR/WETH - 0.0000 LBR-aCcA 0.0000 WETH-6Cc2 \n", + "LINK/USDC - 0.0000 LINK-86CA 0.0000 USDC-eB48 \n", + "LINK/USDT - 0.0030 LINK-86CA 0.0197 USDT-1ec7 \n", + "LYXe/USDC - 0.0000 LYXe-be6D -0.0000 USDC-eB48 \n", + "PEPE/WETH -\n", + "RPL/XCHF - 0.0000 RPL-A51f 0.0000 XCHF-fc08 \n", + "SMT/WETH - -0.0000 SMT-7173 0.0000 WETH-6Cc2 \n", + "TSUKA/USDC - 0.0000 TSUKA-69eD 0.0000 USDC-eB48 \n", + "USDT/USDC - 0.4763 USDT-1ec7 0.4772 USDC-eB48 \n", + "WBTC/USDC - 0.0001 WBTC-C599 1.8071 USDC-eB48 \n", + "WBTC/USDT - 0.0000 WBTC-C599 -0.0000 USDT-1ec7 \n", + "WBTC/WETH - 0.0000 WBTC-C599 0.0000 WETH-6Cc2 \n", + "WETH/DAI - -0.0000 WETH-6Cc2 0.0000 DAI-1d0F \n", + "WETH/USDC - 0.0003 WETH-6Cc2 0.5129 USDC-eB48 \n", + "WETH/USDT - 0.0001 WETH-6Cc2 0.2370 USDT-1ec7 \n", + "rETH/WETH - 0.0009 rETH-6393 0.0010 WETH-6Cc2 \n", + "stETH/WETH - -0.0000 stETH-fE84 0.0000 WETH-6Cc2 \n", + "vBNT/USDC - 0.0000 vBNT-7f94 0.0000 USDC-eB48 \n", + "==/== - 0.0000 == 0.0000 == \n", + "WETH/USDC - 0.0003 WETH-6Cc2 0.5129 USDC-eB48 \n", + "WBTC/USDC - 0.0001 WBTC-C599 1.8071 USDC-eB48 \n", + "USDT/USDC - 0.4763 USDT-1ec7 0.4772 USDC-eB48 \n", + "BNT/vBNT - 6.5407 BNT-FF1C 9.2424 vBNT-7f94 \n" + ] + } + ], + "source": [ + "pairsc=list(CAm.pairsc())\n", + "pairsc.sort()\n", + "pairsc += [\"==/==\", f\"{T.WETH}/{T.USDC}\", f\"{T.WBTC}/{T.USDC}\", f\"{T.USDT}/{T.USDC}\", \"BNT-FF1C/vBNT-7f94\"]\n", + "for pair in pairsc:\n", + " pi = CA.pair_data(pair)\n", + " O = MargPOptimizer(pi.CC)\n", + " tkn0, tkn1 = pair.split(\"/\")\n", + " \n", + " try:\n", + " r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False))\n", + " r0.trade_instructions(ti_format=O.TIF_DFAGGR8)\n", + " r00 = r0.result or 0\n", + "\n", + " r1 = O.margp_optimizer(tkn1, params=dict(verbose=False, debug=False))\n", + " r11 = r1.result or 0\n", + " r1.trade_instructions(ti_format=O.TIF_DFAGGR8)\n", + "\n", + " print(f\"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}\")\n", + " except Exception as e:\n", + " print(f\"{Pair.n(pair):12}-\")" + ] + }, + { + "cell_type": "markdown", + "id": "1652b8f5", + "metadata": {}, + "source": [ + "## Analysis by pair" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "84750fca-1d91-4f77-bc1a-a361a1c8ae02", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
pairexchangecid0
0x0/WETHcarbon_v1132277-00.0000131.342084e+04bbuy-0x0 @ 0.00 WETH per 0x0
132277-10.0000153.597323e+02ssell-0x0 @ 0.00 WETH per 0x0
ARB/MATICcarbon_v1806240-11.4285711.418060e+02bbuy-ARB @ 1.43 MATIC per ARB
806240-01.5070451.276054e+01ssell-ARB @ 1.51 MATIC per ARB
BNT/USDCbancor_v37200.4161565.373193e+06bsbuy-sell-BNT @ 0.42 USDC per BNT
...........................
rETH/WETHcarbon_v1903115-01.0720001.865671e+00bbuy-rETH @ 1.07 WETH per rETH
stETH/WETHcarbon_v1422914-10.9900998.011450e-02bbuy-stETH @ 0.99 WETH per stETH
uniswap_v2ff7abe201.0012322.533438e+03bsbuy-sell-stETH @ 1.00 WETH per stETH
carbon_v1422914-01.0101012.031521e-03ssell-stETH @ 1.01 WETH per stETH
vBNT/USDCcarbon_v1171896-10.3900005.000000e+03ssell-vBNT @ 0.39 USDC per vBNT
\n", + "

95 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 0.000013 1.342084e+04 b \n", + " 132277-1 0.000015 3.597323e+02 s \n", + "ARB/MATIC carbon_v1 806240-1 1.428571 1.418060e+02 b \n", + " 806240-0 1.507045 1.276054e+01 s \n", + "BNT/USDC bancor_v3 720 0.416156 5.373193e+06 b s \n", + "... ... ... .. .. .. \n", + "rETH/WETH carbon_v1 903115-0 1.072000 1.865671e+00 b \n", + "stETH/WETH carbon_v1 422914-1 0.990099 8.011450e-02 b \n", + " uniswap_v2 ff7abe20 1.001232 2.533438e+03 b s \n", + " carbon_v1 422914-0 1.010101 2.031521e-03 s \n", + "vBNT/USDC carbon_v1 171896-1 0.390000 5.000000e+03 s \n", + "\n", + " bsv \n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 buy-0x0 @ 0.00 WETH per 0x0 \n", + " 132277-1 sell-0x0 @ 0.00 WETH per 0x0 \n", + "ARB/MATIC carbon_v1 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", + " 806240-0 sell-ARB @ 1.51 MATIC per ARB \n", + "BNT/USDC bancor_v3 720 buy-sell-BNT @ 0.42 USDC per BNT \n", + "... ... \n", + "rETH/WETH carbon_v1 903115-0 buy-rETH @ 1.07 WETH per rETH \n", + "stETH/WETH carbon_v1 422914-1 buy-stETH @ 0.99 WETH per stETH \n", + " uniswap_v2 ff7abe20 buy-sell-stETH @ 1.00 WETH per stETH \n", + " carbon_v1 422914-0 sell-stETH @ 1.01 WETH per stETH \n", + "vBNT/USDC carbon_v1 171896-1 sell-vBNT @ 0.39 USDC per vBNT \n", + "\n", + "[95 rows x 6 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pricedf = CAm.pool_arbitrage_statistics()\n", + "pricedf" + ] + }, + { + "cell_type": "markdown", + "id": "c066c726-ee75-41e3-8b3f-3b43792c6352", + "metadata": {}, + "source": [ + "### WETH/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "67122692-198a-4706-9526-cba8b35c2fb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WETH-6Cc2/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = \"WETH-6Cc2/USDC-eB48\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "fd022c7e-1c6a-4947-a156-a2ada671c8ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1057306-01405.0001403.558719bbuy-WETH @ 1405.00 USDC per WETH
057334-01700.0001700.029412bbuy-WETH @ 1700.00 USDC per WETH
057331-01747.3251342.728833bbuy-WETH @ 1747.33 USDC per WETH
057337-01798.6809770.890116bbuy-WETH @ 1798.68 USDC per WETH
057339-01800.0000000.000556bbuy-WETH @ 1800.00 USDC per WETH
uniswap_v376b13aa01802.520634523.660282xbsbuy-sell-WETH @ 1802.52 USDC per WETH
carbon_v1057292-01853.4088180.003314xbbuy-WETH @ 1853.41 USDC per WETH
057353-01853.9998150.004235xbbuy-WETH @ 1854.00 USDC per WETH
057296-01929.9998070.001033xbbuy-WETH @ 1930.00 USDC per WETH
057299-11940.0000000.026117ssell-WETH @ 1940.00 USDC per WETH
057296-11949.99980510.460391ssell-WETH @ 1950.00 USDC per WETH
057337-11975.0000000.218712ssell-WETH @ 1975.00 USDC per WETH
057343-11989.9998011.000000ssell-WETH @ 1990.00 USDC per WETH
057334-11999.9998000.040000ssell-WETH @ 2000.00 USDC per WETH
057292-12000.0000000.016387ssell-WETH @ 2000.00 USDC per WETH
057331-12000.0000002.950064ssell-WETH @ 2000.00 USDC per WETH
057353-12047.9997958.230465ssell-WETH @ 2048.00 USDC per WETH
057285-12099.9997900.006040ssell-WETH @ 2100.00 USDC per WETH
057315-12300.0000000.487950ssell-WETH @ 2300.00 USDC per WETH
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "carbon_v1 057306-0 1405.000140 3.558719 b \n", + " 057334-0 1700.000170 0.029412 b \n", + " 057331-0 1747.325134 2.728833 b \n", + " 057337-0 1798.680977 0.890116 b \n", + " 057339-0 1800.000000 0.000556 b \n", + "uniswap_v3 76b13aa0 1802.520634 523.660282 x b s \n", + "carbon_v1 057292-0 1853.408818 0.003314 x b \n", + " 057353-0 1853.999815 0.004235 x b \n", + " 057296-0 1929.999807 0.001033 x b \n", + " 057299-1 1940.000000 0.026117 s \n", + " 057296-1 1949.999805 10.460391 s \n", + " 057337-1 1975.000000 0.218712 s \n", + " 057343-1 1989.999801 1.000000 s \n", + " 057334-1 1999.999800 0.040000 s \n", + " 057292-1 2000.000000 0.016387 s \n", + " 057331-1 2000.000000 2.950064 s \n", + " 057353-1 2047.999795 8.230465 s \n", + " 057285-1 2099.999790 0.006040 s \n", + " 057315-1 2300.000000 0.487950 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 057306-0 buy-WETH @ 1405.00 USDC per WETH \n", + " 057334-0 buy-WETH @ 1700.00 USDC per WETH \n", + " 057331-0 buy-WETH @ 1747.33 USDC per WETH \n", + " 057337-0 buy-WETH @ 1798.68 USDC per WETH \n", + " 057339-0 buy-WETH @ 1800.00 USDC per WETH \n", + "uniswap_v3 76b13aa0 buy-sell-WETH @ 1802.52 USDC per WETH \n", + "carbon_v1 057292-0 buy-WETH @ 1853.41 USDC per WETH \n", + " 057353-0 buy-WETH @ 1854.00 USDC per WETH \n", + " 057296-0 buy-WETH @ 1930.00 USDC per WETH \n", + " 057299-1 sell-WETH @ 1940.00 USDC per WETH \n", + " 057296-1 sell-WETH @ 1950.00 USDC per WETH \n", + " 057337-1 sell-WETH @ 1975.00 USDC per WETH \n", + " 057343-1 sell-WETH @ 1990.00 USDC per WETH \n", + " 057334-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057292-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057331-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057353-1 sell-WETH @ 2048.00 USDC per WETH \n", + " 057285-1 sell-WETH @ 2100.00 USDC per WETH \n", + " 057315-1 sell-WETH @ 2300.00 USDC per WETH " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ec801111-63d8-4c04-87ee-8d7c43ade0eb", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "0d26483f-54fc-4a5f-8745-d480a39f1af2", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "364d7536-a0f1-49d1-9189-5fb994febacf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
a176b13aa01.598698e+01-0.008869
41057296-0-1.994537e+000.001033
41057292-0-6.141325e+000.003317
41057353-0-7.851120e+000.004235
PRICE5.547786e-041.000000
AMMIn1.598698e+010.008585
AMMOut-1.598698e+01-0.008869
TOTAL NET-6.265600e-08-0.000285
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "a176b13aa0 1.598698e+01 -0.008869\n", + "41057296-0 -1.994537e+00 0.001033\n", + "41057292-0 -6.141325e+00 0.003317\n", + "41057353-0 -7.851120e+00 0.004235\n", + "PRICE 5.547786e-04 1.000000\n", + "AMMIn 1.598698e+01 0.008585\n", + "AMMOut -1.598698e+01 -0.008869\n", + "TOTAL NET -6.265600e-08 -0.000285" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "e6ec3cb6-214d-4924-ab74-3ba204f20f42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.0003 WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.008869WETH-6Cc20.0005550.0005550.0005554.902877e-084.348478e-104.348478e-10
carbon_v141057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911802.5208172.855921e-022.242218e-011.243935e-04
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241802.5208172.728557e-021.675696e-019.296400e-05
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791802.5208177.072149e-021.410567e-017.825522e-05
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.008869 WETH-6Cc2 0.000555 \n", + "carbon_v1 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000555 0.000555 4.902877e-08 4.348478e-10 \n", + "carbon_v1 41057353-0 1853.999391 1802.520817 2.855921e-02 2.242218e-01 \n", + " 41057292-0 1851.703624 1802.520817 2.728557e-02 1.675696e-01 \n", + " 41057296-0 1929.997779 1802.520817 7.072149e-02 1.410567e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 4.348478e-10 \n", + "carbon_v1 41057353-0 1.243935e-04 \n", + " 41057292-0 9.296400e-05 \n", + " 41057296-0 7.825522e-05 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "295d2c70-e97f-4668-ae36-8b192e8e731e", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "5aba1b68-20ec-41ee-b373-12d37d586013", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
a176b13aa015.474127-8.584715e-03
41057296-0-1.9945371.033440e-03
41057292-0-6.1413253.316581e-03
41057353-0-7.8511204.234694e-03
PRICE1.0000001.802521e+03
AMMIn15.4741278.584715e-03
AMMOut-15.986982-8.584715e-03
TOTAL NET-0.5128551.056488e-11
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "a176b13aa0 15.474127 -8.584715e-03\n", + "41057296-0 -1.994537 1.033440e-03\n", + "41057292-0 -6.141325 3.316581e-03\n", + "41057353-0 -7.851120 4.234694e-03\n", + "PRICE 1.000000 1.802521e+03\n", + "AMMIn 15.474127 8.584715e-03\n", + "AMMOut -15.986982 -8.584715e-03\n", + "TOTAL NET -0.512855 1.056488e-11" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bc936f2b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.008585WETH-6Cc20.0005550.0005550.0005554.851101e-084.164532e-107.506655e-07
carbon_v141057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911802.5208112.855922e-022.242218e-012.242218e-01
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241802.5208112.728557e-021.675696e-011.675696e-01
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791802.5208117.072150e-021.410567e-011.410567e-01
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.008585 WETH-6Cc2 0.000555 \n", + "carbon_v1 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000555 0.000555 4.851101e-08 4.164532e-10 \n", + "carbon_v1 41057353-0 1853.999391 1802.520811 2.855922e-02 2.242218e-01 \n", + " 41057292-0 1851.703624 1802.520811 2.728557e-02 1.675696e-01 \n", + " 41057296-0 1929.997779 1802.520811 7.072150e-02 1.410567e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 7.506655e-07 \n", + "carbon_v1 41057353-0 2.242218e-01 \n", + " 41057292-0 1.675696e-01 \n", + " 41057296-0 1.410567e-01 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "#print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "ad1c859c", + "metadata": {}, + "source": [ + "### WBTC/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "19890bdf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WBTC-C599/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = f\"{T.WBTC}/{T.USDC}\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "f06b9fe1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
uniswap_v3cf72417e26737.35830715.869204xbsbuy-sell-WBTC @ 26737.36 USDC per WBTC
carbon_v1537493-027075.7607260.018160xbbuy-WBTC @ 27075.76 USDC per WBTC
537493-128840.0000000.028274ssell-WBTC @ 28840.00 USDC per WBTC
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "uniswap_v3 cf72417e 26737.358307 15.869204 x b s \n", + "carbon_v1 537493-0 27075.760726 0.018160 x b \n", + " 537493-1 28840.000000 0.028274 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "uniswap_v3 cf72417e buy-sell-WBTC @ 26737.36 USDC per WBTC \n", + "carbon_v1 537493-0 buy-WBTC @ 27075.76 USDC per WBTC \n", + " 537493-1 sell-WBTC @ 28840.00 USDC per WBTC " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "9ae7c593", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "4dabe944-6d09-400f-aaf3-9e6bff3c539f", + "metadata": {}, + "outputs": [], + "source": [ + "#CA.price_ranges().loc[\"WBTC/USDC\"]" + ] + }, + { + "cell_type": "markdown", + "id": "bb3381bc", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "fe78bb39", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = WBTC-C599\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WBTC-C599
9bcf72417e2.882666e+02-0.010781
18537493-0-2.882666e+020.010714
PRICE3.740070e-051.000000
AMMIn2.882666e+020.010714
AMMOut-2.882666e+02-0.010781
TOTAL NET-2.216329e-07-0.000068
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WBTC-C599\n", + "9bcf72417e 2.882666e+02 -0.010781\n", + "18537493-0 -2.882666e+02 0.010714\n", + "PRICE 3.740070e-05 1.000000\n", + "AMMIn 2.882666e+02 0.010714\n", + "AMMOut -2.882666e+02 -0.010781\n", + "TOTAL NET -2.216329e-07 -0.000068" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "5792fde5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.0001 WBTC-C599\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v39bcf72417e0.003WBTC/USDC288.26657USDC-eB4826737.35830726737.41275926737.4672110.0000020.0005872.195643e-08
carbon_v118537493-00.002WBTC/USDC-288.26657USDC-eB4827075.76072626906.08229826737.4672110.0063061.8179026.799080e-05
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 9bcf72417e 0.003 WBTC/USDC 288.26657 USDC-eB48 26737.358307 \n", + "carbon_v1 18537493-0 0.002 WBTC/USDC -288.26657 USDC-eB48 27075.760726 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 9bcf72417e 26737.412759 26737.467211 0.000002 0.000587 \n", + "carbon_v1 18537493-0 26906.082298 26737.467211 0.006306 1.817902 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 9bcf72417e 2.195643e-08 \n", + "carbon_v1 18537493-0 6.799080e-05 " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "0e452d6a", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "5b364614", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WBTC-C599
9bcf72417e286.460057-1.071383e-02
18537493-0-288.2671531.071383e-02
PRICE1.0000002.673747e+04
AMMIn286.4600571.071383e-02
AMMOut-288.267153-1.071383e-02
TOTAL NET-1.8070976.329159e-12
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WBTC-C599\n", + "9bcf72417e 286.460057 -1.071383e-02\n", + "18537493-0 -288.267153 1.071383e-02\n", + "PRICE 1.000000 2.673747e+04\n", + "AMMIn 286.460057 1.071383e-02\n", + "AMMOut -288.267153 -1.071383e-02\n", + "TOTAL NET -1.807097 6.329159e-12" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "f8bcdbd0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 1.8185 USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v39bcf72417e0.003WBTC/USDC286.460057USDC-eB4826737.35830726737.41241926737.4665280.0000020.0005800.000580
carbon_v118537493-00.002WBTC/USDC-288.267153USDC-eB4827075.76072626906.08195426737.4665280.0063061.8179091.817909
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 9bcf72417e 0.003 WBTC/USDC 286.460057 USDC-eB48 26737.358307 \n", + "carbon_v1 18537493-0 0.002 WBTC/USDC -288.267153 USDC-eB48 27075.760726 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 9bcf72417e 26737.412419 26737.466528 0.000002 0.000580 \n", + "carbon_v1 18537493-0 26906.081954 26737.466528 0.006306 1.817909 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 9bcf72417e 0.000580 \n", + "carbon_v1 18537493-0 1.817909 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "1531d82d", + "metadata": {}, + "source": [ + "### USDC/USDT" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "9b652336-878e-4387-aec8-99fc89761efb", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = USDT-1ec7/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = f\"{T.USDT}/{T.USDC}\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "2c38774f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1634444-00.99600050200.798193bbuy-USDT @ 1.00 USDC per USDT
634371-10.99990050.154515bbuy-USDT @ 1.00 USDC per USDT
634371-01.00010050.100001ssell-USDT @ 1.00 USDC per USDT
634391-11.000690494.654975bbuy-USDT @ 1.00 USDC per USDT
634391-01.001001505.000000ssell-USDT @ 1.00 USDC per USDT
uniswap_v32616d5251.0026543514.249565bsbuy-sell-USDT @ 1.00 USDC per USDT
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "carbon_v1 634444-0 0.996000 50200.798193 b \n", + " 634371-1 0.999900 50.154515 b \n", + " 634371-0 1.000100 50.100001 s \n", + " 634391-1 1.000690 494.654975 b \n", + " 634391-0 1.001001 505.000000 s \n", + "uniswap_v3 2616d525 1.002654 3514.249565 b s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 634444-0 buy-USDT @ 1.00 USDC per USDT \n", + " 634371-1 buy-USDT @ 1.00 USDC per USDT \n", + " 634371-0 sell-USDT @ 1.00 USDC per USDT \n", + " 634391-1 buy-USDT @ 1.00 USDC per USDT \n", + " 634391-0 sell-USDT @ 1.00 USDC per USDT \n", + "uniswap_v3 2616d525 buy-sell-USDT @ 1.00 USDC per USDT " + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "1075b90b", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "bc55d9dc", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b3f07caa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDT-1ec7\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48
782616d525498.162065-4.992721e+02
04634371-0-50.1000015.010501e+01
04634391-0-448.5383864.491671e+02
PRICE1.0000009.982006e-01
AMMIn498.1620654.992721e+02
AMMOut-498.638387-4.992721e+02
TOTAL NET-0.476323-2.328306e-10
\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48\n", + "782616d525 498.162065 -4.992721e+02\n", + "04634371-0 -50.100001 5.010501e+01\n", + "04634391-0 -448.538386 4.491671e+02\n", + "PRICE 1.000000 9.982006e-01\n", + "AMMIn 498.162065 4.992721e+02\n", + "AMMOut -498.638387 -4.992721e+02\n", + "TOTAL NET -0.476323 -2.328306e-10" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "a2c4eb0d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.4764 USDT-1ec7\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3782616d5250.003USDC/USDT498.162065USDT-1ec70.9973530.9977770.9982010.0004250.2115890.211589
carbon_v104634391-00.002USDC/USDT-448.538386USDT-1ec70.9990000.9986000.9982010.0004000.1795670.179567
04634371-00.002USDC/USDT-50.100001USDT-1ec70.9999000.9999000.9982010.0017020.0852930.085293
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 782616d525 0.003 USDC/USDT 498.162065 USDT-1ec7 0.997353 \n", + "carbon_v1 04634391-0 0.002 USDC/USDT -448.538386 USDT-1ec7 0.999000 \n", + " 04634371-0 0.002 USDC/USDT -50.100001 USDT-1ec7 0.999900 \n", + "\n", + " effp margp gain_r gain_tknq gain_ttkn \n", + "exch cid \n", + "uniswap_v3 782616d525 0.997777 0.998201 0.000425 0.211589 0.211589 \n", + "carbon_v1 04634391-0 0.998600 0.998201 0.000400 0.179567 0.179567 \n", + " 04634371-0 0.999900 0.998201 0.001702 0.085293 0.085293 " + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "52597a5f", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "fe34301e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48
782616d525498.405675-499.516181
04634371-0-50.10000150.105011
04634391-0-448.305674448.933988
PRICE1.0018021.000000
AMMIn498.405675499.039000
AMMOut-498.405675-499.516181
TOTAL NET0.000000-0.477181
\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48\n", + "782616d525 498.405675 -499.516181\n", + "04634371-0 -50.100001 50.105011\n", + "04634391-0 -448.305674 448.933988\n", + "PRICE 1.001802 1.000000\n", + "AMMIn 498.405675 499.039000\n", + "AMMOut -498.405675 -499.516181\n", + "TOTAL NET 0.000000 -0.477181" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "69035bc5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.4773 USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3782616d5250.003USDC/USDT498.405675USDT-1ec70.9973530.9977770.9982010.0004250.2117960.212178
carbon_v104634391-00.002USDC/USDT-448.305674USDT-1ec70.9990000.9986000.9982010.0004000.1793810.179704
04634371-00.002USDC/USDT-50.100001USDT-1ec70.9999000.9999000.9982010.0017020.0852720.085426
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 782616d525 0.003 USDC/USDT 498.405675 USDT-1ec7 0.997353 \n", + "carbon_v1 04634391-0 0.002 USDC/USDT -448.305674 USDT-1ec7 0.999000 \n", + " 04634371-0 0.002 USDC/USDT -50.100001 USDT-1ec7 0.999900 \n", + "\n", + " effp margp gain_r gain_tknq gain_ttkn \n", + "exch cid \n", + "uniswap_v3 782616d525 0.997777 0.998201 0.000425 0.211796 0.212178 \n", + "carbon_v1 04634391-0 0.998600 0.998201 0.000400 0.179381 0.179704 \n", + " 04634371-0 0.999900 0.998201 0.001702 0.085272 0.085426 " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "625d8448", + "metadata": {}, + "source": [ + "### BNT/vBNT" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "4ee5be9f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = BNT-FF1C/vBNT-7f94\n" + ] + } + ], + "source": [ + "pair = f\"{T.BNT}/vBNT-7f94\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "886b9524", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1748965-10.9090911.129751e+03bbuy-BNT @ 0.91 vBNT per BNT
748950-00.9400001.413879e+04bbuy-BNT @ 0.94 vBNT per BNT
748990-10.9523811.178721e+03bbuy-BNT @ 0.95 vBNT per BNT
748966-11.0000001.089256e+03bbuy-BNT @ 1.00 vBNT per BNT
748990-01.1110522.919450e-01xssell-BNT @ 1.11 vBNT per BNT
748976-11.1111117.293739e+02bbuy-BNT @ 1.11 vBNT per BNT
748977-11.2500004.000000e+02xbbuy-BNT @ 1.25 vBNT per BNT
748976-01.3314802.593859e+02xssell-BNT @ 1.33 vBNT per BNT
bancor_v37421.4135892.321610e+06xbsbuy-sell-BNT @ 1.41 vBNT per BNT
carbon_v1748977-01.4285715.000000e+02ssell-BNT @ 1.43 vBNT per BNT
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "carbon_v1 748965-1 0.909091 1.129751e+03 b \n", + " 748950-0 0.940000 1.413879e+04 b \n", + " 748990-1 0.952381 1.178721e+03 b \n", + " 748966-1 1.000000 1.089256e+03 b \n", + " 748990-0 1.111052 2.919450e-01 x s \n", + " 748976-1 1.111111 7.293739e+02 b \n", + " 748977-1 1.250000 4.000000e+02 x b \n", + " 748976-0 1.331480 2.593859e+02 x s \n", + "bancor_v3 742 1.413589 2.321610e+06 x b s \n", + "carbon_v1 748977-0 1.428571 5.000000e+02 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 748965-1 buy-BNT @ 0.91 vBNT per BNT \n", + " 748950-0 buy-BNT @ 0.94 vBNT per BNT \n", + " 748990-1 buy-BNT @ 0.95 vBNT per BNT \n", + " 748966-1 buy-BNT @ 1.00 vBNT per BNT \n", + " 748990-0 sell-BNT @ 1.11 vBNT per BNT \n", + " 748976-1 buy-BNT @ 1.11 vBNT per BNT \n", + " 748977-1 buy-BNT @ 1.25 vBNT per BNT \n", + " 748976-0 sell-BNT @ 1.33 vBNT per BNT \n", + "bancor_v3 742 buy-sell-BNT @ 1.41 vBNT per BNT \n", + "carbon_v1 748977-0 sell-BNT @ 1.43 vBNT per BNT " + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "a099fcc9", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "fa64de48", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "ef712505", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = BNT-FF1C\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
BNT-FF1CvBNT-7f94
742213.522155-3.017770e+02
86748976-0-219.7708813.014526e+02
86748990-0-0.2919453.243747e-01
PRICE1.0000007.076796e-01
AMMIn213.5221553.017770e+02
AMMOut-220.062826-3.017770e+02
TOTAL NET-6.540671-2.384513e-08
\n", + "
" + ], + "text/plain": [ + " BNT-FF1C vBNT-7f94\n", + "742 213.522155 -3.017770e+02\n", + "86748976-0 -219.770881 3.014526e+02\n", + "86748990-0 -0.291945 3.243747e-01\n", + "PRICE 1.000000 7.076796e-01\n", + "AMMIn 213.522155 3.017770e+02\n", + "AMMOut -220.062826 -3.017770e+02\n", + "TOTAL NET -6.540671 -2.384513e-08" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "9b9334fa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 6.7520 BNT-FF1C\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
carbon_v186748976-00.002vBNT/BNT-219.770881BNT-FF1C0.7510440.7290390.7076800.0301836.6333526.633352
86748990-00.002vBNT/BNT-0.291945BNT-FF1C0.9000480.9000240.7076800.2717960.0793490.079349
bancor_v37420.000BNT/vBNT-301.777022vBNT-7f941.4135891.4133291.4130690.0001840.0555100.039283
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "carbon_v1 86748976-0 0.002 vBNT/BNT -219.770881 BNT-FF1C 0.751044 \n", + " 86748990-0 0.002 vBNT/BNT -0.291945 BNT-FF1C 0.900048 \n", + "bancor_v3 742 0.000 BNT/vBNT -301.777022 vBNT-7f94 1.413589 \n", + "\n", + " effp margp gain_r gain_tknq gain_ttkn \n", + "exch cid \n", + "carbon_v1 86748976-0 0.729039 0.707680 0.030183 6.633352 6.633352 \n", + " 86748990-0 0.900024 0.707680 0.271796 0.079349 0.079349 \n", + "bancor_v3 742 1.413329 1.413069 0.000184 0.055510 0.039283 " + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "84d633d3", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "97605e11", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = vBNT-7f94\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
BNT-FF1CvBNT-7f94
7422.200221e+02-310.961787
86748976-0-2.197301e+02301.395046
86748990-0-2.919450e-010.324375
PRICE1.413053e+001.000000
AMMIn2.200221e+02301.719420
AMMOut-2.200221e+02-310.961787
TOTAL NET-1.836997e-08-9.242367
\n", + "
" + ], + "text/plain": [ + " BNT-FF1C vBNT-7f94\n", + "742 2.200221e+02 -310.961787\n", + "86748976-0 -2.197301e+02 301.395046\n", + "86748990-0 -2.919450e-01 0.324375\n", + "PRICE 1.413053e+00 1.000000\n", + "AMMIn 2.200221e+02 301.719420\n", + "AMMOut -2.200221e+02 -310.961787\n", + "TOTAL NET -1.836997e-08 -9.242367" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "4ab13fa6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 9.5408 vBNT-7f94\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
carbon_v186748976-00.002vBNT/BNT-219.730117BNT-FF1C0.7510440.7290440.7076870.0301776.6308549.369749
86748990-00.002vBNT/BNT-0.291945BNT-FF1C0.9000480.9000240.7076870.2717820.0793450.112119
bancor_v37420.000BNT/vBNT-310.961787vBNT-7f941.4135891.4133211.4130530.0001900.0589410.058941
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "carbon_v1 86748976-0 0.002 vBNT/BNT -219.730117 BNT-FF1C 0.751044 \n", + " 86748990-0 0.002 vBNT/BNT -0.291945 BNT-FF1C 0.900048 \n", + "bancor_v3 742 0.000 BNT/vBNT -310.961787 vBNT-7f94 1.413589 \n", + "\n", + " effp margp gain_r gain_tknq gain_ttkn \n", + "exch cid \n", + "carbon_v1 86748976-0 0.729044 0.707687 0.030177 6.630854 9.369749 \n", + " 86748990-0 0.900024 0.707687 0.271782 0.079345 0.112119 \n", + "bancor_v3 742 1.413321 1.413053 0.000190 0.058941 0.058941 " + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3ec0dc3-35bc-4d7e-b340-59a7f7d498d9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06d49abc-9138-48b5-87f5-078729800b64", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da7b5150-0cdd-4394-9687-7c0229b82619", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.py b/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.py new file mode 100644 index 000000000..1a2f15eaa --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_014_ArbDashboard.py @@ -0,0 +1,257 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +from fastlane_bot.bot import CarbonBot as Bot#, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# # Mainnet Arbitrage Dashboard [A014] + +bot = Bot() +CCm = bot.get_curves() +fn = f"../data/A014-{int(time.time())}.csv.gz" +print (f"Saving as {fn}") +CCm.asdf().to_csv(fn, compression = "gzip") + + +# !ls ../data + +#CCm = CPCContainer.from_df(pd.read_csv("../data/A014-1683963372.csv.gz")) +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) + + +# ## Market structure analysis + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + +print(f"Total pairs: {len(pairs0):4}") +print(f"Primary pairs: {len(pairs):4}") +print(f"...carbon: {len(pairsc):4}") +print(f"Tokens: {len(CA.tokens()):4}") +print(f"Curves: {len(CCm):4}") + +CA.count_by_pairs() + +CA.count_by_pairs(minn=2) + +# ## Carbon + +ArbGraph.from_cc(CCc1).plot()._ + +len(CCc1), len(CCc1.tokens()) + +CCc1.token_count() + + +len(CCc1.pairs()), CCc1.pairs() + +# ## All pairs + +pairsc=list(CAm.pairsc()) +pairsc.sort() +pairsc += ["==/==", f"{T.WETH}/{T.USDC}", f"{T.WBTC}/{T.USDC}", f"{T.USDT}/{T.USDC}", "BNT-FF1C/vBNT-7f94"] +for pair in pairsc: + pi = CA.pair_data(pair) + O = MargPOptimizer(pi.CC) + tkn0, tkn1 = pair.split("/") + + try: + r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False)) + r0.trade_instructions(ti_format=O.TIF_DFAGGR8) + r00 = r0.result or 0 + + r1 = O.margp_optimizer(tkn1, params=dict(verbose=False, debug=False)) + r11 = r1.result or 0 + r1.trade_instructions(ti_format=O.TIF_DFAGGR8) + + print(f"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}") + except Exception as e: + print(f"{Pair.n(pair):12}-") + +# ## Analysis by pair + +pricedf = CAm.pool_arbitrage_statistics() +pricedf + +# ### WETH/USDC + +pair = "WETH-6Cc2/USDC-eB48" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +#print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### WBTC/USDC + +pair = f"{T.WBTC}/{T.USDC}" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# + +#CA.price_ranges().loc["WBTC/USDC"] +# - + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### USDC/USDT + +pair = f"{T.USDT}/{T.USDC}" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### BNT/vBNT + +pair = f"{T.BNT}/vBNT-7f94" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + + + + + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.ipynb b/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.ipynb new file mode 100644 index 000000000..24f8f374c --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.ipynb @@ -0,0 +1,2684 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", + "Error adding Ethereum blockchain to database Ethereum, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"ix_blockchains_name\"\n", + "DETAIL: Key (name)=(Ethereum) already exists.\n", + "\n", + "[SQL: INSERT INTO blockchains (name, block_number) VALUES (%(name)s, %(block_number)s) RETURNING blockchains.id]\n", + "[parameters: {'name': 'Ethereum', 'block_number': 0}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange carbon_v1 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(6) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 6, 'name': 'carbon_v1', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(1) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 1, 'name': 'bancor_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange bancor_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(2) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 2, 'name': 'bancor_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(3) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 3, 'name': 'uniswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange uniswap_v3 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(4) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 4, 'name': 'uniswap_v3', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "Error adding exchange sushiswap_v2 to database, (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint \"exchanges_pkey\"\n", + "DETAIL: Key (id)=(5) already exists.\n", + "\n", + "[SQL: INSERT INTO exchanges (id, name, blockchain_name) VALUES (%(id)s, %(name)s, %(blockchain_name)s)]\n", + "[parameters: {'id': 5, 'name': 'sushiswap_v2', 'blockchain_name': 'Ethereum'}]\n", + "(Background on this error at: http://sqlalche.me/e/14/gkpj) skipping...\n", + "ConstantProductCurve v2.12 (13/May/2023)\n", + "CPCAnalyzer v1.4 (13/May/2023)\n", + "SimpleOptimizer v4.0 (10/May/2023)\n", + "MargPOptimizer v4.0 (10/May/2023)\n", + "ConvexOptimizer v4.0 (10/May/2023)\n", + "ArbGraph v2.2 (09/May/2023)\n", + "CarbonBot v3-b2.1 (03/May/2023)\n", + "imported m, np, pd, plt, os, sys, decimal; defined iseq, raises, require\n", + "Version = 3.0-b3skltest [requirements >= 3.0 is met]\n" + ] + } + ], + "source": [ + "from fastlane_bot.bot import CarbonBot as Bot#, Config, ConfigDB, ConfigNetwork, ConfigProvider\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer\n", + "from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer\n", + "from fastlane_bot.tools.arbgraphs import ArbGraph\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(SimpleOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(MargPOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(ConvexOptimizer))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(ArbGraph))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "from fastlane_bot.testing import *\n", + "import itertools as it\n", + "import collections as cl\n", + "plt.style.use('seaborn-dark')\n", + "plt.rcParams['figure.figsize'] = [12,6]\n", + "from fastlane_bot import __VERSION__\n", + "require(\"3.0\", __VERSION__)" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Mainnet Arbitrage Dashboard [A014]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "882a9917-298c-48a7-9c67-d78bc7e5cafa", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "# bot = Bot()\n", + "# CCm = bot.get_curves()\n", + "# fn = f\"../data/A014-{int(time.time())}.csv.gz\"\n", + "# print (f\"Saving as {fn}\")\n", + "# CCm.asdf().to_csv(fn, compression = \"gzip\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e0f8793b-456c-4b88-ba01-ff31b46e8023", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A014-1683963279.csv.gz A014-1683963346.csv.gz A014-1683963372.csv.gz\n" + ] + } + ], + "source": [ + "!ls ../data" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1cf6de0d-a389-4a12-af78-9d33dd0258a3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "CCm = CPCContainer.from_df(pd.read_csv(\"../data/A014-1683963372.csv.gz\"))\n", + "CCu3 = CCm.byparams(exchange=\"uniswap_v3\")\n", + "CCu2 = CCm.byparams(exchange=\"uniswap_v2\")\n", + "CCs2 = CCm.byparams(exchange=\"sushiswap_v2\")\n", + "CCc1 = CCm.byparams(exchange=\"carbon_v1\")\n", + "tc_u3 = CCu3.token_count(asdict=True)\n", + "tc_u2 = CCu2.token_count(asdict=True)\n", + "tc_s2 = CCs2.token_count(asdict=True)\n", + "tc_c1 = CCc1.token_count(asdict=True)\n", + "CAm = CPCAnalyzer(CCm)" + ] + }, + { + "cell_type": "markdown", + "id": "83dc88dc", + "metadata": {}, + "source": [ + "## Market structure analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "2014b913-3411-4bba-9c25-ac2f06565894", + "metadata": {}, + "outputs": [], + "source": [ + "CA = CAm\n", + "pairs0 = CA.CC.pairs(standardize=False)\n", + "pairs = CA.pairs()\n", + "pairsc = CA.pairsc()\n", + "tokens = CA.tokens()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4f28ff25-8a6f-4466-b8a9-6bf926b0fac3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total pairs: 45\n", + "Primary pairs: 28\n", + "...carbon: 26\n", + "Tokens: 23\n", + "Curves: 97\n" + ] + } + ], + "source": [ + "print(f\"Total pairs: {len(pairs0):4}\")\n", + "print(f\"Primary pairs: {len(pairs):4}\")\n", + "print(f\"...carbon: {len(pairsc):4}\")\n", + "print(f\"Tokens: {len(CA.tokens()):4}\")\n", + "print(f\"Curves: {len(CCm):4}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8e902de8-cd75-477b-8577-2cc4b10346e1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4819
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB486
CRV-cd52/USDC-eB483
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
DAI-1d0F/USDT-1ec73
WBTC-C599/USDC-eB483
WBTC-C599/WETH-6Cc23
WETH-6Cc2/USDT-1ec73
LINK-86CA/USDT-1ec73
BNT-FF1C/USDC-eB483
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
PEPE-E35F/WETH-6Cc21
Silo-B1f8/USDC-eB481
vBNT-7f94/USDC-eB481
LBR-aCcA/WETH-6Cc21
RPL-A51f/XCHF-fc081
\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 19\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 6\n", + "CRV-cd52/USDC-eB48 3\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "WBTC-C599/USDC-eB48 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "WETH-6Cc2/USDT-1ec7 3\n", + "LINK-86CA/USDT-1ec7 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2\n", + "PEPE-E35F/WETH-6Cc2 1\n", + "Silo-B1f8/USDC-eB48 1\n", + "vBNT-7f94/USDC-eB48 1\n", + "LBR-aCcA/WETH-6Cc2 1\n", + "RPL-A51f/XCHF-fc08 1" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f77c58ad-454b-4a3d-9bbe-1c92cc04c731", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
count
pair
WETH-6Cc2/USDC-eB4819
BNT-FF1C/vBNT-7f9410
BNT-FF1C/WETH-6Cc210
USDT-1ec7/USDC-eB486
CRV-cd52/USDC-eB483
stETH-fE84/WETH-6Cc23
DAI-1d0F/USDC-eB483
DAI-1d0F/USDT-1ec73
WBTC-C599/USDC-eB483
WBTC-C599/WETH-6Cc23
WETH-6Cc2/USDT-1ec73
LINK-86CA/USDT-1ec73
BNT-FF1C/USDC-eB483
SMT-7173/WETH-6Cc22
LYXe-be6D/USDC-eB482
TSUKA-69eD/USDC-eB482
WETH-6Cc2/DAI-1d0F2
LINK-86CA/USDC-eB482
rETH-6393/WETH-6Cc22
WBTC-C599/USDT-1ec72
0x0-1AD5/WETH-6Cc22
PEPE-1933/WETH-6Cc22
ARB-4ad1/MATIC-eBB02
\n", + "
" + ], + "text/plain": [ + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 19\n", + "BNT-FF1C/vBNT-7f94 10\n", + "BNT-FF1C/WETH-6Cc2 10\n", + "USDT-1ec7/USDC-eB48 6\n", + "CRV-cd52/USDC-eB48 3\n", + "stETH-fE84/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "DAI-1d0F/USDT-1ec7 3\n", + "WBTC-C599/USDC-eB48 3\n", + "WBTC-C599/WETH-6Cc2 3\n", + "WETH-6Cc2/USDT-1ec7 3\n", + "LINK-86CA/USDT-1ec7 3\n", + "BNT-FF1C/USDC-eB48 3\n", + "SMT-7173/WETH-6Cc2 2\n", + "LYXe-be6D/USDC-eB48 2\n", + "TSUKA-69eD/USDC-eB48 2\n", + "WETH-6Cc2/DAI-1d0F 2\n", + "LINK-86CA/USDC-eB48 2\n", + "rETH-6393/WETH-6Cc2 2\n", + "WBTC-C599/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "ARB-4ad1/MATIC-eBB0 2" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.count_by_pairs(minn=2)" + ] + }, + { + "cell_type": "markdown", + "id": "4f0cb652-b27c-4210-aa53-dd86665429de", + "metadata": {}, + "source": [ + "## Carbon" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "6db0700b-9542-4ec4-8242-e9dad39958a2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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DkVERMSBKm4iIiLA0aNH2bhxIzExMSUdioiISAGquImIiADt27cnLS2NpKSkkg5FRESkAFXcRESk1Nu/fz/fffcdcXFxJR2KiIhIoVRxExGRUi8oKAh3d3f27NlT0qGIiIgUShU3EREp1bZu3UpiYiIHDhwo6VBERESuShU3EREp1e6++25q1arFli1bSjoUERGRq1LFTURESq2VK1dy9OhRduzYUdKhiIiIXJMqbiIiUmpVrlyZdu3asXr16pIORURE5JpcSjoAERGRkjB79mzOnj3LokWLSjoUERGR61LFTURESh2r1UrFihXp378/8+fPL+lwRERErksVNxERKXWmTJlCTk4OH374YUmHIiIiUiRK3EREpFTJy8vj7bffZvTo0Xh4eJR0OCIiIkWirpIiIlKqhIWFsWjRIi5cuICLi9ovRUTk1qDlAEREpNTIzMxkzpw5vPPOO0raRETklqKKm4iIlBqDBg3iq6++4syZMyUdioiISLGo4iYiIqVCWloay5cv55NPPinpUERERIpNFTcRESkVHnroIQ4cOMDx48dLOhQREZFiUwd/ERG5bR06dIiWLVuyYMECNm3axLx580o6JBERkRuixE1ERG5bx44dIzExkWeeeQYPDw/KlStX0iGJiIjcECVuIiJy28rNzcXNzQ2r1UpOTg4dOnTg119/LemwREREik2Jm4iI3LZyc3Mxm80A+Pj4EBMTQ2BgYAlHJSIiUnyaVVJERG4bVpsNi9WGm4sBg8HA3r17sVqtBAcH88UXX1ClSpWSDlFEROSGKHETEZFbmsVq42SGmaT0i1zIzcMA2ABvDzf+sLnRrn17vt22TQtui4jILU3LAYiIyC0r3ZxL3Il0bDbIK+TrzGbJw8PNjXY1/PD18iiBCEVERG4OJW4iInJLSjfnsv14OpYifI25GgzcV8NXyZuIiNyy1G9EREQK9cILL2A0GjEajXh4eFC/fn379qlTpxg4cCBNmzYlKCiI1q1b8/nnn9uv7dixIytXrnS435kzZzAYDACYTCbKly/vcPyzzz6jUqVKbN682b7v0qVLVK1ale7duzuca7HaiDvhmLQdPXyISY/3Y9yjDxLe7yGOJO4HIOPcH0S++AxBjRsRHBzMBx98cN13N5lMuLq62t83KCiItm3bsnz5cofzMjIy6Natm30CFIDjx49TrVo1zpw5Y9+3ZcsWWrZsSbNmzWjTpg0//PCD/dy+fftitVqvG5OIiJRuGuMmIiKFmjlzpv3fa9euzdKlS2nZsiUAPXv2pEuXLnz22WcAHDx4kHbt2vHdd9/RsGHDYj9rzpw5TJkyha+//hqj0Wjfv3r1aoxGI7t37+bQoUP2e5/MMPPXQluOOYvXhw3i+TfepcX9nflhcyzvvzSSDzZuZ1HEZDzLluODL7bR9M7yvPDEIAICAujVq9c1Y/Ly8iIhIcG+ffToUTp37oyrqyv9+vUD4OWXX2b48OF4eXkBsHjxYl577TVSUlLs1+Xm5jJw4EC+/PJLmjdvzvr163n88cc5fPgwNWrUwGg08uGHHxIWFlbsz01EREoPVdxERKTYTp06hdlstleKGjVqRExMDBUrViz2vd5++22mT5/Ojh07HJI2gNmzZ/PII48wcOBAZsyYYd+flH7RYUxbQtw2qtSoRYv7OwPQqlM3xr4/B4AjB/dzf+8QbC4umDJy6dmzp70aeOjQIbp27UqLFi0wGo18/PHHV42zVq1avP7660ydOhXIr5atW7eOPn36AJCSksLatWv58ssvHa7z8PDg5MmTNG/eHJvNxm+//Yafn5/9+LBhw4iIiCA3N7eYn5yIiJQmqriJiEixTZs2jSFDhvDee+/Rrl072rdvz+DBg4s93X54eDhTp04lKiqK2rVrOxw7ePAgO3fuZNWqVbRo0YL777+fN998E19fXy7k5jmce8r0GxUq3UXUhDEc/fkgZb29eWLcRADqBjVnW8xKGgS3IvXiRVatWoW7uzt5eXmEhISwZMkSgoODOX/+PPfeey+NGjW66ns0a9aMn376CYDPP/+czp074+aW/1Xq7+/P6tWrC73O3d2d1NRUgoODOXPmjL1Sefk6Pz8/4uLieOCBB4r1+YmISOmhipuIiBRbp06dOHbsGGvXrqV169asW7eOBg0aEB8fD1Do1PtWq9Vh/8WLF/npp5/YsGED48eP58cff3Q4f/bs2fTq1Qs/Pz9atWpFQEAAc+fOJc9qw3DFvfPy8tj77WYeHDCEyFWx9BjyNG+OeJxLuTmEvvwaBoOBcX27Ehn2FJ06d8HDw4OkpCSOHDnC008/jdFo5P7778dsNheI468MBgNly5YF4Oeffy7WYt6VK1fm5MmT7Ny5k6eeeoqkpCT7sYCAAA4fPlzke4mISOmjipuIiBRLWloakydP5oMPPqB9+/a0b9+eV199lWHDhvHJJ5/QqlUrKlWqxNmzZx2uS01Ndegi6OXlRUxMDO7u7rzyyiv07duXPXv24Ovry8WLF1myZAllypSxV+IuXLjArFmzGDt2LP9vZiS7v9kEQMtOXalcrSbV765LvWbBANzT+SFmTxxH6vFjlPHy4vFxE7mjQn43zkMrPyYwMBCLxYKPj4/DOLbU1FR8fHw4ffp0oe8eHx9P06ZNgfwkriiTipw/f55vvvmGRx99FIDg4GB75a5evXpAfkXO1dX1uvcSEZHSSxU3EREpFl9fX7766itmzJjB5RVlsrKyOHLkCMHB+YlT9+7dWbhwIefPnwfyK2KzZs2iR48e9vu4uLjg7u4OwPjx42nUqBGDBg3CarWydOlS/Pz8SElJwWQyYTKZ+O2338jMzGTlypWMGPcq7679mnfXfs2gF8Jp3qETaSeP22eSPBC/CwwG7qpeg03LlrBsZv64NMv5dBYsWMDgwYOpX78+Xl5eREdHA/lj1po0acKePXsKfe+kpCSmTJnC2LFjAahfvz5Hjhy57ufl6urK008/TVxcXH5sBw7w888/07p1a/s5ycnJNGjQoIj/BUREpDTSOm4iInJdtWvXZuXKlfZZJZOTkwkPDyc+Pp7y5ctjMBgIDQ21JzU2m4233nqLTz/9FDc3N8xmMw888ACRkZF4e3tjMplo0qQJmZmZ9mecPXuW5s2bM2TIEDZu3MiwYcMYOXKkQxz/+c9/iI2NZdXX20hIveAwQcmB+F0smTqFbHMW7u4ePD3hdRq2aI05M5MZL/+b1GMmyri6MGnCqwwZMgSAffv2MWrUKNLT07l06RKjRo3i2WefxWQyUadOHXt1zcXFBU9PT0aPHk3//v0BOHHiBG3btiU5OblAtcxgMPD7779TqVIlALZt28a4ceO4dOkSZcqUISIigk6dOgH5Vb6WLVty9OjRQruYioiIgBI3ERG5BVmsNjYcSeWStehfYe4uBnrUqYyry5Uj5G7cM888Q5cuXRgwYMAN32Py5MnceeedBZJUERGRv1LTnoiI3HJcXQy0q+6Lq6FoSZir4c/zb2LSBhAZGcm8efMcFuAujuPHj7N3716effbZmxqXiIjcflRxExGRW1a6OZe4E+nYbDh0m7zMzWDAYIB21X3x9fIogQhFRERuDiVuIiJyS7NYbZzMzCbpbCYXcvMwADbA28ONen7lqVbe86ZX2kRERP5pStxEROS2YbPZyLPacHMxYChiN0oREZFbgRI3ERERERERJ6fJSURERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEySlxExERERERcXJK3ERERERERJycEjcREREREREnp8RNRERERETEyf1/enoM/lioEQMAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ArbGraph.from_cc(CCc1).plot()._" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3a6a4aea-cf79-4e59-8f83-11f51e7c82de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(75, 21)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1), len(CCc1.tokens())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "97d9d897-8038-4e66-8ac7-56b2a04f3ea1", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[('WETH-6Cc2', 41),\n", + " ('USDC-eB48', 35),\n", + " ('BNT-FF1C', 20),\n", + " ('USDT-1ec7', 12),\n", + " ('vBNT-7f94', 10),\n", + " ('DAI-1d0F', 5),\n", + " ('WBTC-C599', 5),\n", + " ('LINK-86CA', 3),\n", + " ('CRV-cd52', 2),\n", + " ('0x0-1AD5', 2),\n", + " ('stETH-fE84', 2),\n", + " ('PEPE-1933', 2),\n", + " ('MATIC-eBB0', 2),\n", + " ('ARB-4ad1', 2),\n", + " ('rETH-6393', 1),\n", + " ('SMT-7173', 1),\n", + " ('TSUKA-69eD', 1),\n", + " ('LYXe-be6D', 1),\n", + " ('LBR-aCcA', 1),\n", + " ('RPL-A51f', 1),\n", + " ('XCHF-fc08', 1)]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCc1.token_count()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c721f8aa-6d74-4c11-a6d4-adacf1c9043d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(26,\n", + " {'0x0-1AD5/WETH-6Cc2',\n", + " 'ARB-4ad1/MATIC-eBB0',\n", + " 'BNT-FF1C/USDC-eB48',\n", + " 'BNT-FF1C/WETH-6Cc2',\n", + " 'BNT-FF1C/vBNT-7f94',\n", + " 'CRV-cd52/USDC-eB48',\n", + " 'DAI-1d0F/USDC-eB48',\n", + " 'DAI-1d0F/USDT-1ec7',\n", + " 'LBR-aCcA/WETH-6Cc2',\n", + " 'LINK-86CA/USDC-eB48',\n", + " 'LINK-86CA/USDT-1ec7',\n", + " 'LYXe-be6D/USDC-eB48',\n", + " 'PEPE-1933/WETH-6Cc2',\n", + " 'RPL-A51f/XCHF-fc08',\n", + " 'SMT-7173/WETH-6Cc2',\n", + " 'TSUKA-69eD/USDC-eB48',\n", + " 'USDT-1ec7/USDC-eB48',\n", + " 'WBTC-C599/USDC-eB48',\n", + " 'WBTC-C599/USDT-1ec7',\n", + " 'WBTC-C599/WETH-6Cc2',\n", + " 'WETH-6Cc2/DAI-1d0F',\n", + " 'WETH-6Cc2/USDC-eB48',\n", + " 'WETH-6Cc2/USDT-1ec7',\n", + " 'rETH-6393/WETH-6Cc2',\n", + " 'stETH-fE84/WETH-6Cc2',\n", + " 'vBNT-7f94/USDC-eB48'})" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(CCc1.pairs()), CCc1.pairs()" + ] + }, + { + "cell_type": "markdown", + "id": "a88a0c91-d85a-4e61-9d36-d0f35c568798", + "metadata": {}, + "source": [ + "## All pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "b7e0ba34-0036-4243-837d-cb98ab31f76b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0x0/WETH -\n", + "ARB/MATIC -\n", + "BNT/USDC - 0.0000 BNT-FF1C 0.0000 USDC-eB48 \n", + "BNT/WETH - 0.4118 BNT-FF1C 0.0001 WETH-6Cc2 \n", + "BNT/vBNT - 6.5407 BNT-FF1C 9.2424 vBNT-7f94 \n", + "CRV/USDC - 0.1864 CRV-cd52 0.1519 USDC-eB48 \n", + "DAI/USDC - 0.0000 DAI-1d0F 0.0000 USDC-eB48 \n", + "DAI/USDT - 0.0000 DAI-1d0F 0.0000 USDT-1ec7 \n", + "LBR/WETH - 0.0000 LBR-aCcA 0.0000 WETH-6Cc2 \n", + "LINK/USDC - 0.0000 LINK-86CA -0.0000 USDC-eB48 \n", + "LINK/USDT - 0.0030 LINK-86CA 0.0197 USDT-1ec7 \n", + "LYXe/USDC - 0.0000 LYXe-be6D -0.0000 USDC-eB48 \n", + "PEPE/WETH -\n", + "RPL/XCHF - 0.0000 RPL-A51f 0.0000 XCHF-fc08 \n", + "SMT/WETH - -0.0000 SMT-7173 0.0000 WETH-6Cc2 \n", + "TSUKA/USDC - 0.0000 TSUKA-69eD 0.0000 USDC-eB48 \n", + "USDT/USDC - 0.4763 USDT-1ec7 0.4772 USDC-eB48 \n", + "WBTC/USDC - 0.0000 WBTC-C599 -42.4091 USDC-eB48 \n", + "WBTC/USDT - -0.0000 WBTC-C599 0.0000 USDT-1ec7 \n", + "WBTC/WETH - 0.0000 WBTC-C599 0.0000 WETH-6Cc2 \n", + "WETH/DAI - -0.0000 WETH-6Cc2 0.0000 DAI-1d0F \n", + "WETH/USDC - 0.0003 WETH-6Cc2 0.5138 USDC-eB48 \n", + "WETH/USDT - 0.0001 WETH-6Cc2 0.2368 USDT-1ec7 \n", + "rETH/WETH - 0.0009 rETH-6393 0.0010 WETH-6Cc2 \n", + "stETH/WETH - 0.0000 stETH-fE84 0.0000 WETH-6Cc2 \n", + "vBNT/USDC - 0.0000 vBNT-7f94 0.0000 USDC-eB48 \n", + "==/== - 0.0000 == 0.0000 == \n", + "WETH/USDC - 0.0003 WETH-6Cc2 0.5138 USDC-eB48 \n", + "WBTC/USDC - 0.0000 WBTC-C599 -42.4091 USDC-eB48 \n", + "USDT/USDC - 0.4763 USDT-1ec7 0.4772 USDC-eB48 \n", + "BNT/vBNT - 6.5407 BNT-FF1C 9.2424 vBNT-7f94 \n" + ] + } + ], + "source": [ + "pairsc=list(CAm.pairsc())\n", + "pairsc.sort()\n", + "pairsc += [\"==/==\", f\"{T.WETH}/{T.USDC}\", f\"{T.WBTC}/{T.USDC}\", f\"{T.USDT}/{T.USDC}\", \"BNT-FF1C/vBNT-7f94\"]\n", + "for pair in pairsc:\n", + " pi = CA.pair_data(pair)\n", + " O = MargPOptimizer(pi.CC)\n", + " tkn0, tkn1 = pair.split(\"/\")\n", + " \n", + " try:\n", + " r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False))\n", + " r0.trade_instructions(ti_format=O.TIF_DFAGGR8)\n", + " r00 = r0.result or 0\n", + "\n", + " r1 = O.margp_optimizer(tkn1, params=dict(verbose=False, debug=False))\n", + " r11 = r1.result or 0\n", + " r1.trade_instructions(ti_format=O.TIF_DFAGGR8)\n", + "\n", + " print(f\"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}\")\n", + " except Exception as e:\n", + " print(f\"{Pair.n(pair):12}-\")" + ] + }, + { + "cell_type": "markdown", + "id": "1652b8f5", + "metadata": {}, + "source": [ + "## Analysis by pair" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "84750fca-1d91-4f77-bc1a-a361a1c8ae02", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
pairexchangecid0
0x0/WETHcarbon_v1132277-00.0000131.342084e+04bbuy-0x0 @ 0.00 WETH per 0x0
132277-10.0000153.597323e+02ssell-0x0 @ 0.00 WETH per 0x0
ARB/MATICcarbon_v1806240-11.4285711.418060e+02bbuy-ARB @ 1.43 MATIC per ARB
806240-01.5070451.276054e+01ssell-ARB @ 1.51 MATIC per ARB
BNT/USDCbancor_v37200.4161565.373193e+06bsbuy-sell-BNT @ 0.42 USDC per BNT
...........................
rETH/WETHcarbon_v1903115-01.0720001.865671e+00bbuy-rETH @ 1.07 WETH per rETH
stETH/WETHcarbon_v1422914-10.9900998.011450e-02bbuy-stETH @ 0.99 WETH per stETH
uniswap_v2ff7abe200.9945182.541959e+03bsbuy-sell-stETH @ 0.99 WETH per stETH
carbon_v1422914-01.0101012.031521e-03ssell-stETH @ 1.01 WETH per stETH
vBNT/USDCcarbon_v1171896-10.3900005.000000e+03ssell-vBNT @ 0.39 USDC per vBNT
\n", + "

95 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 0.000013 1.342084e+04 b \n", + " 132277-1 0.000015 3.597323e+02 s \n", + "ARB/MATIC carbon_v1 806240-1 1.428571 1.418060e+02 b \n", + " 806240-0 1.507045 1.276054e+01 s \n", + "BNT/USDC bancor_v3 720 0.416156 5.373193e+06 b s \n", + "... ... ... .. .. .. \n", + "rETH/WETH carbon_v1 903115-0 1.072000 1.865671e+00 b \n", + "stETH/WETH carbon_v1 422914-1 0.990099 8.011450e-02 b \n", + " uniswap_v2 ff7abe20 0.994518 2.541959e+03 b s \n", + " carbon_v1 422914-0 1.010101 2.031521e-03 s \n", + "vBNT/USDC carbon_v1 171896-1 0.390000 5.000000e+03 s \n", + "\n", + " bsv \n", + "pair exchange cid0 \n", + "0x0/WETH carbon_v1 132277-0 buy-0x0 @ 0.00 WETH per 0x0 \n", + " 132277-1 sell-0x0 @ 0.00 WETH per 0x0 \n", + "ARB/MATIC carbon_v1 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", + " 806240-0 sell-ARB @ 1.51 MATIC per ARB \n", + "BNT/USDC bancor_v3 720 buy-sell-BNT @ 0.42 USDC per BNT \n", + "... ... \n", + "rETH/WETH carbon_v1 903115-0 buy-rETH @ 1.07 WETH per rETH \n", + "stETH/WETH carbon_v1 422914-1 buy-stETH @ 0.99 WETH per stETH \n", + " uniswap_v2 ff7abe20 buy-sell-stETH @ 0.99 WETH per stETH \n", + " carbon_v1 422914-0 sell-stETH @ 1.01 WETH per stETH \n", + "vBNT/USDC carbon_v1 171896-1 sell-vBNT @ 0.39 USDC per vBNT \n", + "\n", + "[95 rows x 6 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pricedf = CAm.pool_arbitrage_statistics()\n", + "pricedf" + ] + }, + { + "cell_type": "markdown", + "id": "c066c726-ee75-41e3-8b3f-3b43792c6352", + "metadata": {}, + "source": [ + "### WETH/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "67122692-198a-4706-9526-cba8b35c2fb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WETH-6Cc2/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = \"WETH-6Cc2/USDC-eB48\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "fd022c7e-1c6a-4947-a156-a2ada671c8ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
carbon_v1057306-01405.0001403.558719bbuy-WETH @ 1405.00 USDC per WETH
057334-01700.0001700.029412bbuy-WETH @ 1700.00 USDC per WETH
057331-01747.3251342.728833bbuy-WETH @ 1747.33 USDC per WETH
057337-01798.6809770.890116bbuy-WETH @ 1798.68 USDC per WETH
057339-01800.0000000.000556bbuy-WETH @ 1800.00 USDC per WETH
uniswap_v376b13aa01802.410822523.671415xbsbuy-sell-WETH @ 1802.41 USDC per WETH
carbon_v1057292-01853.4088180.003314xbbuy-WETH @ 1853.41 USDC per WETH
057353-01853.9998150.004235xbbuy-WETH @ 1854.00 USDC per WETH
057296-01929.9998070.001033xbbuy-WETH @ 1930.00 USDC per WETH
057299-11940.0000000.026117ssell-WETH @ 1940.00 USDC per WETH
057296-11949.99980510.460391ssell-WETH @ 1950.00 USDC per WETH
057337-11975.0000000.218712ssell-WETH @ 1975.00 USDC per WETH
057343-11989.9998011.000000ssell-WETH @ 1990.00 USDC per WETH
057334-11999.9998000.040000ssell-WETH @ 2000.00 USDC per WETH
057331-12000.0000002.950064ssell-WETH @ 2000.00 USDC per WETH
057292-12000.0000000.016387ssell-WETH @ 2000.00 USDC per WETH
057353-12047.9997958.230465ssell-WETH @ 2048.00 USDC per WETH
057285-12099.9997900.006040ssell-WETH @ 2100.00 USDC per WETH
057315-12300.0000000.487950ssell-WETH @ 2300.00 USDC per WETH
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "carbon_v1 057306-0 1405.000140 3.558719 b \n", + " 057334-0 1700.000170 0.029412 b \n", + " 057331-0 1747.325134 2.728833 b \n", + " 057337-0 1798.680977 0.890116 b \n", + " 057339-0 1800.000000 0.000556 b \n", + "uniswap_v3 76b13aa0 1802.410822 523.671415 x b s \n", + "carbon_v1 057292-0 1853.408818 0.003314 x b \n", + " 057353-0 1853.999815 0.004235 x b \n", + " 057296-0 1929.999807 0.001033 x b \n", + " 057299-1 1940.000000 0.026117 s \n", + " 057296-1 1949.999805 10.460391 s \n", + " 057337-1 1975.000000 0.218712 s \n", + " 057343-1 1989.999801 1.000000 s \n", + " 057334-1 1999.999800 0.040000 s \n", + " 057331-1 2000.000000 2.950064 s \n", + " 057292-1 2000.000000 0.016387 s \n", + " 057353-1 2047.999795 8.230465 s \n", + " 057285-1 2099.999790 0.006040 s \n", + " 057315-1 2300.000000 0.487950 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "carbon_v1 057306-0 buy-WETH @ 1405.00 USDC per WETH \n", + " 057334-0 buy-WETH @ 1700.00 USDC per WETH \n", + " 057331-0 buy-WETH @ 1747.33 USDC per WETH \n", + " 057337-0 buy-WETH @ 1798.68 USDC per WETH \n", + " 057339-0 buy-WETH @ 1800.00 USDC per WETH \n", + "uniswap_v3 76b13aa0 buy-sell-WETH @ 1802.41 USDC per WETH \n", + "carbon_v1 057292-0 buy-WETH @ 1853.41 USDC per WETH \n", + " 057353-0 buy-WETH @ 1854.00 USDC per WETH \n", + " 057296-0 buy-WETH @ 1930.00 USDC per WETH \n", + " 057299-1 sell-WETH @ 1940.00 USDC per WETH \n", + " 057296-1 sell-WETH @ 1950.00 USDC per WETH \n", + " 057337-1 sell-WETH @ 1975.00 USDC per WETH \n", + " 057343-1 sell-WETH @ 1990.00 USDC per WETH \n", + " 057334-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057331-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057292-1 sell-WETH @ 2000.00 USDC per WETH \n", + " 057353-1 sell-WETH @ 2048.00 USDC per WETH \n", + " 057285-1 sell-WETH @ 2100.00 USDC per WETH \n", + " 057315-1 sell-WETH @ 2300.00 USDC per WETH " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ec801111-63d8-4c04-87ee-8d7c43ade0eb", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "0d26483f-54fc-4a5f-8745-d480a39f1af2", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "364d7536-a0f1-49d1-9189-5fb994febacf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
a176b13aa01.598698e+01-0.008870
41057296-0-1.994537e+000.001033
41057292-0-6.141325e+000.003317
41057353-0-7.851120e+000.004235
PRICE5.548124e-041.000000
AMMIn1.598698e+010.008585
AMMOut-1.598698e+01-0.008870
TOTAL NET5.655329e-08-0.000285
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "a176b13aa0 1.598698e+01 -0.008870\n", + "41057296-0 -1.994537e+00 0.001033\n", + "41057292-0 -6.141325e+00 0.003317\n", + "41057353-0 -7.851120e+00 0.004235\n", + "PRICE 5.548124e-04 1.000000\n", + "AMMIn 1.598698e+01 0.008585\n", + "AMMOut -1.598698e+01 -0.008870\n", + "TOTAL NET 5.655329e-08 -0.000285" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "e6ec3cb6-214d-4924-ab74-3ba204f20f42", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total gain: 0.0003 WETH-6Cc2\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.008870WETH-6Cc20.0005550.0005550.0005555.316072e-084.715237e-104.715237e-10
carbon_v141057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911802.4110052.862188e-022.247138e-011.246740e-04
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241802.4110052.734816e-021.679539e-019.318292e-05
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791802.4110057.078673e-021.411868e-017.833217e-05
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.008870 WETH-6Cc2 0.000555 \n", + "carbon_v1 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000555 0.000555 5.316072e-08 4.715237e-10 \n", + "carbon_v1 41057353-0 1853.999391 1802.411005 2.862188e-02 2.247138e-01 \n", + " 41057292-0 1851.703624 1802.411005 2.734816e-02 1.679539e-01 \n", + " 41057296-0 1929.997779 1802.411005 7.078673e-02 1.411868e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 4.715237e-10 \n", + "carbon_v1 41057353-0 1.246740e-04 \n", + " 41057292-0 9.318292e-05 \n", + " 41057296-0 7.833217e-05 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "295d2c70-e97f-4668-ae36-8b192e8e731e", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "5aba1b68-20ec-41ee-b373-12d37d586013", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WETH-6Cc2
a176b13aa015.473184-8.584715e-03
41057296-0-1.9945371.033440e-03
41057292-0-6.1413253.316581e-03
41057353-0-7.8511204.234694e-03
PRICE1.0000001.802411e+03
AMMIn15.4731848.584715e-03
AMMOut-15.986982-8.584715e-03
TOTAL NET-0.5137981.056533e-11
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WETH-6Cc2\n", + "a176b13aa0 15.473184 -8.584715e-03\n", + "41057296-0 -1.994537 1.033440e-03\n", + "41057292-0 -6.141325 3.316581e-03\n", + "41057353-0 -7.851120 4.234694e-03\n", + "PRICE 1.000000 1.802411e+03\n", + "AMMIn 15.473184 8.584715e-03\n", + "AMMOut -15.986982 -8.584715e-03\n", + "TOTAL NET -0.513798 1.056533e-11" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "bc936f2b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
feepairamt_tknqtknqmargp0effpmargpgain_rgain_tknqgain_ttkn
exchcid
uniswap_v3a176b13aa00.003USDC/WETH-0.008585WETH-6Cc20.0005550.0005550.0005555.289571e-084.540946e-108.184651e-07
carbon_v141057353-00.002WETH/USDC-7.851120USDC-eB481853.9998151853.9993911802.4110002.862188e-022.247138e-012.247138e-01
41057292-00.002WETH/USDC-6.141325USDC-eB481853.4088181851.7036241802.4110002.734816e-021.679539e-011.679539e-01
41057296-00.002WETH/USDC-1.994537USDC-eB481929.9998071929.9977791802.4110007.078673e-021.411868e-011.411868e-01
\n", + "
" + ], + "text/plain": [ + " fee pair amt_tknq tknq margp0 \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.003 USDC/WETH -0.008585 WETH-6Cc2 0.000555 \n", + "carbon_v1 41057353-0 0.002 WETH/USDC -7.851120 USDC-eB48 1853.999815 \n", + " 41057292-0 0.002 WETH/USDC -6.141325 USDC-eB48 1853.408818 \n", + " 41057296-0 0.002 WETH/USDC -1.994537 USDC-eB48 1929.999807 \n", + "\n", + " effp margp gain_r gain_tknq \\\n", + "exch cid \n", + "uniswap_v3 a176b13aa0 0.000555 0.000555 5.289571e-08 4.540946e-10 \n", + "carbon_v1 41057353-0 1853.999391 1802.411000 2.862188e-02 2.247138e-01 \n", + " 41057292-0 1851.703624 1802.411000 2.734816e-02 1.679539e-01 \n", + " 41057296-0 1929.997779 1802.411000 7.078673e-02 1.411868e-01 \n", + "\n", + " gain_ttkn \n", + "exch cid \n", + "uniswap_v3 a176b13aa0 8.184651e-07 \n", + "carbon_v1 41057353-0 2.247138e-01 \n", + " 41057292-0 1.679539e-01 \n", + " 41057296-0 1.411868e-01 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "#print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "ad1c859c", + "metadata": {}, + "source": [ + "### WBTC/USDC" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "19890bdf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pair = WBTC-C599/USDC-eB48\n" + ] + } + ], + "source": [ + "pair = f\"{T.WBTC}/{T.USDC}\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "f06b9fe1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pricevlitmbsbsv
exchangecid0
uniswap_v3cf72417e26818.89883915.833419bsbuy-sell-WBTC @ 26818.90 USDC per WBTC
carbon_v1537493-027075.7607260.018160bbuy-WBTC @ 27075.76 USDC per WBTC
537493-128840.0000000.028274ssell-WBTC @ 28840.00 USDC per WBTC
\n", + "
" + ], + "text/plain": [ + " price vl itm b s \\\n", + "exchange cid0 \n", + "uniswap_v3 cf72417e 26818.898839 15.833419 b s \n", + "carbon_v1 537493-0 27075.760726 0.018160 b \n", + " 537493-1 28840.000000 0.028274 s \n", + "\n", + " bsv \n", + "exchange cid0 \n", + "uniswap_v3 cf72417e buy-sell-WBTC @ 26818.90 USDC per WBTC \n", + "carbon_v1 537493-0 buy-WBTC @ 27075.76 USDC per WBTC \n", + " 537493-1 sell-WBTC @ 28840.00 USDC per WBTC " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "9ae7c593", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4dabe944-6d09-400f-aaf3-9e6bff3c539f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
bsp_minp_maxp_marg
exchcid
uniswap_v39bcf72417ebs26659.23515926819.66335226818.898839
carbon_v118537493-0b26500.00000027075.76072627075.760726
18537493-1s28840.00000030600.00000028840.000000
\n", + "
" + ], + "text/plain": [ + " b s p_min p_max p_marg\n", + "exch cid \n", + "uniswap_v3 9bcf72417e b s 26659.235159 26819.663352 26818.898839\n", + "carbon_v1 18537493-0 b 26500.000000 27075.760726 27075.760726\n", + " 18537493-1 s 28840.000000 30600.000000 28840.000000" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CA.price_ranges().loc[\"WBTC/USDC\"]" + ] + }, + { + "cell_type": "markdown", + "id": "bb3381bc", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe78bb39", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5792fde5", + "metadata": {}, + "outputs": [], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "0e452d6a", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "5b364614", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Target token = USDC-eB48\n", + "[margp_optimizer] calculating price estimates\n", + "[margp_optimizer] pstart: [26818.89883911]\n", + "[margp_optimizer] pe [26818.89883911]\n", + "[margp_optimizer] p 26,818.90\n", + "[margp_optimizer] 1/p 0.00\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26818.89883911]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, -218.7112 USDC, 0.0081 WBTC, price=26,818.8988 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': 0.008116339676029316, 'USDC-eB48': -218.71119784578332}\n", + "result=(0.008116339676029316,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-1703.23773436]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 0 =======>>>\n", + "log p0 [4.428440942124277]\n", + "log dp [4.76524182e-06]\n", + "log p [4.42844571]\n", + "p (26819.193107736133,)\n", + "p 26,819.19\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn 0.008\n", + "[criterium=4.77e-06, eps=1.0e-06, c/e=5e+00]\n", + "<<<========== cycle 0 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26819.19310774]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, 559.2774 USDC, -0.0209 WBTC, price=26,819.1931 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': -0.020892470167431565, 'USDC-eB48': 559.2774069499355}\n", + "result=(-0.020892470167431565,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-1048.39112847]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 1 =======>>>\n", + "log p0 [4.4284457073660946]\n", + "log dp [-1.99281257e-05]\n", + "log p [4.42842578]\n", + "p (26817.962504974195,)\n", + "p 26,817.96\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn -0.021\n", + "[criterium=1.99e-05, eps=1.0e-06, c/e=2e+01]\n", + "<<<========== cycle 1 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26817.96250497]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, -2,694.2237 USDC, 0.1004 WBTC, price=26,817.9625 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': 0.10042272775842176, 'USDC-eB48': -2694.223666842343}\n", + "result=(0.10042272775842176,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-3786.97702854]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 2 =======>>>\n", + "log p0 [4.428425779240417]\n", + "log dp [2.65179131e-05]\n", + "log p [4.4284523]\n", + "p (26819.60005309155,)\n", + "p 26,819.60\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn 0.100\n", + "[criterium=2.65e-05, eps=1.0e-06, c/e=3e+01]\n", + "<<<========== cycle 2 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26819.60005309]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, 1,635.1542 USDC, -0.0610 WBTC, price=26,819.6001 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': -0.06100809243792282, 'USDC-eB48': 1635.1541896949711}\n", + "result=(-0.06100809243792282,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-142.82099749]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 3 =======>>>\n", + "log p0 [4.428452297153518]\n", + "log dp [-0.00042716]\n", + "log p [4.42802513]\n", + "p (26793.233715708455,)\n", + "p 26,793.23\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn -0.061\n", + "[criterium=4.27e-04, eps=1.0e-06, c/e=4e+02]\n", + "<<<========== cycle 3 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26793.23371571]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, -68,088.6982 USDC, 2.5400 WBTC, price=26,793.2337 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': 2.5400057308678585, 'USDC-eB48': -68088.69824828705}\n", + "result=(2.5400057308678585,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-6090.36040146]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 4 =======>>>\n", + "log p0 [4.4280251324262805]\n", + "log dp [0.00041705]\n", + "log p [4.42844219]\n", + "p (26818.975643512123,)\n", + "p 26,818.98\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn 2.540\n", + "[criterium=4.17e-04, eps=1.0e-06, c/e=4e+02]\n", + "<<<========== cycle 4 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26818.97564351]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, -15.6550 USDC, 0.0005 WBTC, price=26,818.9756 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': 0.0005449657998222168, 'USDC-eB48': -15.65499703221576}\n", + "result=(0.0005449657998222168,)\n", + "<<<===================== [dtknfromp_f]\n", + "\n", + "============= JACOBIAN =============>>>\n", + "[[-1532.32095238]]\n", + "<<<============= JACOBIAN =============\n", + "\n", + "\n", + "[margp_optimizer] ========== cycle 5 =======>>>\n", + "log p0 [4.428442185862109]\n", + "log dp [3.55647294e-07]\n", + "log p [4.42844254]\n", + "p (26818.997605799043,)\n", + "p 26,819.00\n", + "1/p 0.00\n", + "tokens_t ('WBTC-C599',)\n", + "dtkn 0.001\n", + "[criterium=3.56e-07, eps=1.0e-06, c/e=4e-01]\n", + "<<<========== cycle 5 ======= [margp_optimizer]\n", + "\n", + "[dtknfromp_f] =====================>>>\n", + "prices=[26818.9976058]\n", + "tokens=('WBTC-C599',)\n", + "pair=WBTC/USDC, 42.4091 USDC, -0.0016 WBTC, price=26,818.9976 USDC per WBTC [2 funcs]\n", + "pair=USDC/WBTC, 0.0000 WBTC, 0.0000 USDC, price=0.0000 WBTC per USDC [1 funcs]\n", + "sum_by_tkn={'WBTC-C599': -0.0016200693714727432, 'USDC-eB48': 42.409052249378874}\n", + "result=(-0.0016200693714727432,)\n", + "<<<===================== [dtknfromp_f]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDC-eB48WBTC-C599
9bcf72417e261.035952-0.009733
18537493-0-218.6269000.008113
PRICE1.00000026818.997606
AMMIn261.0359520.008113
AMMOut-218.626900-0.009733
TOTAL NET42.409052-0.001620
\n", + "
" + ], + "text/plain": [ + " USDC-eB48 WBTC-C599\n", + "9bcf72417e 261.035952 -0.009733\n", + "18537493-0 -218.626900 0.008113\n", + "PRICE 1.000000 26818.997606\n", + "AMMIn 261.035952 0.008113\n", + "AMMOut -218.626900 -0.009733\n", + "TOTAL NET 42.409052 -0.001620" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=True))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "3f16a45e-c645-4f4e-aef9-e7286ce4d1a1", + "metadata": {}, + "outputs": [ + { + "ename": "RuntimeError", + "evalue": "No active exception to reraise", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mRuntimeError\u001b[0m: No active exception to reraise" + ] + } + ], + "source": [ + "raise" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8bcdbd0", + "metadata": {}, + "outputs": [], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "1531d82d", + "metadata": {}, + "source": [ + "### USDC/USDT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b652336-878e-4387-aec8-99fc89761efb", + "metadata": {}, + "outputs": [], + "source": [ + "pair = f\"{T.USDT}/{T.USDC}\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c38774f", + "metadata": {}, + "outputs": [], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1075b90b", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "bc55d9dc", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3f07caa", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2c4eb0d", + "metadata": {}, + "outputs": [], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "52597a5f", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe34301e", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69035bc5", + "metadata": {}, + "outputs": [], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "markdown", + "id": "625d8448", + "metadata": {}, + "source": [ + "### BNT/vBNT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4ee5be9f", + "metadata": {}, + "outputs": [], + "source": [ + "pair = f\"{T.BNT}/vBNT-7f94\"\n", + "print(f\"Pair = {pair}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "886b9524", + "metadata": {}, + "outputs": [], + "source": [ + "df = pricedf.loc[Pair.n(pair)]\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a099fcc9", + "metadata": {}, + "outputs": [], + "source": [ + "pi = CA.pair_data(pair)\n", + "O = MargPOptimizer(pi.CC)" + ] + }, + { + "cell_type": "markdown", + "id": "fa64de48", + "metadata": {}, + "source": [ + "#### Target token = base token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ef712505", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = pair.split(\"/\")[0]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b9334fa", + "metadata": {}, + "outputs": [], + "source": [ + "dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}\")\n", + "dfti1" + ] + }, + { + "cell_type": "markdown", + "id": "84d633d3", + "metadata": {}, + "source": [ + "#### Target token = quote token" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97605e11", + "metadata": {}, + "outputs": [], + "source": [ + "targettkn = pair.split(\"/\")[1]\n", + "print(f\"Target token = {targettkn}\")\n", + "r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False))\n", + "r.trade_instructions(ti_format=O.TIF_DFAGGR8)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4ab13fa6", + "metadata": {}, + "outputs": [], + "source": [ + "dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8)\n", + "print(f\"Total gain: {sum(dfti2['gain_ttkn']):.4f}\", targettkn)\n", + "dfti2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3ec0dc3-35bc-4d7e-b340-59a7f7d498d9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "06d49abc-9138-48b5-87f5-078729800b64", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da7b5150-0cdd-4394-9687-7c0229b82619", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.py b/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.py new file mode 100644 index 000000000..8f252a238 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_014_FROZEN1.py @@ -0,0 +1,259 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +from fastlane_bot.bot import CarbonBot as Bot#, Config, ConfigDB, ConfigNetwork, ConfigProvider +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.optimizer import SimpleOptimizer, MargPOptimizer, ConvexOptimizer +from fastlane_bot.tools.arbgraphs import ArbGraph +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(SimpleOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(MargPOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ConvexOptimizer)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(ArbGraph)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +from fastlane_bot.testing import * +import itertools as it +import collections as cl +plt.style.use('seaborn-dark') +plt.rcParams['figure.figsize'] = [12,6] +from fastlane_bot import __VERSION__ +require("3.0", __VERSION__) + +# # Mainnet Arbitrage Dashboard [A014] + +# + +# bot = Bot() +# CCm = bot.get_curves() +# fn = f"../data/A014-{int(time.time())}.csv.gz" +# print (f"Saving as {fn}") +# CCm.asdf().to_csv(fn, compression = "gzip") +# - + + +# !ls ../data + +CCm = CPCContainer.from_df(pd.read_csv("../data/A014-1683963372.csv.gz")) +CCu3 = CCm.byparams(exchange="uniswap_v3") +CCu2 = CCm.byparams(exchange="uniswap_v2") +CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") +tc_u3 = CCu3.token_count(asdict=True) +tc_u2 = CCu2.token_count(asdict=True) +tc_s2 = CCs2.token_count(asdict=True) +tc_c1 = CCc1.token_count(asdict=True) +CAm = CPCAnalyzer(CCm) + + +# ## Market structure analysis + +CA = CAm +pairs0 = CA.CC.pairs(standardize=False) +pairs = CA.pairs() +pairsc = CA.pairsc() +tokens = CA.tokens() + +print(f"Total pairs: {len(pairs0):4}") +print(f"Primary pairs: {len(pairs):4}") +print(f"...carbon: {len(pairsc):4}") +print(f"Tokens: {len(CA.tokens()):4}") +print(f"Curves: {len(CCm):4}") + +CA.count_by_pairs() + +CA.count_by_pairs(minn=2) + +# ## Carbon + +ArbGraph.from_cc(CCc1).plot()._ + +len(CCc1), len(CCc1.tokens()) + +CCc1.token_count() + + +len(CCc1.pairs()), CCc1.pairs() + +# ## All pairs + +pairsc=list(CAm.pairsc()) +pairsc.sort() +pairsc += ["==/==", f"{T.WETH}/{T.USDC}", f"{T.WBTC}/{T.USDC}", f"{T.USDT}/{T.USDC}", "BNT-FF1C/vBNT-7f94"] +for pair in pairsc: + pi = CA.pair_data(pair) + O = MargPOptimizer(pi.CC) + tkn0, tkn1 = pair.split("/") + + try: + r0 = O.margp_optimizer(tkn0, params=dict(verbose=False, debug=False)) + r0.trade_instructions(ti_format=O.TIF_DFAGGR8) + r00 = r0.result or 0 + + r1 = O.margp_optimizer(tkn1, params=dict(verbose=False, debug=False)) + r11 = r1.result or 0 + r1.trade_instructions(ti_format=O.TIF_DFAGGR8) + + print(f"{Pair.n(pair):12}- {-r00:12.4f} {tkn0:10} {-r11:12.4f} {tkn1:10}") + except Exception as e: + print(f"{Pair.n(pair):12}-") + +# ## Analysis by pair + +pricedf = CAm.pool_arbitrage_statistics() +pricedf + +# ### WETH/USDC + +pair = "WETH-6Cc2/USDC-eB48" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +#print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### WBTC/USDC + +pair = f"{T.WBTC}/{T.USDC}" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +CA.price_ranges().loc["WBTC/USDC"] + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=True, debug=True)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +raise + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### USDC/USDT + +pair = f"{T.USDT}/{T.USDC}" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + +# ### BNT/vBNT + +pair = f"{T.BNT}/vBNT-7f94" +print(f"Pair = {pair}") + +df = pricedf.loc[Pair.n(pair)] +df + +pi = CA.pair_data(pair) +O = MargPOptimizer(pi.CC) + +# #### Target token = base token + +targettkn = pair.split("/")[0] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti1 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti1['gain_ttkn']):.4f} {targettkn}") +dfti1 + +# #### Target token = quote token + +targettkn = pair.split("/")[1] +print(f"Target token = {targettkn}") +r = O.margp_optimizer(targettkn, params=dict(verbose=False, debug=False)) +r.trade_instructions(ti_format=O.TIF_DFAGGR8) + +dfti2 = r.trade_instructions(ti_format=O.TIF_DFPG8) +print(f"Total gain: {sum(dfti2['gain_ttkn']):.4f}", targettkn) +dfti2 + + + + + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.ipynb b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.ipynb new file mode 100644 index 000000000..ea0a73b01 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.ipynb @@ -0,0 +1,2929 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "6e592dd0-4905-45bd-8ba2-e2072437e13c", + "metadata": {}, + "outputs": [], + "source": [ + "__SCRIPT_VERSION__ = \"3.5\"\n", + "__SCRIPT_DATE__ = \"26/May/2023\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", + "CarbonBot v3-b2.1 (03/May/2023)\n", + "ConstantProductCurve v2.14 (23/May/2023)\n", + "CPCAnalyzer v1.5 (18/May/2023)\n" + ] + } + ], + "source": [ + "from fastlane_bot.bot import CarbonBot as Bot\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer\n", + "from fastlane_bot.tools.cryptocompare import CryptoCompare\n", + "import requests\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "import pandas as pd\n", + "import datetime\n", + "import time\n", + "import json\n", + "from hashlib import md5\n", + "from fastlane_bot import __VERSION__" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Mainnet Arbitrage Monitoring Bot [A015 - v3.5SKL]\n", + "_v3.5 SKL; contains changes on notifications and excluded curves_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bafbd22f-ba89-4f82-b2b0-0ed6cba53064", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'ead90114986e463b0157c49422d8d465'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cid = lambda pair: md5(pair.encode()).hexdigest()\n", + "cid(\"WETH-6Cc2/USDC-eB48\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "882a9917-298c-48a7-9c67-d78bc7e5cafa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving curve data as ../data/A014-1685089861.csv.gz\n" + ] + } + ], + "source": [ + "bot = Bot()\n", + "CCm = bot.get_curves()\n", + "fn = f\"../data/A014-{int(time.time())}.csv.gz\"\n", + "print (f\"Saving curve data as {fn}\")\n", + "CCm.asdf().to_csv(fn, compression = \"gzip\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e0f8793b-456c-4b88-ba01-ff31b46e8023", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class TokenAddress():\n", + " def __init__(self, db):\n", + " self._db = db\n", + " \n", + " def addr_from_ticker(self, ticker):\n", + " return self._db.get_token(key=ticker).address\n", + " a = addr_from_ticker\n", + " \n", + " def ticker_from_addr(self, addr):\n", + " raise NotImplemented()\n", + "TA = TokenAddress(bot.db) \n", + "TA.a(\"WETH-6Cc2\")" + ] + }, + { + "cell_type": "markdown", + "id": "826d8b06-0b8e-4420-aa64-e4e1d5a9efb5", + "metadata": {}, + "source": [ + "#### Examining specific curves" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "81c7e7a6-f39d-485f-8113-c497ff83b2da", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ConstantProductCurve(k=3.845403938030023e+16, x=8434451122.601829, x_act=0, y_act=0.4559162766718673, pair='USDC-eB48/WETH-6Cc2', cid='1701411834604692317316873037158841057382-1', fee=0.002, descr='NaN', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 18, 'tkny_dec': 6, 'tknx_addr': '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE', 'tkny_addr': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 'blocklud': 17342093, 'y': 0.4559162766718673, 'yint': 0.4559162766718673, 'A': 0, 'B': 0.023249526586287494, 'pa': 0.0005405405405405376, 'pb': 0.0005405405405405376})" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = CCm.bycid0(\"7382-1\")[0]\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "d478797d-f5d8-456f-b4fe-034ec84faea7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.000540540486486489,\n", + " 0.0005405405945945916,\n", + " 0.0005405405945945916,\n", + " 1850.00018500001,\n", + " 1849.9998150000288,\n", + " 1849.9998150000288)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.p_min, c.p_max, c.p, 1/c.p_min, 1/c.p_max, 1/c.p" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "66270f4e-6118-4fc7-b14d-ed39f535f3b3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.0005405405405405376,\n", + " 0.0005405405405405376,\n", + " 1850.00000000001,\n", + " 1850.00000000001)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cp = c.params\n", + "cp.pa, cp.pb, 1/cp.pa, 1/cp.pb" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "58895ad4-5985-4ca9-8564-28c92b02519a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cid = 057382-1 [1701411834604692317316873037158841057382-1]\n", + "primary = WETH/USDC [WETH-6Cc2/USDC-eB48]\n", + "pp = 1,849.999815 USDC per WETH\n", + "pair = USDC/WETH [USDC-eB48/WETH-6Cc2]\n", + "tknx = 0.000000 USDC-eB48 [virtual: 8,434,451,122.602]\n", + "tkny = 0.455916 WETH-6Cc2 [virtual: 4,559,163.225]\n", + "p = 0.0005405405945945916 [min=0.000540540486486489, max=0.0005405405945945916] WETH-6Cc2 per USDC-eB48\n", + "fee = 0.002\n", + "descr = NaN\n", + "\n" + ] + } + ], + "source": [ + "print(c.description())" + ] + }, + { + "cell_type": "markdown", + "id": "bae1c0be-ff42-4cb5-9045-f65c6ad98b24", + "metadata": {}, + "source": [ + "## Header and metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "736ea88d-676c-4aca-a0d6-442d071588c0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "****************************************************************************************************\n", + "****************************************************************************************************\n", + "ARBITRAGE ANALYSIS RUN @ 2023-05-26T09:31:01Z [1685089861]\n", + "****************************************************************************************************\n", + "****************************************************************************************************\n" + ] + } + ], + "source": [ + "now = datetime.datetime.now()\n", + "print(\"\\n\\n\")\n", + "print(\"*\"*100)\n", + "print(\"*\"*100)\n", + "print(f\"ARBITRAGE ANALYSIS RUN @ {now.isoformat().split('.')[0]}Z [{int(now.timestamp())}]\")\n", + "print(\"*\"*100)\n", + "print(\"*\"*100)" + ] + }, + { + "cell_type": "markdown", + "id": "1e107912-43f1-4700-b88a-d3026af07000", + "metadata": {}, + "source": [ + "## Read curves" + ] + }, + { + "cell_type": "markdown", + "id": "0f3b8b84-0ee3-4e6a-95fe-ad249d4a9b8d", + "metadata": {}, + "source": [ + "### Read Carbon curves" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "1cf6de0d-a389-4a12-af78-9d33dd0258a3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "#CCm = CPCContainer.from_df(pd.read_csv(\"../data/A014-1684148163.csv.gz\"))\n", + "CCc1_noexcl = CCm.byparams(exchange=\"carbon_v1\") # all Carbon positions\n", + "CCnc1 = CCm.byparams(exchange=\"carbon_v1\", _inv=True) # all non-Carbon positions" + ] + }, + { + "cell_type": "markdown", + "id": "48c5a634-769a-42bb-b7dc-4e0b5051b602", + "metadata": {}, + "source": [ + "#### Remove curves" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "3e203360-42a2-4177-8392-07cad6b24860", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "ConstantProductCurve(k=1343185108526.0225, x=1090256.5698385532, x_act=0, y_act=50079.3888655038, pair='BNT-FF1C/vBNT-7f94', cid='4423670769972200025023869896612986749015-0', fee=0.002, descr='NaN', constr='carb', params={'exchange': 'carbon_v1', 'tknx_dec': 18, 'tkny_dec': 18, 'tknx_addr': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C', 'tkny_addr': '0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94', 'blocklud': 17342097, 'y': 50079.3888655038, 'yint': 50079.3888655038, 'A': 0.043210678554913784, 'B': 1.0198039027185501, 'pa': 1.129999999999998, 'pb': 1.039999999999986})" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = CCc1_noexcl.bycid0(\"749015-0\")[0]\n", + "1/c.p_min, 1/c.p_max\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "4a1ca0eb-482e-48f3-bcc2-7e063aa5a887", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'4423670769972200025023869896612986749015-0'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.cid" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "3c825d25-5dd4-4da0-9719-e2ac6bbe43ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1685694661" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "seven_days_from_now = int(now.timestamp())+60*60*24*7\n", + "seven_days_from_now" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "e5554ba0-33f6-4efe-ab7d-d83cf81de7d8", + "metadata": {}, + "outputs": [], + "source": [ + "exclusions0 = {\n", + " '1701411834604692317316873037158841057386-1': 1685428434, # very wide USDC-ETH curve; 23/May\n", + " '4423670769972200025023869896612986749015-0': 1685082834, # vBNT\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "da8da763-e01b-478f-bf94-596f39cb4fb1", + "metadata": {}, + "outputs": [], + "source": [ + "exclusions = {cid for cid, ts in exclusions0.items() if now.timestamp() < ts}" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "544a1a44-2431-4ab9-9707-3be3249ca930", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(100, 99)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "CCc1 = CCc1_noexcl.bycids(exclude=exclusions)\n", + "len(CCc1_noexcl), len(CCc1)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "75a56dc7-6402-4886-84d5-194061105492", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "REMOVED CURVES\n", + "====================================================================================================\n", + "1701411834604692317316873037158841057386-1 [for 3.9 days more]\n" + ] + } + ], + "source": [ + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"REMOVED CURVES\")\n", + "print(\"=\"*100)\n", + "for cid_ in exclusions:\n", + " print(f\"{cid_} [for {(exclusions0[cid_]-now.timestamp())/(60*60*24):3.1f} days more]\")" + ] + }, + { + "cell_type": "markdown", + "id": "fe5d92b1-cb4e-4ba7-a03e-5169cc3f705f", + "metadata": {}, + "source": [ + "#### Create analyzer and pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "d00567b2-b434-430c-8f2a-8e09703c8ee7", + "metadata": {}, + "outputs": [], + "source": [ + "CAc1 = CPCAnalyzer(CCc1)\n", + "pairs = CAc1.pairsc()" + ] + }, + { + "cell_type": "markdown", + "id": "f4cd5b56-e5a5-4a35-95d4-1671e6be5d46", + "metadata": {}, + "source": [ + "### Read prices and create proxy curves" + ] + }, + { + "cell_type": "markdown", + "id": "53dbc356-48a9-4d6a-b10a-3683331a38a4", + "metadata": {}, + "source": [ + "#### Preparations" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "dec9f209-6ffb-423f-ba0f-92ed84d4e80c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'0x0-1AD5',\n", + " 'ARB-4ad1',\n", + " 'BNT-FF1C',\n", + " 'CRETH2-dB64',\n", + " 'CRV-cd52',\n", + " 'CVX-9D2B',\n", + " 'DAI-1d0F',\n", + " 'DEXT-C75a',\n", + " 'ETH2x_FLI-65BD',\n", + " 'HEX-eb39',\n", + " 'LBR-aCcA',\n", + " 'LHINU-038d',\n", + " 'LINK-86CA',\n", + " 'LYXe-be6D',\n", + " 'MATIC-eBB0',\n", + " 'PAXG-Af78',\n", + " 'PEPE-1933',\n", + " 'RPL-A51f',\n", + " 'SMT-7173',\n", + " 'TSUKA-69eD',\n", + " 'USDC-eB48',\n", + " 'USDT-1ec7',\n", + " 'WBTC-C599',\n", + " 'WETH-6Cc2',\n", + " 'XCHF-fc08',\n", + " 'rETH-6393',\n", + " 'stETH-fE84',\n", + " 'vBNT-7f94'}" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens0 = CAc1.tokens()\n", + "tokens0" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "0337543f-733c-4197-a30b-d165fe73b9b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "REMOVED TOKENS\n", + "====================================================================================================\n" + ] + } + ], + "source": [ + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"REMOVED TOKENS\")\n", + "print(\"=\"*100)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a2a9cfc5-f1ff-4d47-a81d-0f4fdc69c88d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0x0-1AD5', 'LBR-aCcA'}\n" + ] + } + ], + "source": [ + "REMOVED_TOKENS = {\"0x0-1AD5\", \"LBR-aCcA\"}\n", + "print(REMOVED_TOKENS)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "d7e8efc8-eb5a-45fd-ac73-9f3f1cc1c44b", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "TOKEN ADDRESSES\n", + "====================================================================================================\n", + "DAI-1d0F 0x6B175474E89094C44Da98b954EedeAC495271d0F\n", + "CRETH2-dB64 0x49D72e3973900A195A155a46441F0C08179FdB64\n", + "WBTC-C599 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\n", + "SMT-7173 0xB17548c7B510427baAc4e267BEa62e800b247173\n", + "HEX-eb39 0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39\n", + "LHINU-038d 0xCeDefE438860D2789dA6419b3a19cEcE2A41038d\n", + "XCHF-fc08 0xB4272071eCAdd69d933AdcD19cA99fe80664fc08\n", + "LINK-86CA 0x514910771AF9Ca656af840dff83E8264EcF986CA\n", + "TSUKA-69eD 0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD\n", + "PEPE-1933 0x6982508145454Ce325dDbE47a25d4ec3d2311933\n", + "RPL-A51f 0xD33526068D116cE69F19A9ee46F0bd304F21A51f\n", + "BNT-FF1C 0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C\n", + "MATIC-eBB0 0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0\n", + "ARB-4ad1 0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1\n", + "CRV-cd52 0xD533a949740bb3306d119CC777fa900bA034cd52\n", + "CVX-9D2B 0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B\n", + "WETH-6Cc2 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n", + "USDC-eB48 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\n", + "stETH-fE84 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\n", + "USDT-1ec7 0xdAC17F958D2ee523a2206206994597C13D831ec7\n", + "ETH2x_FLI-65BD 0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD\n", + "DEXT-C75a 0xfB7B4564402E5500dB5bB6d63Ae671302777C75a\n", + "rETH-6393 0xae78736Cd615f374D3085123A210448E74Fc6393\n", + "vBNT-7f94 0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94\n", + "LYXe-be6D 0xA8b919680258d369114910511cc87595aec0be6D\n", + "PAXG-Af78 0x45804880De22913dAFE09f4980848ECE6EcbAf78\n" + ] + }, + { + "data": { + "text/plain": [ + "({'DAI-1d0F': '0x6B175474E89094C44Da98b954EedeAC495271d0F',\n", + " 'CRETH2-dB64': '0x49D72e3973900A195A155a46441F0C08179FdB64',\n", + " 'WBTC-C599': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n", + " 'SMT-7173': '0xB17548c7B510427baAc4e267BEa62e800b247173',\n", + " 'HEX-eb39': '0x2b591e99afE9f32eAA6214f7B7629768c40Eeb39',\n", + " 'LHINU-038d': '0xCeDefE438860D2789dA6419b3a19cEcE2A41038d',\n", + " 'XCHF-fc08': '0xB4272071eCAdd69d933AdcD19cA99fe80664fc08',\n", + " 'LINK-86CA': '0x514910771AF9Ca656af840dff83E8264EcF986CA',\n", + " 'TSUKA-69eD': '0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD',\n", + " 'PEPE-1933': '0x6982508145454Ce325dDbE47a25d4ec3d2311933',\n", + " 'RPL-A51f': '0xD33526068D116cE69F19A9ee46F0bd304F21A51f',\n", + " 'BNT-FF1C': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C',\n", + " 'MATIC-eBB0': '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0',\n", + " 'ARB-4ad1': '0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1',\n", + " 'CRV-cd52': '0xD533a949740bb3306d119CC777fa900bA034cd52',\n", + " 'CVX-9D2B': '0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B',\n", + " 'WETH-6Cc2': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n", + " 'USDC-eB48': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n", + " 'stETH-fE84': '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n", + " 'USDT-1ec7': '0xdAC17F958D2ee523a2206206994597C13D831ec7',\n", + " 'ETH2x_FLI-65BD': '0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD',\n", + " 'DEXT-C75a': '0xfB7B4564402E5500dB5bB6d63Ae671302777C75a',\n", + " 'rETH-6393': '0xae78736Cd615f374D3085123A210448E74Fc6393',\n", + " 'vBNT-7f94': '0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94',\n", + " 'LYXe-be6D': '0xA8b919680258d369114910511cc87595aec0be6D',\n", + " 'PAXG-Af78': '0x45804880De22913dAFE09f4980848ECE6EcbAf78'},\n", + " {'0x6b175474e89094c44da98b954eedeac495271d0f': 'DAI-1d0F',\n", + " '0x49d72e3973900a195a155a46441f0c08179fdb64': 'CRETH2-dB64',\n", + " '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'WBTC-C599',\n", + " '0xb17548c7b510427baac4e267bea62e800b247173': 'SMT-7173',\n", + " '0x2b591e99afe9f32eaa6214f7b7629768c40eeb39': 'HEX-eb39',\n", + " '0xcedefe438860d2789da6419b3a19cece2a41038d': 'LHINU-038d',\n", + " '0xb4272071ecadd69d933adcd19ca99fe80664fc08': 'XCHF-fc08',\n", + " '0x514910771af9ca656af840dff83e8264ecf986ca': 'LINK-86CA',\n", + " '0xc5fb36dd2fb59d3b98deff88425a3f425ee469ed': 'TSUKA-69eD',\n", + " '0x6982508145454ce325ddbe47a25d4ec3d2311933': 'PEPE-1933',\n", + " '0xd33526068d116ce69f19a9ee46f0bd304f21a51f': 'RPL-A51f',\n", + " '0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c': 'BNT-FF1C',\n", + " '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0': 'MATIC-eBB0',\n", + " '0xb50721bcf8d664c30412cfbc6cf7a15145234ad1': 'ARB-4ad1',\n", + " '0xd533a949740bb3306d119cc777fa900ba034cd52': 'CRV-cd52',\n", + " '0x4e3fbd56cd56c3e72c1403e103b45db9da5b9d2b': 'CVX-9D2B',\n", + " '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': 'WETH-6Cc2',\n", + " '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'USDC-eB48',\n", + " '0xae7ab96520de3a18e5e111b5eaab095312d7fe84': 'stETH-fE84',\n", + " '0xdac17f958d2ee523a2206206994597c13d831ec7': 'USDT-1ec7',\n", + " '0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd': 'ETH2x_FLI-65BD',\n", + " '0xfb7b4564402e5500db5bb6d63ae671302777c75a': 'DEXT-C75a',\n", + " '0xae78736cd615f374d3085123a210448e74fc6393': 'rETH-6393',\n", + " '0x48fb253446873234f2febbf9bdeaa72d9d387f94': 'vBNT-7f94',\n", + " '0xa8b919680258d369114910511cc87595aec0be6d': 'LYXe-be6D',\n", + " '0x45804880de22913dafe09f4980848ece6ecbaf78': 'PAXG-Af78'})" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens = tokens0 - REMOVED_TOKENS\n", + "pairs = CAc1.CC.filter_pairs(bothin=tokens)\n", + "tokens_addr = {tkn: TA.a(tkn) for tkn in tokens}\n", + "tokens_addrr = {v.lower():k for k,v in tokens_addr.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"TOKEN ADDRESSES\")\n", + "print(\"=\"*100)\n", + "for k,v in tokens_addr.items():\n", + " print(f\"{k:20} {v}\")\n", + "tokens_addr, tokens_addrr" + ] + }, + { + "cell_type": "markdown", + "id": "47e691ba-8a93-4dbe-825f-9caca9999b13", + "metadata": {}, + "source": [ + "#### CryptoCompare" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "debec7f5-3f77-440e-b381-30e49664492c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['DAI',\n", + " 'CRETH2',\n", + " 'WBTC',\n", + " 'SMT',\n", + " 'HEX',\n", + " 'LHINU',\n", + " 'XCHF',\n", + " 'LINK',\n", + " 'TSUKA',\n", + " 'PEPE',\n", + " 'RPL',\n", + " 'BNT',\n", + " 'MATIC',\n", + " 'ARB',\n", + " 'CRV',\n", + " 'CVX',\n", + " 'WETH',\n", + " 'USDC',\n", + " 'stETH',\n", + " 'USDT',\n", + " 'ETH2x_FLI',\n", + " 'DEXT',\n", + " 'rETH',\n", + " 'vBNT',\n", + " 'LYXe',\n", + " 'PAXG']" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens_cc = [Pair.n(x) for x in tokens]\n", + "tokens_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "c7cdc322-bbf8-4d9f-94bd-12738671ee68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'DAI': 0.9999,\n", + " 'WBTC': 26573.41,\n", + " 'SMT': 0.0009693,\n", + " 'HEX': 0.01632,\n", + " 'XCHF': 1.005,\n", + " 'LINK': 6.307,\n", + " 'TSUKA': 0.0495,\n", + " 'PEPE': 1.45e-06,\n", + " 'RPL': 46.97,\n", + " 'BNT': 0.4093,\n", + " 'MATIC': 0.8986,\n", + " 'ARB': 1.145,\n", + " 'CRV': 0.8389,\n", + " 'CVX': 4.454,\n", + " 'WETH': 1811.54,\n", + " 'USDC': 0.9999,\n", + " 'STETH': 1816.54,\n", + " 'USDT': 1.0,\n", + " 'DEXT': 0.5233,\n", + " 'RETH': 9e-06,\n", + " 'LYXE': 10.73,\n", + " 'PAXG': 1961.47}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token_prices_usd_cc = CryptoCompare(apikey=True, verbose=False).query_tokens(tokens_cc)\n", + "token_prices_usd_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "9b756bb8-0d0b-4ef7-bd76-a206f839b53b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'CRETH2', 'ETH2x_FLI', 'LHINU', 'LYXe', 'rETH', 'stETH', 'vBNT'}" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_cc = set(tokens_cc) - set(token_prices_usd_cc)\n", + "missing_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "1203d254-e659-4f6f-b847-f4eaee94b3a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "PRICES BY PAIR (CRYPTOCOMPARE)\n", + "====================================================================================================\n", + "DAI/USDT 0.999900\n", + "PEPE/WETH 0.000000\n", + "CRETH2/WETH ---\n", + "DEXT/USDC 0.523352\n", + "WBTC/USDC 26,576.067607\n", + "SMT/WETH 0.000001\n", + "PAXG/USDC 1,961.666167\n", + "CRV/CVX 0.188348\n", + "LINK/USDC 6.307631\n", + "ARB/MATIC 1.274204\n", + "HEX/WETH 0.000009\n", + "WBTC/USDT 26,573.410000\n", + "DAI/USDC 1.000000\n", + "WBTC/WETH 14.668961\n", + "RPL/XCHF 46.736318\n", + "CRV/USDC 0.838984\n", + "WETH/USDT 1,811.540000\n", + "USDT/USDC 1.000100\n", + "WETH/DAI 1,811.721172\n", + "rETH/WETH 0.000000\n", + "ETH2x_FLI/WETH ---\n", + "vBNT/BNT ---\n", + "vBNT/USDC ---\n", + "WETH/USDC 1,811.721172\n", + "TSUKA/USDC 0.049505\n", + "LINK/USDT 6.307000\n", + "rETH/WBTC 0.000000\n", + "stETH/WETH 1.002760\n", + "LHINU/USDT ---\n", + "BNT/USDC 0.409341\n", + "LYXe/USDC 10.731073\n", + "WETH/BNT 4,425.946738\n" + ] + } + ], + "source": [ + "token_prices_usd = token_prices_usd_cc\n", + "P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()]\n", + "def P(pair):\n", + " try: \n", + " return P0(*Pair.n(pair).split(\"/\"))\n", + " except KeyError:\n", + " return None\n", + "\n", + "prices_by_pair = {pair: P(pair) for pair in pairs}\n", + "prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"PRICES BY PAIR (CRYPTOCOMPARE)\")\n", + "print(\"=\"*100)\n", + "for k,v in prices_n_by_pair.items():\n", + " if not v is None:\n", + " print(f\"{k:20} {v:20,.6f}\")\n", + " else:\n", + " print(f\"{k:20} ---\")" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "260716b4-1ffc-4031-881f-3b7ee9d8583a", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "proxy_curves_cc = [\n", + " CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+\"CG\"), params=dict(exchange=\"ccomp\")) \n", + " for pair, price in prices_by_pair.items() if not price is None\n", + "]\n", + "#proxy_curves_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "a25bdb92-8513-4db9-a3ef-80d2079224eb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(pair)>" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cid" + ] + }, + { + "cell_type": "markdown", + "id": "b28aeb40-2355-43cc-b58f-55c5b75f9762", + "metadata": {}, + "source": [ + "#### CoinGecko" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "30b2fba7-7a58-483f-8dec-c0723e673452", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'PEPE-1933': 1.46e-06,\n", + " 'RPL-A51f': 46.9,\n", + " 'DEXT-C75a': 0.524366,\n", + " 'HEX-eb39': 0.0163139,\n", + " 'USDC-eB48': 0.999862,\n", + " 'rETH-6393': 1946.85,\n", + " 'USDT-1ec7': 1.0,\n", + " 'MATIC-eBB0': 0.899172,\n", + " 'BNT-FF1C': 0.410397,\n", + " 'ARB-4ad1': 1.14,\n", + " 'WBTC-C599': 26552,\n", + " 'CRETH2-dB64': 0.324747,\n", + " 'LYXe-be6D': 10.91,\n", + " 'LHINU-038d': 0.00011033,\n", + " 'SMT-7173': 0.059253,\n", + " 'XCHF-fc08': 1.11,\n", + " 'LINK-86CA': 6.31,\n", + " 'CRV-cd52': 0.83842,\n", + " 'DAI-1d0F': 0.999884,\n", + " 'stETH-fE84': 1813.76,\n", + " 'WETH-6Cc2': 1814.75,\n", + " 'vBNT-7f94': 0.304342,\n", + " 'ETH2x_FLI-65BD': 11.68,\n", + " 'PAXG-Af78': 1971.63,\n", + " 'CVX-9D2B': 4.45,\n", + " 'TSUKA-69eD': 0.04953971}" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "addr_s = \",\".join(x for x in tokens_addr.values())\n", + "url = \"https://api.coingecko.com/api/v3/simple/token_price/ethereum\"\n", + "params = dict(contract_addresses=addr_s, vs_currencies=\"usd\")\n", + "r = requests.get(url, params=params)\n", + "token_prices_usd_cg_raw = {tokens_addrr[k]: v[\"usd\"] for k,v in r.json().items()}\n", + "token_prices_usd_cg = {Pair.n(tokens_addrr[k]).upper(): v[\"usd\"] for k,v in r.json().items()}\n", + "token_prices_usd_cg_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "d3acbe34-77f5-48ad-a13c-bf77237987b9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "set()" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_cg = set(tokens_addr) - set(token_prices_usd_cg_raw)\n", + "missing_cg" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "b9d754a9-1d90-4ca9-a642-82649c1d2ce9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "PRICES BY PAIR (COINGECKO)\n", + "====================================================================================================\n", + "DAI/USDT 0.999884\n", + "PEPE/WETH 0.000000\n", + "CRETH2/WETH 0.000179\n", + "DEXT/USDC 0.524438\n", + "WBTC/USDC 26,555.664682\n", + "SMT/WETH 0.000033\n", + "PAXG/USDC 1,971.902122\n", + "CRV/CVX 0.188409\n", + "LINK/USDC 6.310871\n", + "ARB/MATIC 1.267833\n", + "HEX/WETH 0.000009\n", + "WBTC/USDT 26,552.000000\n", + "DAI/USDC 1.000022\n", + "WBTC/WETH 14.631216\n", + "RPL/XCHF 42.252252\n", + "CRV/USDC 0.838536\n", + "WETH/USDT 1,814.750000\n", + "USDT/USDC 1.000138\n", + "WETH/DAI 1,814.960535\n", + "rETH/WETH 1.072792\n", + "ETH2x_FLI/WETH 0.006436\n", + "vBNT/BNT 0.741579\n", + "vBNT/USDC 0.304384\n", + "WETH/USDC 1,815.000470\n", + "TSUKA/USDC 0.049547\n", + "LINK/USDT 6.310000\n", + "rETH/WBTC 0.073322\n", + "stETH/WETH 0.999454\n", + "LHINU/USDT 0.000110\n", + "BNT/USDC 0.410454\n", + "LYXe/USDC 10.911506\n", + "WETH/BNT 4,421.937782\n" + ] + } + ], + "source": [ + "token_prices_usd = token_prices_usd_cg\n", + "P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()]\n", + "def P(pair):\n", + " try: \n", + " return P0(*Pair.n(pair).split(\"/\"))\n", + " except KeyError:\n", + " return None\n", + "\n", + "prices_by_pair = {pair: P(pair) for pair in pairs}\n", + "prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"PRICES BY PAIR (COINGECKO)\")\n", + "print(\"=\"*100)\n", + "for k,v in prices_n_by_pair.items():\n", + " if not v is None:\n", + " print(f\"{k:20} {v:20,.6f}\")\n", + " else:\n", + " print(f\"{k:20} ---\")" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "7e45ffbf-0453-476f-b73e-2062c0d77d58", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "proxy_curves_cg = [\n", + " CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+\"CG\"), params=dict(exchange=\"cgecko\")) \n", + " for pair, price in prices_by_pair.items() if not price is None\n", + "]\n", + "#proxy_curves_cg" + ] + }, + { + "cell_type": "markdown", + "id": "b4afc6b7", + "metadata": {}, + "source": [ + "#### Assembly" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "b534465c-ee0e-42b4-a324-92c998db7761", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CAfull: 158 entries\n", + "CAnc1: 42 entries\n" + ] + } + ], + "source": [ + "# CCother = CCu3.bypairs(CCc1.pairs())\n", + "CCcg = CPCContainer(proxy_curves_cg)\n", + "CCcc = CPCContainer(proxy_curves_cc)\n", + "CCfull = CCc1.copy().add(CCcg).add(CCcc)\n", + "#CAother = CPCAnalyzer(CCother)\n", + "CAfull = CPCAnalyzer(CCfull)\n", + "CAnc1 = CPCAnalyzer(CCnc1)\n", + "print(f\"CAfull: {len(CAfull.CC):4} entries\")\n", + "print(f\"CAnc1: {len(CAnc1.CC):4} entries\")" + ] + }, + { + "cell_type": "markdown", + "id": "3b6dbb80-b154-43d9-8068-239a275804b6", + "metadata": {}, + "source": [ + "## By-pair data for Carbon" + ] + }, + { + "cell_type": "markdown", + "id": "9769fe97-be8b-469a-bbea-cc13af1ac848", + "metadata": {}, + "source": [ + "### Count by pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "8e902de8-cd75-477b-8577-2cc4b10346e1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "AVAILABLE PAIRS (CARBON AND OTHER)\n", + "====================================================================================================\n", + " carbon other\n", + "pair \n", + "0x0-1AD5/WETH-6Cc2 2 \n", + "ARB-4ad1/MATIC-eBB0 2 \n", + "ARB-4ad1/WETH-6Cc2 1\n", + "BNT-FF1C/USDC-eB48 3 1\n", + "CRETH2-dB64/WETH-6Cc2 2 1\n", + "CRV-cd52/CVX-9D2B 2 \n", + "CRV-cd52/USDC-eB48 2 1\n", + "CRV-cd52/WETH-6Cc2 1\n", + "CVX-9D2B/USDC-eB48 1\n", + "CVX-9D2B/WETH-6Cc2 1\n", + "DAI-1d0F/USDC-eB48 3 2\n", + "DAI-1d0F/USDT-1ec7 2 2\n", + "DEXT-C75a/USDC-eB48 2 \n", + "DEXT-C75a/WETH-6Cc2 1\n", + "ETH2x_FLI-65BD/WETH-6Cc2 1 1\n", + "HEX-eb39/USDC-eB48 1\n", + "HEX-eb39/WETH-6Cc2 2 \n", + "LBR-aCcA/WETH-6Cc2 1 \n", + "LHINU-038d/USDT-1ec7 1 \n", + "LHINU-038d/WETH-6Cc2 1\n", + "LINK-86CA/USDC-eB48 1 1\n", + "LINK-86CA/USDT-1ec7 2 1\n", + "LYXe-be6D/USDC-eB48 1 1\n", + "MATIC-eBB0/WETH-6Cc2 1\n", + "PAXG-Af78/USDC-eB48 1 1\n", + "PEPE-1933/USDC-eB48 1\n", + "PEPE-1933/WETH-6Cc2 2 1\n", + "RPL-A51f/WETH-6Cc2 1\n", + "RPL-A51f/XCHF-fc08 1 \n", + "SMT-7173/WETH-6Cc2 1 1\n", + "Silo-B1f8/USDC-eB48 1\n", + "TSUKA-69eD/USDC-eB48 1 1\n", + "USDT-1ec7/USDC-eB48 5 2\n", + "WBTC-C599/USDC-eB48 4 1\n", + "WBTC-C599/USDT-1ec7 1 1\n", + "WBTC-C599/WETH-6Cc2 4 1\n", + "WETH-6Cc2/BNT-FF1C 8 1\n", + "WETH-6Cc2/DAI-1d0F 1 1\n", + "WETH-6Cc2/USDC-eB48 21 2\n", + "WETH-6Cc2/USDT-1ec7 2 1\n", + "XCHF-fc08/WETH-6Cc2 1\n", + "eRSDL-D3A6/WETH-6Cc2 1\n", + "rETH-6393/WBTC-C599 1 \n", + "rETH-6393/WETH-6Cc2 5 2\n", + "stETH-fE84/WETH-6Cc2 2 1\n", + "vBNT-7f94/BNT-FF1C 9 1\n", + "vBNT-7f94/USDC-eB48 1 \n" + ] + } + ], + "source": [ + "dfc1 = CAc1.count_by_pairs().rename(columns=dict(count=\"carbon\")).astype(str)\n", + "dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count=\"other\")).astype(str)\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"AVAILABLE PAIRS (CARBON AND OTHER)\")\n", + "print(\"=\"*100)\n", + "df = pd.concat([dfc1, dfnc1], axis=1).fillna(\"\").sort_index()\n", + "print(df)\n", + "pairs_df = df\n", + "#df" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "e5aec7f2-f24a-43f0-87d2-9d13d558d73a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "CARBON PAIRS NOT MATCHED\n", + "====================================================================================================\n", + " carbon other\n", + "pair \n", + "0x0-1AD5/WETH-6Cc2 2 \n", + "ARB-4ad1/MATIC-eBB0 2 \n", + "CRV-cd52/CVX-9D2B 2 \n", + "DEXT-C75a/USDC-eB48 2 \n", + "HEX-eb39/WETH-6Cc2 2 \n", + "LBR-aCcA/WETH-6Cc2 1 \n", + "LHINU-038d/USDT-1ec7 1 \n", + "RPL-A51f/XCHF-fc08 1 \n", + "rETH-6393/WBTC-C599 1 \n", + "vBNT-7f94/USDC-eB48 1 \n" + ] + } + ], + "source": [ + "dfc1 = CAc1.count_by_pairs().rename(columns=dict(count=\"carbon\")).astype(str)\n", + "dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count=\"other\")).astype(str)\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"CARBON PAIRS NOT MATCHED\")\n", + "print(\"=\"*100)\n", + "print(df[df[\"other\"]==\"\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "a80b5cbb-6278-4d5d-8813-018e246bb59f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "OTHER PAIRS WITH NO CARBON\n", + "====================================================================================================\n", + " carbon other\n", + "pair \n", + "ARB-4ad1/WETH-6Cc2 1\n", + "CRV-cd52/WETH-6Cc2 1\n", + "CVX-9D2B/USDC-eB48 1\n", + "CVX-9D2B/WETH-6Cc2 1\n", + "DEXT-C75a/WETH-6Cc2 1\n", + "HEX-eb39/USDC-eB48 1\n", + "LHINU-038d/WETH-6Cc2 1\n", + "MATIC-eBB0/WETH-6Cc2 1\n", + "PEPE-1933/USDC-eB48 1\n", + "RPL-A51f/WETH-6Cc2 1\n", + "Silo-B1f8/USDC-eB48 1\n", + "XCHF-fc08/WETH-6Cc2 1\n", + "eRSDL-D3A6/WETH-6Cc2 1\n" + ] + } + ], + "source": [ + "dfc1 = CAc1.count_by_pairs().rename(columns=dict(count=\"carbon\")).astype(str)\n", + "dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count=\"other\")).astype(str)\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"OTHER PAIRS WITH NO CARBON\")\n", + "print(\"=\"*100)\n", + "print(df[df[\"carbon\"]==\"\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "a5d5d7b9-8f2c-4db8-a16e-879d5b0ee9b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + " CARBON CGECKO CCOMP\n", + "Pairs: 32 32 27\n", + "Tokens: 26 26 22\n", + "Curves: 99 32 27\n" + ] + } + ], + "source": [ + "print(\"\\n\\n CARBON CGECKO CCOMP\")\n", + "print(f\"Pairs: {len(pairs):4} {len(CCcg.pairs()):7} {len(CCcc.pairs()):7}\")\n", + "print(f\"Tokens: {len(tokens):4} {len(CCcg.tokens()):7} {len(CCcc.tokens()):7}\")\n", + "print(f\"Curves: {len(CAc1.CC):4} {len(CCcg):7} {len(CCcc):7}\")" + ] + }, + { + "cell_type": "markdown", + "id": "a07ee661-1610-4f50-9e84-7a2a27b3018f", + "metadata": {}, + "source": [ + "### Calculate by-pair statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "ebdd5b8c-9f93-4319-8ebb-1af3a91b442d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "****************************************************************************************************\n", + "BY-PAIR DATA\n", + "****************************************************************************************************\n" + ] + } + ], + "source": [ + "print(\"\\n\\n\")\n", + "print(\"*\"*100)\n", + "print(f\"BY-PAIR DATA\")\n", + "print(\"*\"*100)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "5b8b206a-460e-4d9d-87f8-794cb23c2912", + "metadata": {}, + "outputs": [], + "source": [ + "pasdf = CAfull.pool_arbitrage_statistics()\n", + "pasnc1df = CAnc1.pool_arbitrage_statistics(only_pairs_with_carbon=False)" + ] + }, + { + "cell_type": "markdown", + "id": "bd982bda-5ab7-4e3c-a6f4-7a647cc3218d", + "metadata": {}, + "source": [ + "### Print by-pair statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "edf3f14b-3115-47af-83a5-7eb3a7854c55", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "Pair = DAI-1d0F/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 268742-0 0.995000 20.100501 b buy-DAI @ 1.00 USDT per DAI\n", + "cgecko e50e04c1 0.999884 63.249222 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "ccomp e50e04c1 0.999900 63.248716 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "carbon_v1 268742-1 1.005000 20.000000 s sell-DAI @ 1.00 USDT per DAI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 d32c192e 0.999891 160200.932541 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + " 6e83e219 0.999978 64932.025074 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = PEPE-1933/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 3d326862 8.004239e-10 2.235476e+06 b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "cgecko 3d326862 8.045185e-10 2.229780e+06 b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "carbon_v1 440620-1 4.000000e-07 7.144675e+06 s sell-PEPE @ 0.00 WETH per PEPE\n", + " 440621-1 4.500000e-07 1.315789e+06 s sell-PEPE @ 0.00 WETH per PEPE\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 7d733cc6 8.001462e-10 6.277682e+10 b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = CRETH2-dB64/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 07ab43a5 0.000179 4727.873243 x b s buy-sell-CRETH2 @ 0.00 WETH per CRETH2\n", + "carbon_v1 092712-1 0.990099 6.029913 x b buy-CRETH2 @ 0.99 WETH per CRETH2\n", + " 092712-0 1.000000 0.004975 s sell-CRETH2 @ 1.00 WETH per CRETH2\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 07ab43a5 0.000179 4727.873243 x b s buy-sell-CRETH2 @ 0.00 WETH per CRETH2\n", + "carbon_v1 092712-1 0.990099 6.029913 x b buy-CRETH2 @ 0.99 WETH per CRETH2\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 37e9ff2c 1.014114 74.856176 b s buy-sell-CRETH2 @ 1.01 WETH per CRETH2\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = DEXT-C75a/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 67f38bb6 0.523352 87.424451 x b s buy-sell-DEXT @ 0.52 USDC per DEXT\n", + "cgecko 67f38bb6 0.524438 87.333882 x b s buy-sell-DEXT @ 0.52 USDC per DEXT\n", + "carbon_v1 669784-0 0.600000 2.500000 x b buy-DEXT @ 0.60 USDC per DEXT\n", + " 669784-1 0.635000 414.166668 s sell-DEXT @ 0.63 USDC per DEXT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 67f38bb6 0.523352 87.424451 x b s buy-sell-DEXT @ 0.52 USDC per DEXT\n", + "cgecko 67f38bb6 0.524438 87.333882 x b s buy-sell-DEXT @ 0.52 USDC per DEXT\n", + "carbon_v1 669784-0 0.600000 2.500000 x b buy-DEXT @ 0.60 USDC per DEXT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 537571-0 26000.000000 0.167978 b buy-WBTC @ 26000.00 USDC per WBTC\n", + "cgecko 2e4fabcb 26555.664682 0.388107 x b s buy-sell-WBTC @ 26555.66 USDC per WBTC\n", + "ccomp 2e4fabcb 26576.067607 0.387958 x b s buy-sell-WBTC @ 26576.07 USDC per WBTC\n", + "carbon_v1 537493-0 27075.760726 0.018160 x b buy-WBTC @ 27075.76 USDC per WBTC\n", + " 537579-1 27933.000000 0.060000 s sell-WBTC @ 27933.00 USDC per WBTC\n", + " 537493-1 28840.000000 0.028274 s sell-WBTC @ 28840.00 USDC per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 2e4fabcb 26555.664682 0.388107 x b s buy-sell-WBTC @ 26555.66 USDC per WBTC\n", + "ccomp 2e4fabcb 26576.067607 0.387958 x b s buy-sell-WBTC @ 26576.07 USDC per WBTC\n", + "carbon_v1 537493-0 27075.760726 0.018160 x b buy-WBTC @ 27075.76 USDC per WBTC\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 a527b959 26498.216838 220.958497 b s buy-sell-WBTC @ 26498.22 USDC per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = SMT-7173/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp aba3bb9b 5.350696e-07 86461.915601 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "cgecko aba3bb9b 3.265078e-05 11068.358730 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "carbon_v1 343738-1 8.000000e-05 200000.000000 s sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp aba3bb9b 5.350696e-07 86461.915601 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "cgecko aba3bb9b 3.265078e-05 11068.358730 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3a9dd559 0.000033 4692.651533 b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = PAXG-Af78/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 9baacb31 1961.666167 1.427965 b s buy-sell-PAXG @ 1961.67 USDC per PAXG\n", + "cgecko 9baacb31 1971.902122 1.424254 b s buy-sell-PAXG @ 1971.90 USDC per PAXG\n", + "carbon_v1 515620-1 2000.000000 0.999796 s sell-PAXG @ 2000.00 USDC per PAXG\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v2 7cace0d4 1985.062769 2075.076569 b s buy-sell-PAXG @ 1985.06 USDC per PAXG\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = CRV-cd52/CVX-9D2B\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 361457-1 0.153846 28763.636005 b buy-CRV @ 0.15 CVX per CRV\n", + "ccomp 4d3fd295 0.188348 145.730349 b s buy-sell-CRV @ 0.19 CVX per CRV\n", + "cgecko 4d3fd295 0.188409 145.706587 b s buy-sell-CRV @ 0.19 CVX per CRV\n", + "carbon_v1 361457-0 0.250000 963.643903 s sell-CRV @ 0.25 CVX per CRV\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LINK-86CA/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 95d4f2fc 6.307631 25.182385 b s buy-sell-LINK @ 6.31 USDC per LINK\n", + "cgecko 95d4f2fc 6.310871 25.175920 b s buy-sell-LINK @ 6.31 USDC per LINK\n", + "carbon_v1 497903-1 7.750000 342.883761 s sell-LINK @ 7.75 USDC per LINK\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 b78a6b7c 6.269596 336.890849 b s buy-sell-LINK @ 6.27 USDC per LINK\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = ARB-4ad1/MATIC-eBB0\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 91a9fe92 1.267833 56.169293 x b s buy-sell-ARB @ 1.27 MATIC per ARB\n", + "ccomp 91a9fe92 1.274204 56.028689 x b s buy-sell-ARB @ 1.27 MATIC per ARB\n", + "carbon_v1 806240-1 1.428571 141.806023 x b buy-ARB @ 1.43 MATIC per ARB\n", + " 806240-0 1.507045 12.760538 s sell-ARB @ 1.51 MATIC per ARB\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 91a9fe92 1.267833 56.169293 x b s buy-sell-ARB @ 1.27 MATIC per ARB\n", + "ccomp 91a9fe92 1.274204 56.028689 x b s buy-sell-ARB @ 1.27 MATIC per ARB\n", + "carbon_v1 806240-1 1.428571 141.806023 x b buy-ARB @ 1.43 MATIC per ARB\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = HEX-eb39/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko c1110748 0.000009 21094.027131 x b s buy-sell-HEX @ 0.00 WETH per HEX\n", + "ccomp c1110748 0.000009 21071.423824 x b s buy-sell-HEX @ 0.00 WETH per HEX\n", + "carbon_v1 881242-0 0.000025 163.845756 x b buy-HEX @ 0.00 WETH per HEX\n", + " 881242-1 0.000032 49836.154260 s sell-HEX @ 0.00 WETH per HEX\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko c1110748 0.000009 21094.027131 x b s buy-sell-HEX @ 0.00 WETH per HEX\n", + "ccomp c1110748 0.000009 21071.423824 x b s buy-sell-HEX @ 0.00 WETH per HEX\n", + "carbon_v1 881242-0 0.000025 163.845756 x b buy-HEX @ 0.00 WETH per HEX\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 9c49df60 26552.00 0.388134 b s buy-sell-WBTC @ 26552.00 USDT per WBTC\n", + "ccomp 9c49df60 26573.41 0.387977 b s buy-sell-WBTC @ 26573.41 USDT per WBTC\n", + "carbon_v1 920820-1 29500.00 0.000065 s sell-WBTC @ 29500.00 USDT per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 d3b9424f 26500.848081 6.816773 b s buy-sell-WBTC @ 26500.85 USDT per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = DAI-1d0F/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 845828-1 0.999001 20.019998 b buy-DAI @ 1.00 USDC per DAI\n", + "ccomp cd733cac 1.000000 63.245553 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "cgecko cd733cac 1.000022 63.244857 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "carbon_v1 845907-0 1.000500 13915.242877 s sell-DAI @ 1.00 USDC per DAI\n", + " 845828-0 1.001001 30.000000 s sell-DAI @ 1.00 USDC per DAI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 45fd83ef 0.999997 2.686111e+07 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + " 06e022d7 1.003076 7.798356e+01 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 709362-1 14.285714 0.431087 b buy-WBTC @ 14.29 WETH per WBTC\n", + "cgecko c59d6071 14.631216 16.534451 x b s buy-sell-WBTC @ 14.63 WETH per WBTC\n", + "ccomp c59d6071 14.668961 16.513165 b s buy-sell-WBTC @ 14.67 WETH per WBTC\n", + "carbon_v1 709391-0 14.800000 0.040541 x b buy-WBTC @ 14.80 WETH per WBTC\n", + " 709420-1 14.920000 0.060575 s sell-WBTC @ 14.92 WETH per WBTC\n", + " 709362-0 15.515875 0.120820 s sell-WBTC @ 15.52 WETH per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko c59d6071 14.631216 16.534451 x b s buy-sell-WBTC @ 14.63 WETH per WBTC\n", + "carbon_v1 709391-0 14.800000 0.040541 x b buy-WBTC @ 14.80 WETH per WBTC\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 75da4eaa 14.672502 188.895889 b s buy-sell-WBTC @ 14.67 WETH per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = RPL-A51f/XCHF-fc08\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 594782-0 40.476781 30.732095 b buy-RPL @ 40.48 XCHF per RPL\n", + "cgecko 3678e599 42.252252 9.729826 x b s buy-sell-RPL @ 42.25 XCHF per RPL\n", + "ccomp 3678e599 46.736318 9.251300 x b s buy-sell-RPL @ 46.74 XCHF per RPL\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 3678e599 42.252252 9.729826 x b s buy-sell-RPL @ 42.25 XCHF per RPL\n", + "ccomp 3678e599 46.736318 9.251300 x b s buy-sell-RPL @ 46.74 XCHF per RPL\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = CRV-cd52/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko a61cdf65 0.838536 69.066781 x b s buy-sell-CRV @ 0.84 USDC per CRV\n", + "ccomp a61cdf65 0.838984 69.048331 x b s buy-sell-CRV @ 0.84 USDC per CRV\n", + "carbon_v1 612490-0 0.900000 1.785699 x b buy-CRV @ 0.90 USDC per CRV\n", + " 612490-1 0.900000 9998.214320 s sell-CRV @ 0.90 USDC per CRV\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko a61cdf65 0.838536 69.066781 x b s buy-sell-CRV @ 0.84 USDC per CRV\n", + "ccomp a61cdf65 0.838984 69.048331 x b s buy-sell-CRV @ 0.84 USDC per CRV\n", + "carbon_v1 612490-0 0.900000 1.785699 x b buy-CRV @ 0.90 USDC per CRV\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 53ec92a7 0.81888 1286.385985 b s buy-sell-CRV @ 0.82 USDC per CRV\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 691723-0 1600.000160 0.003125 b buy-WETH @ 1600.00 USDT per WETH\n", + "ccomp e60f9a1d 1811.540000 1.485956 x b s buy-sell-WETH @ 1811.54 USDT per WETH\n", + "cgecko e60f9a1d 1814.750000 1.484641 x b s buy-sell-WETH @ 1814.75 USDT per WETH\n", + "carbon_v1 691656-0 1891.000189 0.002644 x b buy-WETH @ 1891.00 USDT per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp e60f9a1d 1811.540000 1.485956 x b s buy-sell-WETH @ 1811.54 USDT per WETH\n", + "cgecko e60f9a1d 1814.750000 1.484641 x b s buy-sell-WETH @ 1814.75 USDT per WETH\n", + "carbon_v1 691656-0 1891.000189 0.002644 x b buy-WETH @ 1891.00 USDT per WETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3bd24802 1811.681944 266.770374 b s buy-sell-WETH @ 1811.68 USDT per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = USDT-1ec7/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 634444-0 0.996000 50200.798193 b buy-USDT @ 1.00 USDC per USDT\n", + " 634371-1 0.999900 50.154515 b buy-USDT @ 1.00 USDC per USDT\n", + " 634371-0 1.000100 50.100001 s sell-USDT @ 1.00 USDC per USDT\n", + "ccomp 7a925ef9 1.000100 63.242391 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "cgecko 7a925ef9 1.000138 63.241189 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "carbon_v1 634391-1 1.000690 494.654975 b buy-USDT @ 1.00 USDC per USDT\n", + " 634391-0 1.001001 505.000000 s sell-USDT @ 1.00 USDC per USDT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v2 a4d0dbb7 0.999362 2.292794e+07 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "uniswap_v3 4a56bd20 1.000047 2.743461e+07 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/DAI-1d0F\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 37a018d8 1811.721172 1.485882 b s buy-sell-WETH @ 1811.72 DAI per WETH\n", + "cgecko 37a018d8 1814.960535 1.484555 b s buy-sell-WETH @ 1814.96 DAI per WETH\n", + "carbon_v1 211457-1 1944.999806 0.001000 s sell-WETH @ 1945.00 DAI per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 6862112f 1811.66306 116.80187 b s buy-sell-WETH @ 1811.66 DAI per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = rETH-6393/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 4f14f678 4.968149e-09 8.972897e+05 x b s buy-sell-rETH @ 0.00 WETH per rETH\n", + "carbon_v1 903202-1 1.064552e+00 2.620752e-01 x b buy-rETH @ 1.06 WETH per rETH\n", + " 903202-0 1.070205e+00 2.496828e-01 x s sell-rETH @ 1.07 WETH per rETH\n", + "cgecko 4f14f678 1.072792e+00 6.106216e+01 x b s buy-sell-rETH @ 1.07 WETH per rETH\n", + "carbon_v1 903200-1 1.076000e+00 9.322307e-01 x s sell-rETH @ 1.08 WETH per rETH\n", + " 903213-0 1.107152e+00 9.032184e-19 x b buy-rETH @ 1.11 WETH per rETH\n", + " 903213-1 1.112370e+00 1.350317e+00 s sell-rETH @ 1.11 WETH per rETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 4f14f678 4.968149e-09 8.972897e+05 x b s buy-sell-rETH @ 0.00 WETH per rETH\n", + "carbon_v1 903202-1 1.064552e+00 2.620752e-01 x b buy-rETH @ 1.06 WETH per rETH\n", + " 903202-0 1.070205e+00 2.496828e-01 x s sell-rETH @ 1.07 WETH per rETH\n", + "cgecko 4f14f678 1.072792e+00 6.106216e+01 x b s buy-sell-rETH @ 1.07 WETH per rETH\n", + "carbon_v1 903200-1 1.076000e+00 9.322307e-01 x s sell-rETH @ 1.08 WETH per rETH\n", + " 903213-0 1.107152e+00 9.032184e-19 x b buy-rETH @ 1.11 WETH per rETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 8a996fde 1.072379 936.183111 b s buy-sell-rETH @ 1.07 WETH per rETH\n", + " 72443951 1.073236 0.032729 b s buy-sell-rETH @ 1.07 WETH per rETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = ETH2x_FLI-65BD/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 246866-0 0.006300 63.492063 b buy-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "cgecko fd18788f 0.006436 788.346197 b s buy-sell-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 9530f8aa 0.006477 594.43988 b s buy-sell-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = vBNT-7f94/BNT-FF1C\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 748977-0 0.700000 911.317173 b buy-vBNT @ 0.70 BNT per vBNT\n", + "cgecko d4c2e539 0.741579 73.443124 x b s buy-sell-vBNT @ 0.74 BNT per vBNT\n", + "carbon_v1 748976-0 0.751044 345.367107 x b buy-vBNT @ 0.75 BNT per vBNT\n", + " 748977-1 0.831863 330.931460 x s sell-vBNT @ 0.83 BNT per vBNT\n", + " 749015-0 0.884956 50079.388866 x s sell-vBNT @ 0.88 BNT per vBNT\n", + " 748976-1 0.900000 810.415436 s sell-vBNT @ 0.90 BNT per vBNT\n", + " 748990-0 0.900048 0.324366 x b buy-vBNT @ 0.90 BNT per vBNT\n", + " 748966-1 1.000000 1089.255651 s sell-vBNT @ 1.00 BNT per vBNT\n", + " 748990-1 1.050000 1122.591140 s sell-vBNT @ 1.05 BNT per vBNT\n", + " 748965-1 1.100000 1027.046277 s sell-vBNT @ 1.10 BNT per vBNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko d4c2e539 0.741579 73.443124 x b s buy-sell-vBNT @ 0.74 BNT per vBNT\n", + "carbon_v1 748976-0 0.751044 345.367107 x b buy-vBNT @ 0.75 BNT per vBNT\n", + " 748977-1 0.831863 330.931460 x s sell-vBNT @ 0.83 BNT per vBNT\n", + " 749015-0 0.884956 50079.388866 x s sell-vBNT @ 0.88 BNT per vBNT\n", + " 748990-0 0.900048 0.324366 x b buy-vBNT @ 0.90 BNT per vBNT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 3af82b26 0.746193 3.196123e+06 b s buy-sell-vBNT @ 0.75 BNT per vBNT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = vBNT-7f94/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 0d1e2d63 0.304384 114.635487 b s buy-sell-vBNT @ 0.30 USDC per vBNT\n", + "carbon_v1 171896-1 0.390000 5000.000000 s sell-vBNT @ 0.39 USDC per vBNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 057306-0 1405.000140 3.558719 b buy-WETH @ 1405.00 USDC per WETH\n", + " 057369-0 1500.000150 0.297340 b buy-WETH @ 1500.00 USDC per WETH\n", + " 057385-0 1600.000000 10.000034 b buy-WETH @ 1600.00 USDC per WETH\n", + " 057334-0 1700.000170 0.029412 b buy-WETH @ 1700.00 USDC per WETH\n", + " 057386-0 1713.000000 0.218788 b buy-WETH @ 1713.00 USDC per WETH\n", + " 057331-0 1747.325134 2.728833 b buy-WETH @ 1747.33 USDC per WETH\n", + " 057358-0 1750.000000 0.059166 b buy-WETH @ 1750.00 USDC per WETH\n", + " 057371-0 1774.031424 3.332464 b buy-WETH @ 1774.03 USDC per WETH\n", + " 057337-0 1796.061322 0.879991 b buy-WETH @ 1796.06 USDC per WETH\n", + " 057339-0 1800.000000 0.000556 b buy-WETH @ 1800.00 USDC per WETH\n", + "ccomp 9da15412 1811.721172 1.485882 b s buy-sell-WETH @ 1811.72 USDC per WETH\n", + "cgecko 9da15412 1815.000470 1.484539 b s buy-sell-WETH @ 1815.00 USDC per WETH\n", + "carbon_v1 057382-1 1849.999815 0.455916 s sell-WETH @ 1850.00 USDC per WETH\n", + " 057371-1 1862.711905 2.578999 s sell-WETH @ 1862.71 USDC per WETH\n", + " 057299-1 1940.000000 0.026117 s sell-WETH @ 1940.00 USDC per WETH\n", + " 057337-1 1975.000000 0.230127 s sell-WETH @ 1975.00 USDC per WETH\n", + " 057343-1 1989.999801 1.000000 s sell-WETH @ 1990.00 USDC per WETH\n", + " 057369-1 1999.999800 0.250000 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057334-1 1999.999800 0.040000 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057292-1 2000.000000 0.019704 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057331-1 2000.000000 2.950064 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057353-1 2047.999795 8.234700 s sell-WETH @ 2048.00 USDC per WETH\n", + " 057285-1 2099.999790 0.006040 s sell-WETH @ 2100.00 USDC per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 f4909a83 1811.637692 1256.357459 b s buy-sell-WETH @ 1811.64 USDC per WETH\n", + " 1bc3f2c4 1815.204362 257.475812 b s buy-sell-WETH @ 1815.20 USDC per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = TSUKA-69eD/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 6bfe0f65 0.049505 284.253408 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "cgecko 6bfe0f65 0.049547 284.134060 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "carbon_v1 017697-1 0.120000 90007.566908 s sell-TSUKA @ 0.12 USDC per TSUKA\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3912a86a 0.050859 1348.308741 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LINK-86CA/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp f46d143c 6.307000 25.183645 x b s buy-sell-LINK @ 6.31 USDT per LINK\n", + "cgecko f46d143c 6.310000 25.177657 x b s buy-sell-LINK @ 6.31 USDT per LINK\n", + "carbon_v1 960408-0 6.900402 0.055841 x b buy-LINK @ 6.90 USDT per LINK\n", + " 960408-1 7.700000 37.987504 s sell-LINK @ 7.70 USDT per LINK\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp f46d143c 6.307000 25.183645 x b s buy-sell-LINK @ 6.31 USDT per LINK\n", + "cgecko f46d143c 6.310000 25.177657 x b s buy-sell-LINK @ 6.31 USDT per LINK\n", + "carbon_v1 960408-0 6.900402 0.055841 x b buy-LINK @ 6.90 USDT per LINK\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 e3c32971 6.334336 10.097425 b s buy-sell-LINK @ 6.33 USDT per LINK\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = rETH-6393/WBTC-C599\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp da2f8b7d 3.386844e-10 3.436627e+06 x b s buy-sell-rETH @ 0.00 WBTC per rETH\n", + "carbon_v1 727077-0 7.142234e-02 9.911474e-04 x s sell-rETH @ 0.07 WBTC per rETH\n", + "cgecko da2f8b7d 7.332216e-02 2.335675e+02 x b s buy-sell-rETH @ 0.07 WBTC per rETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp da2f8b7d 3.386844e-10 3.436627e+06 x b s buy-sell-rETH @ 0.00 WBTC per rETH\n", + "carbon_v1 727077-0 7.142234e-02 9.911474e-04 x s sell-rETH @ 0.07 WBTC per rETH\n", + "cgecko da2f8b7d 7.332216e-02 2.335675e+02 x b s buy-sell-rETH @ 0.07 WBTC per rETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = stETH-fE84/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 035408-0 0.980000 1.020408 b buy-stETH @ 0.98 WETH per stETH\n", + " 423024-0 0.994000 5.331992 b buy-stETH @ 0.99 WETH per stETH\n", + "cgecko 7cbb82c5 0.999454 63.262811 b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "ccomp 7cbb82c5 1.002760 63.158452 b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v2 b8894be0 0.996828 2133.824441 b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LHINU-038d/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 938535-0 8.999960e-07 5.555580e+09 b buy-LHINU @ 0.00 USDT per LHINU\n", + "cgecko f7b043cb 1.103300e-04 6.021202e+03 b s buy-sell-LHINU @ 0.00 USDT per LHINU\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = BNT-FF1C/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 480284-0 0.400000 2500.000004 b buy-BNT @ 0.40 USDC per BNT\n", + "ccomp ecb95b37 0.409341 98.852443 b s buy-sell-BNT @ 0.41 USDC per BNT\n", + "cgecko ecb95b37 0.410454 98.718362 b s buy-sell-BNT @ 0.41 USDC per BNT\n", + "carbon_v1 480284-1 0.500000 2500.000000 s sell-BNT @ 0.50 USDC per BNT\n", + " 480199-0 2.000000 29.100000 s sell-BNT @ 2.00 USDC per BNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 fdec725b 0.40167 5.469466e+06 b s buy-sell-BNT @ 0.40 USDC per BNT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LYXe-be6D/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 0794c954 10.731073 19.306716 x b s buy-sell-LYXe @ 10.73 USDC per LYXe\n", + "cgecko 0794c954 10.911506 19.146423 x b s buy-sell-LYXe @ 10.91 USDC per LYXe\n", + "carbon_v1 652071-1 15.999998 7503.700799 s sell-LYXe @ 16.00 USDC per LYXe\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 0794c954 10.731073 19.306716 x b s buy-sell-LYXe @ 10.73 USDC per LYXe\n", + "cgecko 0794c954 10.911506 19.146423 x b s buy-sell-LYXe @ 10.91 USDC per LYXe\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 c45e2006 10.993491 3.608771 b s buy-sell-LYXe @ 10.99 USDC per LYXe\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/BNT-FF1C\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 326034-1 476.190524 0.420000 b buy-WETH @ 476.19 BNT per WETH\n", + " 326031-1 500.000050 1.000000 b buy-WETH @ 500.00 BNT per WETH\n", + " 326076-1 3891.050584 0.205506 b buy-WETH @ 3891.05 BNT per WETH\n", + " 326030-0 3950.000395 0.126582 b buy-WETH @ 3950.00 BNT per WETH\n", + " 326076-0 4163.458344 0.002883 x s sell-WETH @ 4163.46 BNT per WETH\n", + "cgecko 8468746f 4421.937782 0.951095 x b s buy-sell-WETH @ 4421.94 BNT per WETH\n", + "ccomp 8468746f 4425.946738 0.950664 x b s buy-sell-WETH @ 4425.95 BNT per WETH\n", + "carbon_v1 326030-1 4999.999500 0.050000 s sell-WETH @ 5000.00 BNT per WETH\n", + " 326031-0 4999.999500 0.150000 s sell-WETH @ 5000.00 BNT per WETH\n", + " 326034-0 4999.999500 0.070000 s sell-WETH @ 5000.00 BNT per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 326076-0 4163.458344 0.002883 x s sell-WETH @ 4163.46 BNT per WETH\n", + "cgecko 8468746f 4421.937782 0.951095 x b s buy-sell-WETH @ 4421.94 BNT per WETH\n", + "ccomp 8468746f 4425.946738 0.950664 x b s buy-sell-WETH @ 4425.95 BNT per WETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 a3c742d2 4471.361383 7327.044475 b s buy-sell-WETH @ 4471.36 BNT per WETH\n", + "\n" + ] + } + ], + "source": [ + "def prints(*x):\n", + " global s\n", + " s += \" \".join([str(x_) for x_ in x])\n", + " s += \"\\n\"\n", + "out_by_pair = dict()\n", + "carbon_by_pair = dict()\n", + "other_by_pair = dict()\n", + "\n", + "for pair in list(pairs):\n", + " s = \"\"\n", + " prints(\"\\n\\n\"+\"=\"*100)\n", + " prints(f\"Pair = {pair}\")\n", + " prints(\"=\"*100)\n", + " df = pasdf.loc[Pair.n(pair)]\n", + " try:\n", + " nc1df = pasnc1df.loc[Pair.n(pair)]\n", + " except:\n", + " nc1df = pd.DataFrame()\n", + " hasproxydata = len(df.reset_index()[df.reset_index()[\"exchange\"]==\"cgecko\"])>0\n", + " if hasproxydata:\n", + " prints(\"\\n--- ALL CARBON AND REFERENCE POSITIONS ---\")\n", + " prints(df.to_string())\n", + " carbon_by_pair[pair] = [[k,v] for k,v in df.to_dict(orient=\"index\").items()]\n", + " prints(\"\\n--- IN-THE-MONEY POSITIONS ---\")\n", + " dfitm = df[df[\"itm\"]==\"x\"]\n", + " if len(dfitm) > 0:\n", + " prints(dfitm.to_string())\n", + " else:\n", + " prints(\"-None-\")\n", + " prints(\"\\n--- ALL NON-CARBON POSITIONS ---\")\n", + " if len(nc1df) > 0:\n", + " prints(nc1df.to_string())\n", + " else:\n", + " prints(\"-None-\")\n", + " other_by_pair[pair] = [[k,v] for k,v in nc1df.to_dict(orient=\"index\").items()]\n", + " \n", + " else:\n", + " prints(\"\\n--- NO PRICE DATA AVAILABLE ---\")\n", + " \n", + " out_by_pair[pair] = s\n", + " print(s)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2b405d02-ca60-49d4-9c49-e3ef937e30e2", + "metadata": {}, + "source": [ + "## Summary data" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "6ca24037-6c2d-47c9-b22f-3c594844f74c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "****************************************************************************************************\n", + "SUMMARY DATA\n", + "****************************************************************************************************\n" + ] + } + ], + "source": [ + "print(\"\\n\\n\")\n", + "print(\"*\"*100)\n", + "print(f\"SUMMARY DATA\")\n", + "print(\"*\"*100)" + ] + }, + { + "cell_type": "markdown", + "id": "5f91da5b-b126-4816-b41c-7be245a7ea69", + "metadata": {}, + "source": [ + "### Create summary data" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "0aac094f-e560-4fc7-b7d8-e4e434649368", + "metadata": {}, + "outputs": [], + "source": [ + "itmcarbdf = pasdf.query(\"exchange == 'carbon_v1'\").query(\"itm == 'x'\")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "c72599d7-0ce2-4af8-b805-a9f6a2b462e0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['ARB/MATIC',\n", + " 'CRETH2/WETH',\n", + " 'CRV/USDC',\n", + " 'DEXT/USDC',\n", + " 'HEX/WETH',\n", + " 'LINK/USDT',\n", + " 'WBTC/USDC',\n", + " 'WBTC/WETH',\n", + " 'WETH/BNT',\n", + " 'WETH/USDT',\n", + " 'rETH/WBTC',\n", + " 'rETH/WETH',\n", + " 'vBNT/BNT']" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "itmcarb_pairs = sorted({x[0] for x in tuple(itmcarbdf.index)})\n", + "itmcarb_pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "f0af3450-f3e0-448c-a4f4-770bae46a86d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'pair': 'ARB/MATIC',\n", + " 'exchange': 'carbon_v1',\n", + " 'cid0': '806240-1',\n", + " 'price': 1.4285714285714268,\n", + " 'vl': 141.80602335295742,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-ARB @ 1.43 MATIC per ARB'},\n", + " {'pair': 'CRETH2/WETH',\n", + " 'exchange': 'carbon_v1',\n", + " 'cid0': '092712-1',\n", + " 'price': 0.990099009900981,\n", + " 'vl': 6.029912872749975,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-CRETH2 @ 0.99 WETH per CRETH2'}]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "itmcarb_pos = itmcarbdf.reset_index().to_dict(orient=\"records\")\n", + "itmcarb_pos[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "a4fa6564-4827-4152-84e5-90bfcb3e45f3", + "metadata": {}, + "outputs": [], + "source": [ + "itmcarb_pos_bypair = {\n", + " pair: [x for x in itmcarb_pos if x[\"pair\"] == pair]\n", + " for pair in itmcarb_pairs\n", + "}\n", + "#itmcarb_pos_bypair" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "e2cf30c4-82f8-4260-8b08-f27079142f54", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_pairs = [pair for pair, price in prices_by_pair.items() if price is None]\n", + "missing_pairs" + ] + }, + { + "cell_type": "markdown", + "id": "9725e9ce-3a93-4155-ba6b-090a4c31ff4e", + "metadata": {}, + "source": [ + "### Convert summary data to Telegram" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "ac593f24-c444-42e3-b893-6c8c6830adc8", + "metadata": {}, + "outputs": [], + "source": [ + "telegram_data = dict(\n", + " script_version = __SCRIPT_VERSION__, # version number of the script producing this record\n", + " script_version_dt = __SCRIPT_DATE__, # ditto date\n", + " time_ts = int(now.timestamp()), # timestamp (epoch)\n", + " time_iso = now.isoformat().split('.')[0], # timestap (iso format)\n", + " prices_usd = token_prices_usd, # token prices (usd)\n", + " pairs0 = pairs_df.to_dict(orient=\"index\"), # carbon pairs and other pairs count \n", + " pairs = list(pairs), # all carbon pairs\n", + " pairs_n = len(pairs), # ...number\n", + " curves_n = len(CCc1), # number of Carbon curves\n", + " itm_pairs = itmcarb_pairs, # pairs that have curves in the money (list)\n", + " itm_pairs_n = len(itmcarb_pairs), # ...number\n", + " itm_pos = itmcarb_pos, # carbon and reference positions that are in the money (list)\n", + " itm_pos_n = len(itmcarb_pos), # ...number\n", + " all_pos_bp = carbon_by_pair, # all carbon and reference positions by pair (dict->list)\n", + " all_pos_bp_n = len(carbon_by_pair), # ...number\n", + " other_pos_bp = other_by_pair, # all other positions (dict->list)\n", + " other_pos_bp_n = len(other_by_pair), # ...number\n", + " itm_pos_bypair = itmcarb_pos_bypair, # ditto, but dict[pair] -> list\n", + " missing_pairs = missing_pairs, # missing pairs\n", + " missing_pairs_n = len(missing_pairs), # ...number\n", + " removed_curves = list(exclusions), # curves that have been explicitly removed\n", + " removed_curves_n = len(exclusions), # ...number\n", + " removed_tokens = list(REMOVED_TOKENS), # removed tokens\n", + " removed_tokens_n = len(REMOVED_TOKENS), # ...number\n", + " out_by_pair = out_by_pair # output by pair\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "9d901efd-502f-4100-ba21-64e321c52af6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "===============================================\n", + "ARBITRAGE RUN @ 2023-05-26T09:31:01Z\n", + "===============================================\n", + "Removed tokens: 2\n", + "Total pairs: 32\n", + "Missing pairs: 0\n", + "Removed curves: 1\n", + "In-the-money pairs: 13\n", + "Total curves: 99\n", + "In-the-money curves: 19\n", + "-----------------------------------------------\n", + "PAIR CID VLOCK ARBPC VAL\n", + "-----------------------------------------------\n", + "ARB/MATIC 806240-1 162 11.3% 18\n", + "CRETH2/WETH 092712-1 2 0\n", + "CRV/USDC 612490-0 1 6.8% 0\n", + "DEXT/USDC 669784-0 1 12.6% 0\n", + "HEX/WETH 881242-0 3 64.0% 2\n", + "LINK/USDT 960408-0 0 8.6% 0\n", + "WBTC/USDC 537493-0 482 1.9% 9\n", + "WBTC/WETH 709391-0 1,076 1.1% 12\n", + "WETH/BNT 326076-0 5 6.2% 0\n", + "WETH/USDT 691656-0 5 4.0% 0\n", + "rETH/WBTC 727077-0 2 2.7% 0\n", + "rETH/WETH 903202-1 510 0.8% 4\n", + "rETH/WETH 903202-0 486 0.2% 1\n", + "rETH/WETH 903200-1 1,815 0.3% 5\n", + "rETH/WETH 903213-0 0 3.1% 0\n", + "vBNT/BNT 748976-0 105 1.3% 1\n", + "vBNT/BNT 748977-1 101 10.9% 11\n", + "vBNT/BNT 749015-0 15,241 16.2% 2,469\n", + "vBNT/BNT 748990-0 0 17.6% 0\n", + "-----------------------------------------------\n", + "TOTAL 19,998 12.7% 2,534\n", + "===============================================\n", + "All numbers in USDC. Figures above are upper\n", + "bounds, not estimates. False positives are to\n", + "be expected, but not false negatives.\n", + "\n", + "\n" + ] + } + ], + "source": [ + "td = telegram_data\n", + "summary_data = dict()\n", + "s = \"\"\n", + "s += f\"=\"*47\n", + "s += f\"\\nARBITRAGE RUN @ {td['time_iso']}Z\\n\"\n", + "s += f\"=\"*47+\"\\n\"\n", + "s += f\"Removed tokens: {td['removed_tokens_n']:3}\\n\"\n", + "s += f\"Total pairs: {td['pairs_n']:3}\\n\"\n", + "s += f\"Missing pairs: {td['missing_pairs_n']:3}\\n\"\n", + "s += f\"Removed curves: {td['removed_curves_n']:3}\\n\"\n", + "s += f\"In-the-money pairs: {td['itm_pairs_n']:3}\\n\"\n", + "s += f\"Total curves: {td['curves_n']:3}\\n\"\n", + "s += f\"In-the-money curves: {td['itm_pos_n']:3}\\n\"\n", + "total_vl_usd = 0\n", + "total_arbval = 0\n", + "s += \"-----------------------------------------------\\n\"\n", + "s += \"PAIR CID VLOCK ARBPC VAL\\n\"\n", + "s += \"-----------------------------------------------\\n\"\n", + "for p in td['itm_pos']:\n", + " price_pair = prices_n_by_pair[p['pair']] or 0\n", + " price_pc0 = abs(price_pair/p['price']-1)\n", + " price_pc = f\"{price_pc0*100:8.1f}%\"\n", + " vl_token = p['pair'].split('/')[0].split(\"-\")[0]\n", + " vl_token_price = token_prices_usd.get(vl_token.upper())\n", + " vl_usd = p['vl']*vl_token_price\n", + " total_vl_usd += vl_usd\n", + " arbval = vl_usd * abs(price_pair/p['price']-1)\n", + " if price_pc.endswith(\"100.0%\"): \n", + " price_pc = \" \"\n", + " arbval = 0\n", + " total_arbval += arbval\n", + " d = dict(\n", + " pair = p['pair'],\n", + " cid0 = p[\"cid0\"],\n", + " vl_usd = vl_usd,\n", + " price_pc = price_pc0,\n", + " arbval = arbval,\n", + " price = price_pair,\n", + " )\n", + " summary_data[p[\"cid0\"]] = d\n", + " #print(d)\n", + " s += f\"{p['pair']:12} \"\n", + " s += f\"{p['cid0'][-8:]:8} \"\n", + " s += f\"{vl_usd:9,.0f}\"\n", + " s += f\"{price_pc} \"\n", + " s += f\"{arbval:6,.0f}\"\n", + " #s += f\"[{p['bsv']}; p={price_pair:,.2f}]\"\n", + " #s += f\"\\n{p}\"\n", + " s += \"\\n\"\n", + "s += \"-----------------------------------------------\\n\"\n", + "s += f\"TOTAL {total_vl_usd:25,.0f} {100*total_arbval/total_vl_usd:5.1f}% {total_arbval:6,.0F}\\n\"\n", + "s += \"===============================================\\n\"\n", + "s += \"\"\"\n", + "All numbers in USDC. Figures above are upper\n", + "bounds, not estimates. False positives are to\n", + "be expected, but not false negatives.\\n\n", + "\"\"\"[1:]\n", + "\n", + "telegram_data[\"summary_text\"] = s\n", + "telegram_data[\"summary_data\"] = summary_data\n", + "print()\n", + "print(s)" + ] + }, + { + "cell_type": "markdown", + "id": "45b23486-5d0f-41b4-a11a-c9c73833b429", + "metadata": {}, + "source": [ + "## Notifications" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c541d512-0c58-4f00-8327-3a33d3295b0c", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "a17e710e-0567-485c-a70c-11c35714eee8", + "metadata": {}, + "outputs": [], + "source": [ + "# data frame with arbitrage opportunities...\n", + "arbdf = pd.DataFrame.from_dict(summary_data.values())[[\"cid0\", \"arbval\"]].set_index(\"cid0\")\n", + "#arbdf" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "3e4802bc-2a97-4aa3-9d8c-cd4cadb59d68", + "metadata": {}, + "outputs": [], + "source": [ + "# ...and data frame of all tracked positions, arb or not...\n", + "ciddf = pd.DataFrame([[c.cid0 for c in CCc1],[0]*len(CCc1)], index=\"cid0,arbval\".split(\",\")).T.set_index(\"cid0\")\n", + "#ciddf" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "08d54d9a-51e1-45f1-ac32-73253845a8c5", + "metadata": {}, + "outputs": [], + "source": [ + "# ...combined into one dataframe (arb first)\n", + "notifdf = arbdf.combine_first(ciddf)\n", + "#notifdf" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "2e710b32-668a-4fd1-a15e-59c4bda2b0a9", + "metadata": {}, + "outputs": [], + "source": [ + "# read the dataframe of previous arb notification levels...\n", + "try:\n", + " notifcdf0 = pd.read_csv(\"Analysis_015.notifdf.csv\").set_index(\"cid0\")\n", + "except:\n", + " print(\"Creating new nofifdf\")\n", + " notifcdf0 = ciddf\n", + "notifcdf = notifcdf0.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "b5f4f2ac-a1cb-46ba-8d60-e7f58fc01524", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "arbval 2457.018289\n", + "arbval1 2457.018289\n", + "Name: 749015-0, dtype: float64" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "notifcdf0.loc[\"749015-0\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "8e4be254-c974-4f2e-93b7-a683bf022646", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "arbval 2457.018289\n", + "arbval1 2469.315562\n", + "Name: 749015-0, dtype: object" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# ...and augment it with current arb levels\n", + "notifcdf[\"arbval1\"] = notifdf[\"arbval\"]\n", + "notifcdf.loc[\"749015-0\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "2d88655f-d39d-42db-bcd3-71599d1955d3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
arbval
cid0
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [arbval]\n", + "Index: []" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# notification is due where level goes from < 50 to > 50\n", + "notifbreachdf = notifcdf.query(\"arbval1>=50 and arbval<50\")\n", + "notifbreachdf = notifbreachdf.drop(\"arbval\", axis=1).rename(columns={\"arbval1\": \"arbval\"})\n", + "notifbreachdf" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "cfd85c06-00f4-44f6-8f53-529e60ea0338", + "metadata": {}, + "outputs": [], + "source": [ + "# update the previous notifications df with the current notifications\n", + "notifndf = notifbreachdf.combine_first(notifcdf0)\n", + "notifndf.to_csv(\"Analysis_015.notifdf.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "381486cc-2d51-49a3-862f-8a9e211c285d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "arbval 2457.018289\n", + "arbval1 2457.018289\n", + "Name: 749015-0, dtype: float64" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "notifndf.loc[\"749015-0\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "2dd5dcc9-0c6a-4d33-b7d9-95fa838b7fd9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "''" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# create all new notifications\n", + "notif_str = \"\".join([\n", + " \"[{td[time_iso]}::{td[time_ts]}] |new| == {d}\\n\".format(\n", + " cid0=cid0, \n", + " td=td, \n", + " d = json.dumps(dict(\n", + " pair = summary_data[cid0][\"pair\"],\n", + " cid0=cid0,\n", + " arbval = x[\"arbval\"],\n", + " vl_usd = summary_data[cid0][\"vl_usd\"],\n", + " price = summary_data[cid0][\"price\"],\n", + " #sd = summary_data[cid0],\n", + " ))\n", + " )\n", + " for cid0, x in notifbreachdf.to_dict(orient=\"index\").items()\n", + "])\n", + "notif_str" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "6bb7a289-b36f-4dbf-9c67-2d44c8c0979e", + "metadata": {}, + "outputs": [], + "source": [ + "# print notifications (if any)\n", + "if notif_str:\n", + " s0 = f\"=\"*47\n", + " s0 += f\"\\nNOTICATIONS\\n\"\n", + " s0 += f\"=\"*47\n", + " print(s0)\n", + " print(notif_str)" + ] + }, + { + "cell_type": "markdown", + "id": "bdd2c60a-2f20-4bbb-b100-a7371898d5dc", + "metadata": {}, + "source": [ + "## Save some files" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "a5cc6b43-5ba2-4749-9670-e65f0730462c", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"Analysis_015.notifications\", \"a\") as f:\n", + " f.write(notif_str)" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "da6d3cc7-558b-4125-a2e4-75b0c12e5d05", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"Analysis_015.latest.out\", \"w\") as f:\n", + " f.write(telegram_data[\"summary_text\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "6ec2547a-7c94-4373-a2e1-dba23542dc20", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"Analysis_015.latest.json\", \"w\") as f:\n", + " f.write(json.dumps(telegram_data))" + ] + }, + { + "cell_type": "markdown", + "id": "cf5a440e-d6b5-469e-a418-65809baa9931", + "metadata": {}, + "source": [ + "## Review" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "7582c0cc-8f9e-448d-b6ab-6f120b722dec", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "#print(CCfull.bycids(endswith=\"612490-0\")[0].description())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba6bf181-2ecb-4780-9e91-d200a3db22b9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20e1855c-1a5c-448e-afd5-596e00caaa23", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aedcf6a1-e35e-4307-add7-a049c9183d85", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.py b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.py new file mode 100644 index 000000000..b91df96aa --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot-v35SKL.py @@ -0,0 +1,544 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +__SCRIPT_VERSION__ = "3.5" +__SCRIPT_DATE__ = "26/May/2023" + +from fastlane_bot.bot import CarbonBot as Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.cryptocompare import CryptoCompare +import requests +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +import pandas as pd +import datetime +import time +import json +from hashlib import md5 +from fastlane_bot import __VERSION__ + +# # Mainnet Arbitrage Monitoring Bot [A015 - v3.5SKL] +# _v3.5 SKL; contains changes on notifications and excluded curves_ + +cid = lambda pair: md5(pair.encode()).hexdigest() +cid("WETH-6Cc2/USDC-eB48") + +bot = Bot() +CCm = bot.get_curves() +fn = f"../data/A014-{int(time.time())}.csv.gz" +print (f"Saving curve data as {fn}") +CCm.asdf().to_csv(fn, compression = "gzip") + + +class TokenAddress(): + def __init__(self, db): + self._db = db + + def addr_from_ticker(self, ticker): + return self._db.get_token(key=ticker).address + a = addr_from_ticker + + def ticker_from_addr(self, addr): + raise NotImplemented() +TA = TokenAddress(bot.db) +TA.a("WETH-6Cc2") + +# #### Examining specific curves + +c = CCm.bycid0("7382-1")[0] +c + +c.p_min, c.p_max, c.p, 1/c.p_min, 1/c.p_max, 1/c.p + +cp = c.params +cp.pa, cp.pb, 1/cp.pa, 1/cp.pb + +print(c.description()) + +# ## Header and metadata + +now = datetime.datetime.now() +print("\n\n") +print("*"*100) +print("*"*100) +print(f"ARBITRAGE ANALYSIS RUN @ {now.isoformat().split('.')[0]}Z [{int(now.timestamp())}]") +print("*"*100) +print("*"*100) + +# ## Read curves + +# ### Read Carbon curves + +#CCm = CPCContainer.from_df(pd.read_csv("../data/A014-1684148163.csv.gz")) +CCc1_noexcl = CCm.byparams(exchange="carbon_v1") # all Carbon positions +CCnc1 = CCm.byparams(exchange="carbon_v1", _inv=True) # all non-Carbon positions + + +# #### Remove curves + +c = CCc1_noexcl.bycid0("749015-0")[0] +1/c.p_min, 1/c.p_max +c + +c.cid + +seven_days_from_now = int(now.timestamp())+60*60*24*7 +seven_days_from_now + +exclusions0 = { + '1701411834604692317316873037158841057386-1': 1685428434, # very wide USDC-ETH curve; 23/May + '4423670769972200025023869896612986749015-0': 1685082834, # vBNT +} + +exclusions = {cid for cid, ts in exclusions0.items() if now.timestamp() < ts} + +CCc1 = CCc1_noexcl.bycids(exclude=exclusions) +len(CCc1_noexcl), len(CCc1) + +print("\n\n"+"="*100) +print("REMOVED CURVES") +print("="*100) +for cid_ in exclusions: + print(f"{cid_} [for {(exclusions0[cid_]-now.timestamp())/(60*60*24):3.1f} days more]") + +# #### Create analyzer and pairs + +CAc1 = CPCAnalyzer(CCc1) +pairs = CAc1.pairsc() + +# ### Read prices and create proxy curves + +# #### Preparations + +tokens0 = CAc1.tokens() +tokens0 + +print("\n\n"+"="*100) +print("REMOVED TOKENS") +print("="*100) + +REMOVED_TOKENS = {"0x0-1AD5", "LBR-aCcA"} +print(REMOVED_TOKENS) + +tokens = tokens0 - REMOVED_TOKENS +pairs = CAc1.CC.filter_pairs(bothin=tokens) +tokens_addr = {tkn: TA.a(tkn) for tkn in tokens} +tokens_addrr = {v.lower():k for k,v in tokens_addr.items()} +print("\n\n"+"="*100) +print("TOKEN ADDRESSES") +print("="*100) +for k,v in tokens_addr.items(): + print(f"{k:20} {v}") +tokens_addr, tokens_addrr + + +# #### CryptoCompare + +tokens_cc = [Pair.n(x) for x in tokens] +tokens_cc + +token_prices_usd_cc = CryptoCompare(apikey=True, verbose=False).query_tokens(tokens_cc) +token_prices_usd_cc + +missing_cc = set(tokens_cc) - set(token_prices_usd_cc) +missing_cc + +# + +token_prices_usd = token_prices_usd_cc +P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()] +def P(pair): + try: + return P0(*Pair.n(pair).split("/")) + except KeyError: + return None + +prices_by_pair = {pair: P(pair) for pair in pairs} +prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()} +print("\n\n"+"="*100) +print("PRICES BY PAIR (CRYPTOCOMPARE)") +print("="*100) +for k,v in prices_n_by_pair.items(): + if not v is None: + print(f"{k:20} {v:20,.6f}") + else: + print(f"{k:20} ---") +# - + +proxy_curves_cc = [ + CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+"CG"), params=dict(exchange="ccomp")) + for pair, price in prices_by_pair.items() if not price is None +] +#proxy_curves_cc + + +cid + +# #### CoinGecko + +addr_s = ",".join(x for x in tokens_addr.values()) +url = "https://api.coingecko.com/api/v3/simple/token_price/ethereum" +params = dict(contract_addresses=addr_s, vs_currencies="usd") +r = requests.get(url, params=params) +token_prices_usd_cg_raw = {tokens_addrr[k]: v["usd"] for k,v in r.json().items()} +token_prices_usd_cg = {Pair.n(tokens_addrr[k]).upper(): v["usd"] for k,v in r.json().items()} +token_prices_usd_cg_raw + +missing_cg = set(tokens_addr) - set(token_prices_usd_cg_raw) +missing_cg + +# + +token_prices_usd = token_prices_usd_cg +P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()] +def P(pair): + try: + return P0(*Pair.n(pair).split("/")) + except KeyError: + return None + +prices_by_pair = {pair: P(pair) for pair in pairs} +prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()} +print("\n\n"+"="*100) +print("PRICES BY PAIR (COINGECKO)") +print("="*100) +for k,v in prices_n_by_pair.items(): + if not v is None: + print(f"{k:20} {v:20,.6f}") + else: + print(f"{k:20} ---") +# - + +proxy_curves_cg = [ + CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+"CG"), params=dict(exchange="cgecko")) + for pair, price in prices_by_pair.items() if not price is None +] +#proxy_curves_cg + + +# #### Assembly + +# CCother = CCu3.bypairs(CCc1.pairs()) +CCcg = CPCContainer(proxy_curves_cg) +CCcc = CPCContainer(proxy_curves_cc) +CCfull = CCc1.copy().add(CCcg).add(CCcc) +#CAother = CPCAnalyzer(CCother) +CAfull = CPCAnalyzer(CCfull) +CAnc1 = CPCAnalyzer(CCnc1) +print(f"CAfull: {len(CAfull.CC):4} entries") +print(f"CAnc1: {len(CAnc1.CC):4} entries") + +# ## By-pair data for Carbon + +# ### Count by pairs + +dfc1 = CAc1.count_by_pairs().rename(columns=dict(count="carbon")).astype(str) +dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count="other")).astype(str) +print("\n\n"+"="*100) +print("AVAILABLE PAIRS (CARBON AND OTHER)") +print("="*100) +df = pd.concat([dfc1, dfnc1], axis=1).fillna("").sort_index() +print(df) +pairs_df = df +#df + +dfc1 = CAc1.count_by_pairs().rename(columns=dict(count="carbon")).astype(str) +dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count="other")).astype(str) +print("\n\n"+"="*100) +print("CARBON PAIRS NOT MATCHED") +print("="*100) +print(df[df["other"]==""]) + +dfc1 = CAc1.count_by_pairs().rename(columns=dict(count="carbon")).astype(str) +dfnc1 = CAnc1.count_by_pairs().rename(columns=dict(count="other")).astype(str) +print("\n\n"+"="*100) +print("OTHER PAIRS WITH NO CARBON") +print("="*100) +print(df[df["carbon"]==""]) + +print("\n\n CARBON CGECKO CCOMP") +print(f"Pairs: {len(pairs):4} {len(CCcg.pairs()):7} {len(CCcc.pairs()):7}") +print(f"Tokens: {len(tokens):4} {len(CCcg.tokens()):7} {len(CCcc.tokens()):7}") +print(f"Curves: {len(CAc1.CC):4} {len(CCcg):7} {len(CCcc):7}") + +# ### Calculate by-pair statistics + +print("\n\n") +print("*"*100) +print(f"BY-PAIR DATA") +print("*"*100) + +pasdf = CAfull.pool_arbitrage_statistics() +pasnc1df = CAnc1.pool_arbitrage_statistics(only_pairs_with_carbon=False) + + +# ### Print by-pair statistics + +# + +def prints(*x): + global s + s += " ".join([str(x_) for x_ in x]) + s += "\n" +out_by_pair = dict() +carbon_by_pair = dict() +other_by_pair = dict() + +for pair in list(pairs): + s = "" + prints("\n\n"+"="*100) + prints(f"Pair = {pair}") + prints("="*100) + df = pasdf.loc[Pair.n(pair)] + try: + nc1df = pasnc1df.loc[Pair.n(pair)] + except: + nc1df = pd.DataFrame() + hasproxydata = len(df.reset_index()[df.reset_index()["exchange"]=="cgecko"])>0 + if hasproxydata: + prints("\n--- ALL CARBON AND REFERENCE POSITIONS ---") + prints(df.to_string()) + carbon_by_pair[pair] = [[k,v] for k,v in df.to_dict(orient="index").items()] + prints("\n--- IN-THE-MONEY POSITIONS ---") + dfitm = df[df["itm"]=="x"] + if len(dfitm) > 0: + prints(dfitm.to_string()) + else: + prints("-None-") + prints("\n--- ALL NON-CARBON POSITIONS ---") + if len(nc1df) > 0: + prints(nc1df.to_string()) + else: + prints("-None-") + other_by_pair[pair] = [[k,v] for k,v in nc1df.to_dict(orient="index").items()] + + else: + prints("\n--- NO PRICE DATA AVAILABLE ---") + + out_by_pair[pair] = s + print(s) + +# - + +# ## Summary data + +print("\n\n") +print("*"*100) +print(f"SUMMARY DATA") +print("*"*100) + +# ### Create summary data + +itmcarbdf = pasdf.query("exchange == 'carbon_v1'").query("itm == 'x'") + +itmcarb_pairs = sorted({x[0] for x in tuple(itmcarbdf.index)}) +itmcarb_pairs + +itmcarb_pos = itmcarbdf.reset_index().to_dict(orient="records") +itmcarb_pos[:2] + +itmcarb_pos_bypair = { + pair: [x for x in itmcarb_pos if x["pair"] == pair] + for pair in itmcarb_pairs +} +#itmcarb_pos_bypair + +missing_pairs = [pair for pair, price in prices_by_pair.items() if price is None] +missing_pairs + +# ### Convert summary data to Telegram + +telegram_data = dict( + script_version = __SCRIPT_VERSION__, # version number of the script producing this record + script_version_dt = __SCRIPT_DATE__, # ditto date + time_ts = int(now.timestamp()), # timestamp (epoch) + time_iso = now.isoformat().split('.')[0], # timestap (iso format) + prices_usd = token_prices_usd, # token prices (usd) + pairs0 = pairs_df.to_dict(orient="index"), # carbon pairs and other pairs count + pairs = list(pairs), # all carbon pairs + pairs_n = len(pairs), # ...number + curves_n = len(CCc1), # number of Carbon curves + itm_pairs = itmcarb_pairs, # pairs that have curves in the money (list) + itm_pairs_n = len(itmcarb_pairs), # ...number + itm_pos = itmcarb_pos, # carbon and reference positions that are in the money (list) + itm_pos_n = len(itmcarb_pos), # ...number + all_pos_bp = carbon_by_pair, # all carbon and reference positions by pair (dict->list) + all_pos_bp_n = len(carbon_by_pair), # ...number + other_pos_bp = other_by_pair, # all other positions (dict->list) + other_pos_bp_n = len(other_by_pair), # ...number + itm_pos_bypair = itmcarb_pos_bypair, # ditto, but dict[pair] -> list + missing_pairs = missing_pairs, # missing pairs + missing_pairs_n = len(missing_pairs), # ...number + removed_curves = list(exclusions), # curves that have been explicitly removed + removed_curves_n = len(exclusions), # ...number + removed_tokens = list(REMOVED_TOKENS), # removed tokens + removed_tokens_n = len(REMOVED_TOKENS), # ...number + out_by_pair = out_by_pair # output by pair +) + +# + +td = telegram_data +summary_data = dict() +s = "" +s += f"="*47 +s += f"\nARBITRAGE RUN @ {td['time_iso']}Z\n" +s += f"="*47+"\n" +s += f"Removed tokens: {td['removed_tokens_n']:3}\n" +s += f"Total pairs: {td['pairs_n']:3}\n" +s += f"Missing pairs: {td['missing_pairs_n']:3}\n" +s += f"Removed curves: {td['removed_curves_n']:3}\n" +s += f"In-the-money pairs: {td['itm_pairs_n']:3}\n" +s += f"Total curves: {td['curves_n']:3}\n" +s += f"In-the-money curves: {td['itm_pos_n']:3}\n" +total_vl_usd = 0 +total_arbval = 0 +s += "-----------------------------------------------\n" +s += "PAIR CID VLOCK ARBPC VAL\n" +s += "-----------------------------------------------\n" +for p in td['itm_pos']: + price_pair = prices_n_by_pair[p['pair']] or 0 + price_pc0 = abs(price_pair/p['price']-1) + price_pc = f"{price_pc0*100:8.1f}%" + vl_token = p['pair'].split('/')[0].split("-")[0] + vl_token_price = token_prices_usd.get(vl_token.upper()) + vl_usd = p['vl']*vl_token_price + total_vl_usd += vl_usd + arbval = vl_usd * abs(price_pair/p['price']-1) + if price_pc.endswith("100.0%"): + price_pc = " " + arbval = 0 + total_arbval += arbval + d = dict( + pair = p['pair'], + cid0 = p["cid0"], + vl_usd = vl_usd, + price_pc = price_pc0, + arbval = arbval, + price = price_pair, + ) + summary_data[p["cid0"]] = d + #print(d) + s += f"{p['pair']:12} " + s += f"{p['cid0'][-8:]:8} " + s += f"{vl_usd:9,.0f}" + s += f"{price_pc} " + s += f"{arbval:6,.0f}" + #s += f"[{p['bsv']}; p={price_pair:,.2f}]" + #s += f"\n{p}" + s += "\n" +s += "-----------------------------------------------\n" +s += f"TOTAL {total_vl_usd:25,.0f} {100*total_arbval/total_vl_usd:5.1f}% {total_arbval:6,.0F}\n" +s += "===============================================\n" +s += """ +All numbers in USDC. Figures above are upper +bounds, not estimates. False positives are to +be expected, but not false negatives.\n +"""[1:] + +telegram_data["summary_text"] = s +telegram_data["summary_data"] = summary_data +print() +print(s) +# - + +# ## Notifications + + + +# data frame with arbitrage opportunities... +arbdf = pd.DataFrame.from_dict(summary_data.values())[["cid0", "arbval"]].set_index("cid0") +#arbdf + +# ...and data frame of all tracked positions, arb or not... +ciddf = pd.DataFrame([[c.cid0 for c in CCc1],[0]*len(CCc1)], index="cid0,arbval".split(",")).T.set_index("cid0") +#ciddf + +# ...combined into one dataframe (arb first) +notifdf = arbdf.combine_first(ciddf) +#notifdf + +# read the dataframe of previous arb notification levels... +try: + notifcdf0 = pd.read_csv("Analysis_015.notifdf.csv").set_index("cid0") +except: + print("Creating new nofifdf") + notifcdf0 = ciddf +notifcdf = notifcdf0.copy() + +notifcdf0.loc["749015-0"] + +# ...and augment it with current arb levels +notifcdf["arbval1"] = notifdf["arbval"] +notifcdf.loc["749015-0"] + +# notification is due where level goes from < 50 to > 50 +notifbreachdf = notifcdf.query("arbval1>=50 and arbval<50") +notifbreachdf = notifbreachdf.drop("arbval", axis=1).rename(columns={"arbval1": "arbval"}) +notifbreachdf + +# update the previous notifications df with the current notifications +notifndf = notifbreachdf.combine_first(notifcdf0) +notifndf.to_csv("Analysis_015.notifdf.csv") + +notifndf.loc["749015-0"] + +# create all new notifications +notif_str = "".join([ + "[{td[time_iso]}::{td[time_ts]}] |new| == {d}\n".format( + cid0=cid0, + td=td, + d = json.dumps(dict( + pair = summary_data[cid0]["pair"], + cid0=cid0, + arbval = x["arbval"], + vl_usd = summary_data[cid0]["vl_usd"], + price = summary_data[cid0]["price"], + #sd = summary_data[cid0], + )) + ) + for cid0, x in notifbreachdf.to_dict(orient="index").items() +]) +notif_str + +# print notifications (if any) +if notif_str: + s0 = f"="*47 + s0 += f"\nNOTICATIONS\n" + s0 += f"="*47 + print(s0) + print(notif_str) + +# ## Save some files + +with open("Analysis_015.notifications", "a") as f: + f.write(notif_str) + +with open("Analysis_015.latest.out", "w") as f: + f.write(telegram_data["summary_text"]) + +with open("Analysis_015.latest.json", "w") as f: + f.write(json.dumps(telegram_data)) + +# ## Review + +# + +#print(CCfull.bycids(endswith="612490-0")[0].description()) +# - + + + + + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.ipynb b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.ipynb new file mode 100644 index 000000000..d8fb7b14e --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.ipynb @@ -0,0 +1,2930 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 64, + "id": "6e592dd0-4905-45bd-8ba2-e2072437e13c", + "metadata": {}, + "outputs": [], + "source": [ + "__SCRIPT_VERSION__ = \"3.0\"\n", + "__SCRIPT_DATE__ = \"18/May/2023\"" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "8f04c50a-67fe-4f09-822d-6ed6e3ac43e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CarbonBot v3-b2.1 (03/May/2023)\n", + "ConstantProductCurve v2.13 (15/May/2023)\n", + "CPCAnalyzer v1.5 (18/May/2023)\n" + ] + } + ], + "source": [ + "from fastlane_bot.bot import CarbonBot as Bot\n", + "from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair\n", + "from fastlane_bot.tools.analyzer import CPCAnalyzer\n", + "from fastlane_bot.tools.cryptocompare import CryptoCompare\n", + "import requests\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(Bot))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPC))\n", + "print(\"{0.__name__} v{0.__VERSION__} ({0.__DATE__})\".format(CPCAnalyzer))\n", + "import pandas as pd\n", + "import datetime\n", + "import time\n", + "import json\n", + "from hashlib import md5\n", + "from fastlane_bot import __VERSION__" + ] + }, + { + "cell_type": "markdown", + "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", + "metadata": {}, + "source": [ + "# Mainnet Arbitrage Monitoring Bot [A015]" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "bafbd22f-ba89-4f82-b2b0-0ed6cba53064", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'ead90114986e463b0157c49422d8d465'" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cid = lambda pair: md5(pair.encode()).hexdigest()\n", + "cid(\"WETH-6Cc2/USDC-eB48\")" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "882a9917-298c-48a7-9c67-d78bc7e5cafa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving as ../data/A014-1684432582.csv.gz\n" + ] + } + ], + "source": [ + "bot = Bot()\n", + "CCm = bot.get_curves()\n", + "fn = f\"../data/A014-{int(time.time())}.csv.gz\"\n", + "print (f\"Saving as {fn}\")\n", + "CCm.asdf().to_csv(fn, compression = \"gzip\")" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "e0f8793b-456c-4b88-ba01-ff31b46e8023", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class TokenAddress():\n", + " def __init__(self, db):\n", + " self._db = db\n", + " \n", + " def addr_from_ticker(self, ticker):\n", + " return self._db.get_token(key=ticker).address\n", + " a = addr_from_ticker\n", + " \n", + " def ticker_from_addr(self, addr):\n", + " raise NotImplemented()\n", + "TA = TokenAddress(bot.db) \n", + "TA.a(\"WETH-6Cc2\")" + ] + }, + { + "cell_type": "markdown", + "id": "bae1c0be-ff42-4cb5-9045-f65c6ad98b24", + "metadata": {}, + "source": [ + "## Header and metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "736ea88d-676c-4aca-a0d6-442d071588c0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "****************************************************************************************************\n", + "ARBITRAGE ANALYSIS RUN @ 2023-05-18T18:56:22Z [1684432582]\n", + "****************************************************************************************************\n" + ] + } + ], + "source": [ + "now = datetime.datetime.now()\n", + "print(\"*\"*100)\n", + "print(f\"ARBITRAGE ANALYSIS RUN @ {now.isoformat().split('.')[0]}Z [{int(now.timestamp())}]\")\n", + "print(\"*\"*100)" + ] + }, + { + "cell_type": "markdown", + "id": "1e107912-43f1-4700-b88a-d3026af07000", + "metadata": {}, + "source": [ + "## Read curves" + ] + }, + { + "cell_type": "markdown", + "id": "0f3b8b84-0ee3-4e6a-95fe-ad249d4a9b8d", + "metadata": {}, + "source": [ + "### Read Carbon curves" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "1cf6de0d-a389-4a12-af78-9d33dd0258a3", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "#CCm = CPCContainer.from_df(pd.read_csv(\"../data/A014-1684148163.csv.gz\"))\n", + "# CCu3 = CCm.byparams(exchange=\"uniswap_v3\")\n", + "# CCu2 = CCm.byparams(exchange=\"uniswap_v2\")\n", + "# CCs2 = CCm.byparams(exchange=\"sushiswap_v2\")\n", + "CCc1 = CCm.byparams(exchange=\"carbon_v1\") # all Carbon positions\n", + "CCnc1 = CCm.byparams(exchange=\"carbon_v1\", _inv=True) # all non-Carbon positions\n", + "# tc_u3 = CCu3.token_count(asdict=True)\n", + "# tc_u2 = CCu2.token_count(asdict=True)\n", + "# tc_s2 = CCs2.token_count(asdict=True)\n", + "# tc_c1 = CCc1.token_count(asdict=True)\n", + "# CAm = CPCAnalyzer(CCm)\n", + "CAc1 = CPCAnalyzer(CCc1)\n", + "pairs = CAc1.pairsc()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "3670d610-cbbd-4073-9ff9-550d3a3b67ee", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on method byparams in module fastlane_bot.tools.cpc:\n", + "\n", + "byparams(*, _asgenerator=None, _ascc=None, _inv=False, **params) method of fastlane_bot.tools.cpc.CPCContainer instance\n", + " returns all curves by params (as tuple, generator or CC object)\n", + " \n", + " :_inv: if True, returns all curves that do NOT match the params\n", + " :params: keyword arguments in the form param=value\n", + " :returns: tuple, generator or container object (default)\n", + "\n" + ] + } + ], + "source": [ + "help(CCm.byparams)" + ] + }, + { + "cell_type": "markdown", + "id": "485ebdf6-8515-47f3-92e8-e8df9e5d0635", + "metadata": {}, + "source": [ + "now = datetime.datetime.now()\n", + "int(now.timestamp()), now.isoformat()## Print heading" + ] + }, + { + "cell_type": "markdown", + "id": "f4cd5b56-e5a5-4a35-95d4-1671e6be5d46", + "metadata": {}, + "source": [ + "### Read prices and create proxy curves" + ] + }, + { + "cell_type": "markdown", + "id": "53dbc356-48a9-4d6a-b10a-3683331a38a4", + "metadata": {}, + "source": [ + "#### Preparations" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "dec9f209-6ffb-423f-ba0f-92ed84d4e80c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'0x0-1AD5',\n", + " 'ARB-4ad1',\n", + " 'BNT-FF1C',\n", + " 'CRV-cd52',\n", + " 'DAI-1d0F',\n", + " 'DEXT-C75a',\n", + " 'ETH2x_FLI-65BD',\n", + " 'LBR-aCcA',\n", + " 'LINK-86CA',\n", + " 'LYXe-be6D',\n", + " 'MATIC-eBB0',\n", + " 'PEPE-1933',\n", + " 'RPL-A51f',\n", + " 'SMT-7173',\n", + " 'TSUKA-69eD',\n", + " 'USDC-eB48',\n", + " 'USDT-1ec7',\n", + " 'WBTC-C599',\n", + " 'WETH-6Cc2',\n", + " 'XCHF-fc08',\n", + " 'eRSDL-D3A6',\n", + " 'stETH-fE84',\n", + " 'vBNT-7f94'}" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens0 = CAc1.tokens()\n", + "tokens0" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "0337543f-733c-4197-a30b-d165fe73b9b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "REMOVED TOKENS\n", + "====================================================================================================\n" + ] + } + ], + "source": [ + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"REMOVED TOKENS\")\n", + "print(\"=\"*100)" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "a2a9cfc5-f1ff-4d47-a81d-0f4fdc69c88d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0x0-1AD5', 'LBR-aCcA'}\n" + ] + } + ], + "source": [ + "REMOVED_TOKENS = {\"0x0-1AD5\", \"LBR-aCcA\"}\n", + "print(REMOVED_TOKENS)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "d7e8efc8-eb5a-45fd-ac73-9f3f1cc1c44b", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "TOKEN ADDRESSES\n", + "====================================================================================================\n", + "ARB-4ad1 0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1\n", + "BNT-FF1C 0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C\n", + "stETH-fE84 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84\n", + "PEPE-1933 0x6982508145454Ce325dDbE47a25d4ec3d2311933\n", + "WETH-6Cc2 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2\n", + "XCHF-fc08 0xB4272071eCAdd69d933AdcD19cA99fe80664fc08\n", + "MATIC-eBB0 0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0\n", + "WBTC-C599 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\n", + "CRV-cd52 0xD533a949740bb3306d119CC777fa900bA034cd52\n", + "LINK-86CA 0x514910771AF9Ca656af840dff83E8264EcF986CA\n", + "ETH2x_FLI-65BD 0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD\n", + "TSUKA-69eD 0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD\n", + "eRSDL-D3A6 0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6\n", + "USDC-eB48 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\n", + "LYXe-be6D 0xA8b919680258d369114910511cc87595aec0be6D\n", + "USDT-1ec7 0xdAC17F958D2ee523a2206206994597C13D831ec7\n", + "DAI-1d0F 0x6B175474E89094C44Da98b954EedeAC495271d0F\n", + "vBNT-7f94 0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94\n", + "SMT-7173 0xB17548c7B510427baAc4e267BEa62e800b247173\n", + "DEXT-C75a 0xfB7B4564402E5500dB5bB6d63Ae671302777C75a\n", + "RPL-A51f 0xD33526068D116cE69F19A9ee46F0bd304F21A51f\n" + ] + }, + { + "data": { + "text/plain": [ + "({'ARB-4ad1': '0xB50721BCf8d664c30412Cfbc6cf7a15145234ad1',\n", + " 'BNT-FF1C': '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C',\n", + " 'stETH-fE84': '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84',\n", + " 'PEPE-1933': '0x6982508145454Ce325dDbE47a25d4ec3d2311933',\n", + " 'WETH-6Cc2': '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',\n", + " 'XCHF-fc08': '0xB4272071eCAdd69d933AdcD19cA99fe80664fc08',\n", + " 'MATIC-eBB0': '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0',\n", + " 'WBTC-C599': '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',\n", + " 'CRV-cd52': '0xD533a949740bb3306d119CC777fa900bA034cd52',\n", + " 'LINK-86CA': '0x514910771AF9Ca656af840dff83E8264EcF986CA',\n", + " 'ETH2x_FLI-65BD': '0xAa6E8127831c9DE45ae56bB1b0d4D4Da6e5665BD',\n", + " 'TSUKA-69eD': '0xc5fB36dd2fb59d3B98dEfF88425a3F425Ee469eD',\n", + " 'eRSDL-D3A6': '0x5218E472cFCFE0b64A064F055B43b4cdC9EfD3A6',\n", + " 'USDC-eB48': '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',\n", + " 'LYXe-be6D': '0xA8b919680258d369114910511cc87595aec0be6D',\n", + " 'USDT-1ec7': '0xdAC17F958D2ee523a2206206994597C13D831ec7',\n", + " 'DAI-1d0F': '0x6B175474E89094C44Da98b954EedeAC495271d0F',\n", + " 'vBNT-7f94': '0x48Fb253446873234F2fEBbF9BdeAA72d9d387f94',\n", + " 'SMT-7173': '0xB17548c7B510427baAc4e267BEa62e800b247173',\n", + " 'DEXT-C75a': '0xfB7B4564402E5500dB5bB6d63Ae671302777C75a',\n", + " 'RPL-A51f': '0xD33526068D116cE69F19A9ee46F0bd304F21A51f'},\n", + " {'0xb50721bcf8d664c30412cfbc6cf7a15145234ad1': 'ARB-4ad1',\n", + " '0x1f573d6fb3f13d689ff844b4ce37794d79a7ff1c': 'BNT-FF1C',\n", + " '0xae7ab96520de3a18e5e111b5eaab095312d7fe84': 'stETH-fE84',\n", + " '0x6982508145454ce325ddbe47a25d4ec3d2311933': 'PEPE-1933',\n", + " '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': 'WETH-6Cc2',\n", + " '0xb4272071ecadd69d933adcd19ca99fe80664fc08': 'XCHF-fc08',\n", + " '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0': 'MATIC-eBB0',\n", + " '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599': 'WBTC-C599',\n", + " '0xd533a949740bb3306d119cc777fa900ba034cd52': 'CRV-cd52',\n", + " '0x514910771af9ca656af840dff83e8264ecf986ca': 'LINK-86CA',\n", + " '0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd': 'ETH2x_FLI-65BD',\n", + " '0xc5fb36dd2fb59d3b98deff88425a3f425ee469ed': 'TSUKA-69eD',\n", + " '0x5218e472cfcfe0b64a064f055b43b4cdc9efd3a6': 'eRSDL-D3A6',\n", + " '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48': 'USDC-eB48',\n", + " '0xa8b919680258d369114910511cc87595aec0be6d': 'LYXe-be6D',\n", + " '0xdac17f958d2ee523a2206206994597c13d831ec7': 'USDT-1ec7',\n", + " '0x6b175474e89094c44da98b954eedeac495271d0f': 'DAI-1d0F',\n", + " '0x48fb253446873234f2febbf9bdeaa72d9d387f94': 'vBNT-7f94',\n", + " '0xb17548c7b510427baac4e267bea62e800b247173': 'SMT-7173',\n", + " '0xfb7b4564402e5500db5bb6d63ae671302777c75a': 'DEXT-C75a',\n", + " '0xd33526068d116ce69f19a9ee46f0bd304f21a51f': 'RPL-A51f'})" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens = tokens0 - REMOVED_TOKENS\n", + "pairs = CAc1.CC.filter_pairs(bothin=tokens)\n", + "tokens_addr = {tkn: TA.a(tkn) for tkn in tokens}\n", + "tokens_addrr = {v.lower():k for k,v in tokens_addr.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"TOKEN ADDRESSES\")\n", + "print(\"=\"*100)\n", + "for k,v in tokens_addr.items():\n", + " print(f\"{k:20} {v}\")\n", + "tokens_addr, tokens_addrr" + ] + }, + { + "cell_type": "markdown", + "id": "47e691ba-8a93-4dbe-825f-9caca9999b13", + "metadata": {}, + "source": [ + "#### CryptoCompare" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "debec7f5-3f77-440e-b381-30e49664492c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['ARB',\n", + " 'BNT',\n", + " 'stETH',\n", + " 'PEPE',\n", + " 'WETH',\n", + " 'XCHF',\n", + " 'MATIC',\n", + " 'WBTC',\n", + " 'CRV',\n", + " 'LINK',\n", + " 'ETH2x_FLI',\n", + " 'TSUKA',\n", + " 'eRSDL',\n", + " 'USDC',\n", + " 'LYXe',\n", + " 'USDT',\n", + " 'DAI',\n", + " 'vBNT',\n", + " 'SMT',\n", + " 'DEXT',\n", + " 'RPL']" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tokens_cc = [Pair.n(x) for x in tokens]\n", + "tokens_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "c7cdc322-bbf8-4d9f-94bd-12738671ee68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'ARB': 1.141,\n", + " 'BNT': 0.4153,\n", + " 'STETH': 1775.07,\n", + " 'PEPE': 1.52e-06,\n", + " 'WETH': 1793.64,\n", + " 'XCHF': 1.005,\n", + " 'MATIC': 0.8458,\n", + " 'WBTC': 26535.14,\n", + " 'CRV': 0.8017,\n", + " 'LINK': 6.497,\n", + " 'TSUKA': 0.05181,\n", + " 'ERSDL': 0.002422,\n", + " 'USDC': 1.0,\n", + " 'LYXE': 12.96,\n", + " 'USDT': 1.0,\n", + " 'DAI': 1.0,\n", + " 'SMT': 0.001012,\n", + " 'DEXT': 0.6141,\n", + " 'RPL': 48.79}" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "token_prices_usd_cc = CryptoCompare(apikey=True, verbose=False).query_tokens(tokens_cc)\n", + "token_prices_usd_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "9b756bb8-0d0b-4ef7-bd76-a206f839b53b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'ETH2x_FLI', 'LYXe', 'eRSDL', 'stETH', 'vBNT'}" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_cc = set(tokens_cc) - set(token_prices_usd_cc)\n", + "missing_cc" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "1203d254-e659-4f6f-b847-f4eaee94b3a8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "PRICES BY PAIR (CRYPTOCOMPARE)\n", + "====================================================================================================\n", + "WETH/USDT 1,793.640000\n", + "WBTC/WETH 14.794017\n", + "WBTC/USDC 26,535.140000\n", + "USDT/USDC 1.000000\n", + "ETH2x_FLI/WETH ---\n", + "SMT/WETH 0.000001\n", + "DEXT/USDC 0.614100\n", + "DAI/USDC 1.000000\n", + "vBNT/USDC ---\n", + "WETH/BNT 4,318.901999\n", + "ARB/MATIC 1.349019\n", + "LINK/USDC 6.497000\n", + "LINK/USDT 6.497000\n", + "BNT/USDC 0.415300\n", + "WBTC/USDT 26,535.140000\n", + "WETH/DAI 1,793.640000\n", + "CRV/USDC 0.801700\n", + "DAI/USDT 1.000000\n", + "RPL/XCHF 48.547264\n", + "vBNT/BNT ---\n", + "WETH/USDC 1,793.640000\n", + "PEPE/WETH 0.000000\n", + "LYXe/USDC 12.960000\n", + "eRSDL/WETH 0.000001\n", + "TSUKA/USDC 0.051810\n", + "stETH/WETH 0.989647\n" + ] + } + ], + "source": [ + "token_prices_usd = token_prices_usd_cc\n", + "P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()]\n", + "def P(pair):\n", + " try: \n", + " return P0(*Pair.n(pair).split(\"/\"))\n", + " except KeyError:\n", + " return None\n", + "\n", + "prices_by_pair = {pair: P(pair) for pair in pairs}\n", + "prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"PRICES BY PAIR (CRYPTOCOMPARE)\")\n", + "print(\"=\"*100)\n", + "for k,v in prices_n_by_pair.items():\n", + " if not v is None:\n", + " print(f\"{k:20} {v:20,.6f}\")\n", + " else:\n", + " print(f\"{k:20} ---\")" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "260716b4-1ffc-4031-881f-3b7ee9d8583a", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "proxy_curves_cc = [\n", + " CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+\"CG\"), params=dict(exchange=\"ccomp\")) \n", + " for pair, price in prices_by_pair.items() if not price is None\n", + "]\n", + "#proxy_curves_cc" + ] + }, + { + "cell_type": "markdown", + "id": "b28aeb40-2355-43cc-b58f-55c5b75f9762", + "metadata": {}, + "source": [ + "#### CoinGecko" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "30b2fba7-7a58-483f-8dec-c0723e673452", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'MATIC-eBB0': 0.850905,\n", + " 'DAI-1d0F': 0.998509,\n", + " 'TSUKA-69eD': 0.051898,\n", + " 'DEXT-C75a': 0.591853,\n", + " 'stETH-fE84': 1791.79,\n", + " 'LINK-86CA': 6.56,\n", + " 'LYXe-be6D': 13.12,\n", + " 'ARB-4ad1': 1.15,\n", + " 'SMT-7173': 0.075252,\n", + " 'eRSDL-D3A6': 0.00243755,\n", + " 'CRV-cd52': 0.809008,\n", + " 'USDT-1ec7': 0.997863,\n", + " 'PEPE-1933': 1.55e-06,\n", + " 'RPL-A51f': 48.8,\n", + " 'WETH-6Cc2': 1790.48,\n", + " 'XCHF-fc08': 1.11,\n", + " 'BNT-FF1C': 0.419064,\n", + " 'vBNT-7f94': 0.335932,\n", + " 'ETH2x_FLI-65BD': 11.72,\n", + " 'WBTC-C599': 26723,\n", + " 'USDC-eB48': 0.993973}" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "addr_s = \",\".join(x for x in tokens_addr.values())\n", + "url = \"https://api.coingecko.com/api/v3/simple/token_price/ethereum\"\n", + "params = dict(contract_addresses=addr_s, vs_currencies=\"usd\")\n", + "r = requests.get(url, params=params)\n", + "token_prices_usd_cg_raw = {tokens_addrr[k]: v[\"usd\"] for k,v in r.json().items()}\n", + "token_prices_usd_cg = {Pair.n(tokens_addrr[k]).upper(): v[\"usd\"] for k,v in r.json().items()}\n", + "token_prices_usd_cg_raw" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "d3acbe34-77f5-48ad-a13c-bf77237987b9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "set()" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_cg = set(tokens_addr) - set(token_prices_usd_cg_raw)\n", + "missing_cg" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "b9d754a9-1d90-4ca9-a642-82649c1d2ce9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "PRICES BY PAIR (COINGECKO)\n", + "====================================================================================================\n", + "WETH/USDT 1,794.314450\n", + "WBTC/WETH 14.925048\n", + "WBTC/USDC 26,885.036113\n", + "USDT/USDC 1.003914\n", + "ETH2x_FLI/WETH 0.006546\n", + "SMT/WETH 0.000042\n", + "DEXT/USDC 0.595442\n", + "DAI/USDC 1.004564\n", + "vBNT/USDC 0.337969\n", + "WETH/BNT 4,272.569345\n", + "ARB/MATIC 1.351502\n", + "LINK/USDC 6.599777\n", + "LINK/USDT 6.574049\n", + "BNT/USDC 0.421605\n", + "WBTC/USDT 26,780.229350\n", + "WETH/DAI 1,793.153592\n", + "CRV/USDC 0.813913\n", + "DAI/USDT 1.000647\n", + "RPL/XCHF 43.963964\n", + "vBNT/BNT 0.801625\n", + "WETH/USDC 1,801.336656\n", + "PEPE/WETH 0.000000\n", + "LYXe/USDC 13.199554\n", + "eRSDL/WETH 0.000001\n", + "TSUKA/USDC 0.052213\n", + "stETH/WETH 1.000732\n" + ] + } + ], + "source": [ + "token_prices_usd = token_prices_usd_cg\n", + "P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()]\n", + "def P(pair):\n", + " try: \n", + " return P0(*Pair.n(pair).split(\"/\"))\n", + " except KeyError:\n", + " return None\n", + "\n", + "prices_by_pair = {pair: P(pair) for pair in pairs}\n", + "prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()}\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"PRICES BY PAIR (COINGECKO)\")\n", + "print(\"=\"*100)\n", + "for k,v in prices_n_by_pair.items():\n", + " if not v is None:\n", + " print(f\"{k:20} {v:20,.6f}\")\n", + " else:\n", + " print(f\"{k:20} ---\")" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "7e45ffbf-0453-476f-b73e-2062c0d77d58", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "proxy_curves_cg = [\n", + " CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+\"CG\"), params=dict(exchange=\"cgecko\")) \n", + " for pair, price in prices_by_pair.items() if not price is None\n", + "]\n", + "#proxy_curves_cg" + ] + }, + { + "cell_type": "markdown", + "id": "b4afc6b7", + "metadata": {}, + "source": [ + "#### Assembly" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "b534465c-ee0e-42b4-a324-92c998db7761", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CAfull: 129 entries\n", + "CAnc1: 29 entries\n" + ] + } + ], + "source": [ + "# CCother = CCu3.bypairs(CCc1.pairs())\n", + "CCcg = CPCContainer(proxy_curves_cg)\n", + "CCcc = CPCContainer(proxy_curves_cc)\n", + "CCfull = CCc1.copy().add(CCcg).add(CCcc)\n", + "#CAother = CPCAnalyzer(CCother)\n", + "CAfull = CPCAnalyzer(CCfull)\n", + "CAnc1 = CPCAnalyzer(CCnc1)\n", + "print(f\"CAfull: {len(CAfull.CC):4} entries\")\n", + "print(f\"CAnc1: {len(CAnc1.CC):4} entries\")" + ] + }, + { + "cell_type": "markdown", + "id": "3b6dbb80-b154-43d9-8068-239a275804b6", + "metadata": {}, + "source": [ + "## By-pair data for Carbon" + ] + }, + { + "cell_type": "markdown", + "id": "9769fe97-be8b-469a-bbea-cc13af1ac848", + "metadata": {}, + "source": [ + "### Count by pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "8e902de8-cd75-477b-8577-2cc4b10346e1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "PAIRS\n", + "====================================================================================================\n", + " count\n", + "pair \n", + "WETH-6Cc2/USDC-eB48 17\n", + "vBNT-7f94/BNT-FF1C 10\n", + "WETH-6Cc2/BNT-FF1C 9\n", + "USDT-1ec7/USDC-eB48 5\n", + "stETH-fE84/WETH-6Cc2 4\n", + "WBTC-C599/WETH-6Cc2 3\n", + "DAI-1d0F/USDC-eB48 3\n", + "ARB-4ad1/MATIC-eBB0 2\n", + "DAI-1d0F/USDT-1ec7 2\n", + "WBTC-C599/USDC-eB48 2\n", + "PEPE-1933/WETH-6Cc2 2\n", + "CRV-cd52/USDC-eB48 2\n", + "LINK-86CA/USDT-1ec7 2\n", + "WETH-6Cc2/USDT-1ec7 2\n", + "0x0-1AD5/WETH-6Cc2 2\n", + "BNT-FF1C/USDC-eB48 1\n", + "DEXT-C75a/USDC-eB48 1\n", + "LBR-aCcA/WETH-6Cc2 1\n", + "RPL-A51f/XCHF-fc08 1\n", + "WBTC-C599/USDT-1ec7 1\n", + "TSUKA-69eD/USDC-eB48 1\n", + "LYXe-be6D/USDC-eB48 1\n", + "LINK-86CA/USDC-eB48 1\n", + "WETH-6Cc2/DAI-1d0F 1\n", + "ETH2x_FLI-65BD/WETH-6Cc2 1\n", + "SMT-7173/WETH-6Cc2 1\n", + "eRSDL-D3A6/WETH-6Cc2 1\n", + "vBNT-7f94/USDC-eB48 1\n" + ] + } + ], + "source": [ + "df = CAc1.count_by_pairs()\n", + "print(\"\\n\\n\"+\"=\"*100)\n", + "print(\"PAIRS\")\n", + "print(\"=\"*100)\n", + "print(df)\n", + "#df" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "a5d5d7b9-8f2c-4db8-a16e-879d5b0ee9b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + " CARBON CGECKO CCOMP\n", + "Pairs: 26 26 23\n", + "Tokens: 21 21 19\n", + "Curves: 80 26 23\n" + ] + } + ], + "source": [ + "print(\"\\n\\n CARBON CGECKO CCOMP\")\n", + "print(f\"Pairs: {len(pairs):4} {len(CCcg.pairs()):7} {len(CCcc.pairs()):7}\")\n", + "print(f\"Tokens: {len(tokens):4} {len(CCcg.tokens()):7} {len(CCcc.tokens()):7}\")\n", + "print(f\"Curves: {len(CAc1.CC):4} {len(CCcg):7} {len(CCcc):7}\")" + ] + }, + { + "cell_type": "markdown", + "id": "a07ee661-1610-4f50-9e84-7a2a27b3018f", + "metadata": {}, + "source": [ + "### Calculate by-pair statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "5b8b206a-460e-4d9d-87f8-794cb23c2912", + "metadata": {}, + "outputs": [], + "source": [ + "pasdf = CAfull.pool_arbitrage_statistics()\n", + "pasnc1df = CAnc1.pool_arbitrage_statistics(only_pairs_with_carbon=False)" + ] + }, + { + "cell_type": "markdown", + "id": "bd982bda-5ab7-4e3c-a6f4-7a647cc3218d", + "metadata": {}, + "source": [ + "### Print by-pair statistics" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "edf3f14b-3115-47af-83a5-7eb3a7854c55", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 691723-0 1600.000160 0.003125 b buy-WETH @ 1600.00 USDT per WETH\n", + "ccomp e60f9a1d 1793.640000 1.493353 x b s buy-sell-WETH @ 1793.64 USDT per WETH\n", + "cgecko e60f9a1d 1794.314450 1.493072 x b s buy-sell-WETH @ 1794.31 USDT per WETH\n", + "carbon_v1 691656-0 1891.000189 0.002644 x b buy-WETH @ 1891.00 USDT per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp e60f9a1d 1793.640000 1.493353 x b s buy-sell-WETH @ 1793.64 USDT per WETH\n", + "cgecko e60f9a1d 1794.314450 1.493072 x b s buy-sell-WETH @ 1794.31 USDT per WETH\n", + "carbon_v1 691656-0 1891.000189 0.002644 x b buy-WETH @ 1891.00 USDT per WETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3bd24802 1788.786215 268.182724 b s buy-sell-WETH @ 1788.79 USDT per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 709362-1 14.285714 0.417087 b buy-WBTC @ 14.29 WETH per WBTC\n", + "ccomp c59d6071 14.794017 16.443223 b s buy-sell-WBTC @ 14.79 WETH per WBTC\n", + "carbon_v1 709391-0 14.800000 0.040541 b buy-WBTC @ 14.80 WETH per WBTC\n", + "cgecko c59d6071 14.925048 16.370884 b s buy-sell-WBTC @ 14.93 WETH per WBTC\n", + "carbon_v1 709362-0 15.399750 0.133758 s sell-WBTC @ 15.40 WETH per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 75da4eaa 14.954098 219.022157 b s buy-sell-WBTC @ 14.95 WETH per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 2e4fabcb 26535.140000 0.388257 x b s buy-sell-WBTC @ 26535.14 USDC per WBTC\n", + "cgecko 2e4fabcb 26885.036113 0.385722 x b s buy-sell-WBTC @ 26885.04 USDC per WBTC\n", + "carbon_v1 537493-0 27075.760726 0.018160 x b buy-WBTC @ 27075.76 USDC per WBTC\n", + " 537493-1 28840.000000 0.028274 s sell-WBTC @ 28840.00 USDC per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 2e4fabcb 26535.140000 0.388257 x b s buy-sell-WBTC @ 26535.14 USDC per WBTC\n", + "cgecko 2e4fabcb 26885.036113 0.385722 x b s buy-sell-WBTC @ 26885.04 USDC per WBTC\n", + "carbon_v1 537493-0 27075.760726 0.018160 x b buy-WBTC @ 27075.76 USDC per WBTC\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 a527b959 26745.882373 8.75047 b s buy-sell-WBTC @ 26745.88 USDC per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = USDT-1ec7/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 634444-0 0.996000 50200.798193 b buy-USDT @ 1.00 USDC per USDT\n", + " 634371-1 0.999900 50.154515 b buy-USDT @ 1.00 USDC per USDT\n", + "ccomp 7a925ef9 1.000000 63.245553 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "carbon_v1 634371-0 1.000100 50.100001 s sell-USDT @ 1.00 USDC per USDT\n", + " 634391-1 1.000690 494.654975 b buy-USDT @ 1.00 USDC per USDT\n", + " 634391-0 1.001001 505.000000 s sell-USDT @ 1.00 USDC per USDT\n", + "cgecko 7a925ef9 1.003914 63.122157 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 4a56bd20 1.000121 2.829767e+07 b s buy-sell-USDT @ 1.00 USDC per USDT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = ETH2x_FLI-65BD/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 246866-0 0.006300 63.492063 b buy-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "cgecko fd18788f 0.006546 781.719466 b s buy-sell-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 9530f8aa 0.006541 590.542011 b s buy-sell-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = SMT-7173/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp aba3bb9b 5.642158e-07 84199.086492 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "cgecko aba3bb9b 4.202895e-05 9755.638734 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "carbon_v1 343738-1 8.000000e-05 200000.000000 s sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp aba3bb9b 5.642158e-07 84199.086492 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "cgecko aba3bb9b 4.202895e-05 9755.638734 x b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3a9dd559 0.000041 4494.186731 b s buy-sell-SMT @ 0.00 WETH per SMT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = DEXT-C75a/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 67f38bb6 0.595442 81.961588 x b s buy-sell-DEXT @ 0.60 USDC per DEXT\n", + "carbon_v1 669784-0 0.600000 416.666627 b buy-DEXT @ 0.60 USDC per DEXT\n", + "ccomp 67f38bb6 0.614100 80.706859 x b s buy-sell-DEXT @ 0.61 USDC per DEXT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 67f38bb6 0.595442 81.961588 x b s buy-sell-DEXT @ 0.60 USDC per DEXT\n", + "ccomp 67f38bb6 0.614100 80.706859 x b s buy-sell-DEXT @ 0.61 USDC per DEXT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = DAI-1d0F/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 845828-1 0.999001 20.019998 b buy-DAI @ 1.00 USDC per DAI\n", + "ccomp cd733cac 1.000000 63.245553 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "carbon_v1 845907-0 1.000500 13915.242877 s sell-DAI @ 1.00 USDC per DAI\n", + " 845828-0 1.001001 30.000000 s sell-DAI @ 1.00 USDC per DAI\n", + "cgecko cd733cac 1.004564 63.101735 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 45fd83ef 1.000046 2.687193e+07 b s buy-sell-DAI @ 1.00 USDC per DAI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = vBNT-7f94/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 0d1e2d63 0.337969 108.790658 b s buy-sell-vBNT @ 0.34 USDC per vBNT\n", + "carbon_v1 171896-1 0.390000 5000.000000 s sell-vBNT @ 0.39 USDC per vBNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/BNT-FF1C\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 326034-1 476.190524 0.420000 b buy-WETH @ 476.19 BNT per WETH\n", + " 326031-1 500.000050 1.000000 b buy-WETH @ 500.00 BNT per WETH\n", + " 326077-1 3875.968992 2.047684 b buy-WETH @ 3875.97 BNT per WETH\n", + " 326076-1 3891.050584 0.205506 b buy-WETH @ 3891.05 BNT per WETH\n", + " 326030-0 3950.000395 0.126582 b buy-WETH @ 3950.00 BNT per WETH\n", + " 326076-0 4163.458344 0.002883 x s sell-WETH @ 4163.46 BNT per WETH\n", + "cgecko 8468746f 4272.569345 0.967577 x b s buy-sell-WETH @ 4272.57 BNT per WETH\n", + "ccomp 8468746f 4318.901999 0.962373 x b s buy-sell-WETH @ 4318.90 BNT per WETH\n", + "carbon_v1 326030-1 4999.999500 0.050000 s sell-WETH @ 5000.00 BNT per WETH\n", + " 326031-0 4999.999500 0.150000 s sell-WETH @ 5000.00 BNT per WETH\n", + " 326034-0 4999.999500 0.070000 s sell-WETH @ 5000.00 BNT per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 326076-0 4163.458344 0.002883 x s sell-WETH @ 4163.46 BNT per WETH\n", + "cgecko 8468746f 4272.569345 0.967577 x b s buy-sell-WETH @ 4272.57 BNT per WETH\n", + "ccomp 8468746f 4318.901999 0.962373 x b s buy-sell-WETH @ 4318.90 BNT per WETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 a3c742d2 4293.469749 7477.12461 b s buy-sell-WETH @ 4293.47 BNT per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = ARB-4ad1/MATIC-eBB0\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 91a9fe92 1.349019 54.452900 x b s buy-sell-ARB @ 1.35 MATIC per ARB\n", + "cgecko 91a9fe92 1.351502 54.402845 x b s buy-sell-ARB @ 1.35 MATIC per ARB\n", + "carbon_v1 806240-1 1.428571 141.806023 x b buy-ARB @ 1.43 MATIC per ARB\n", + " 806240-0 1.507045 12.760538 s sell-ARB @ 1.51 MATIC per ARB\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 91a9fe92 1.349019 54.452900 x b s buy-sell-ARB @ 1.35 MATIC per ARB\n", + "cgecko 91a9fe92 1.351502 54.402845 x b s buy-sell-ARB @ 1.35 MATIC per ARB\n", + "carbon_v1 806240-1 1.428571 141.806023 x b buy-ARB @ 1.43 MATIC per ARB\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LINK-86CA/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 95d4f2fc 6.497000 24.812674 x b s buy-sell-LINK @ 6.50 USDC per LINK\n", + "cgecko 95d4f2fc 6.599777 24.618714 x b s buy-sell-LINK @ 6.60 USDC per LINK\n", + "carbon_v1 497903-1 7.750000 342.883761 s sell-LINK @ 7.75 USDC per LINK\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 95d4f2fc 6.497000 24.812674 x b s buy-sell-LINK @ 6.50 USDC per LINK\n", + "cgecko 95d4f2fc 6.599777 24.618714 x b s buy-sell-LINK @ 6.60 USDC per LINK\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 b78a6b7c 6.601249 851.577517 b s buy-sell-LINK @ 6.60 USDC per LINK\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LINK-86CA/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp f46d143c 6.497000 24.812674 x b s buy-sell-LINK @ 6.50 USDT per LINK\n", + "cgecko f46d143c 6.574049 24.666841 x b s buy-sell-LINK @ 6.57 USDT per LINK\n", + "carbon_v1 960408-0 6.900402 0.055841 x b buy-LINK @ 6.90 USDT per LINK\n", + " 960408-1 7.700000 37.987504 s sell-LINK @ 7.70 USDT per LINK\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp f46d143c 6.497000 24.812674 x b s buy-sell-LINK @ 6.50 USDT per LINK\n", + "cgecko f46d143c 6.574049 24.666841 x b s buy-sell-LINK @ 6.57 USDT per LINK\n", + "carbon_v1 960408-0 6.900402 0.055841 x b buy-LINK @ 6.90 USDT per LINK\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 e3c32971 6.691117 9.418781 b s buy-sell-LINK @ 6.69 USDT per LINK\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = BNT-FF1C/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp ecb95b37 0.415300 98.140673 x b s buy-sell-BNT @ 0.42 USDC per BNT\n", + "cgecko ecb95b37 0.421605 97.404072 x b s buy-sell-BNT @ 0.42 USDC per BNT\n", + "carbon_v1 480199-0 2.000000 29.100000 s sell-BNT @ 2.00 USDC per BNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp ecb95b37 0.415300 98.140673 x b s buy-sell-BNT @ 0.42 USDC per BNT\n", + "cgecko ecb95b37 0.421605 97.404072 x b s buy-sell-BNT @ 0.42 USDC per BNT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 fdec725b 0.421162 5.341229e+06 b s buy-sell-BNT @ 0.42 USDC per BNT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WBTC-C599/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 9c49df60 26535.14000 0.388257 b s buy-sell-WBTC @ 26535.14 USDT per WBTC\n", + "cgecko 9c49df60 26780.22935 0.386476 b s buy-sell-WBTC @ 26780.23 USDT per WBTC\n", + "carbon_v1 920820-1 29500.00000 0.000065 s sell-WBTC @ 29500.00 USDT per WBTC\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 d3b9424f 26716.194613 4.717333 b s buy-sell-WBTC @ 26716.19 USDT per WBTC\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/DAI-1d0F\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 37a018d8 1793.153592 1.493555 b s buy-sell-WETH @ 1793.15 DAI per WETH\n", + "ccomp 37a018d8 1793.640000 1.493353 b s buy-sell-WETH @ 1793.64 DAI per WETH\n", + "carbon_v1 211457-1 1944.999806 0.001000 s sell-WETH @ 1945.00 DAI per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 6862112f 1790.732489 117.051835 b s buy-sell-WETH @ 1790.73 DAI per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = CRV-cd52/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp a61cdf65 0.801700 70.635668 x b s buy-sell-CRV @ 0.80 USDC per CRV\n", + "cgecko a61cdf65 0.813913 70.103690 x b s buy-sell-CRV @ 0.81 USDC per CRV\n", + "carbon_v1 612490-0 0.900000 1.785699 x b buy-CRV @ 0.90 USDC per CRV\n", + " 612490-1 0.900000 9998.214320 s sell-CRV @ 0.90 USDC per CRV\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp a61cdf65 0.801700 70.635668 x b s buy-sell-CRV @ 0.80 USDC per CRV\n", + "cgecko a61cdf65 0.813913 70.103690 x b s buy-sell-CRV @ 0.81 USDC per CRV\n", + "carbon_v1 612490-0 0.900000 1.785699 x b buy-CRV @ 0.90 USDC per CRV\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 53ec92a7 0.831225 1275.274889 b s buy-sell-CRV @ 0.83 USDC per CRV\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = DAI-1d0F/USDT-1ec7\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 268742-0 0.995000 20.100501 b buy-DAI @ 1.00 USDT per DAI\n", + "ccomp e50e04c1 1.000000 63.245553 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "cgecko e50e04c1 1.000647 63.225091 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "carbon_v1 268742-1 1.005000 20.000000 s sell-DAI @ 1.00 USDT per DAI\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 6e83e219 0.999892 64961.541984 b s buy-sell-DAI @ 1.00 USDT per DAI\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = RPL-A51f/XCHF-fc08\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 594782-0 40.476781 30.732095 b buy-RPL @ 40.48 XCHF per RPL\n", + "cgecko 3678e599 43.963964 9.538533 x b s buy-sell-RPL @ 43.96 XCHF per RPL\n", + "ccomp 3678e599 48.547264 9.077110 x b s buy-sell-RPL @ 48.55 XCHF per RPL\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "cgecko 3678e599 43.963964 9.538533 x b s buy-sell-RPL @ 43.96 XCHF per RPL\n", + "ccomp 3678e599 48.547264 9.077110 x b s buy-sell-RPL @ 48.55 XCHF per RPL\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + "-None-\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = vBNT-7f94/BNT-FF1C\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 748977-0 0.700000 714.285714 b buy-vBNT @ 0.70 BNT per vBNT\n", + " 748976-0 0.751044 345.367107 b buy-vBNT @ 0.75 BNT per vBNT\n", + " 748977-1 0.800000 500.000000 x s sell-vBNT @ 0.80 BNT per vBNT\n", + "cgecko d4c2e539 0.801625 70.638991 x b s buy-sell-vBNT @ 0.80 BNT per vBNT\n", + "carbon_v1 749015-0 0.884956 50079.388866 x s sell-vBNT @ 0.88 BNT per vBNT\n", + " 748976-1 0.900000 810.415436 s sell-vBNT @ 0.90 BNT per vBNT\n", + " 748990-0 0.900048 0.324366 x b buy-vBNT @ 0.90 BNT per vBNT\n", + " 748966-1 1.000000 1089.255651 s sell-vBNT @ 1.00 BNT per vBNT\n", + " 748990-1 1.050000 1122.591140 s sell-vBNT @ 1.05 BNT per vBNT\n", + " 748950-0 1.063830 13290.464522 s sell-vBNT @ 1.06 BNT per vBNT\n", + " 748965-1 1.100000 1027.046277 s sell-vBNT @ 1.10 BNT per vBNT\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 748977-1 0.800000 500.000000 x s sell-vBNT @ 0.80 BNT per vBNT\n", + "cgecko d4c2e539 0.801625 70.638991 x b s buy-sell-vBNT @ 0.80 BNT per vBNT\n", + "carbon_v1 749015-0 0.884956 50079.388866 x s sell-vBNT @ 0.88 BNT per vBNT\n", + " 748990-0 0.900048 0.324366 x b buy-vBNT @ 0.90 BNT per vBNT\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "bancor_v3 3af82b26 0.801821 3.083033e+06 b s buy-sell-vBNT @ 0.80 BNT per vBNT\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = WETH-6Cc2/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 057306-0 1405.000140 3.558719 b buy-WETH @ 1405.00 USDC per WETH\n", + " 057334-0 1700.000170 0.029412 b buy-WETH @ 1700.00 USDC per WETH\n", + " 057331-0 1747.325134 2.728833 b buy-WETH @ 1747.33 USDC per WETH\n", + " 057358-0 1750.000000 0.059166 b buy-WETH @ 1750.00 USDC per WETH\n", + "ccomp 9da15412 1793.640000 1.493353 x b s buy-sell-WETH @ 1793.64 USDC per WETH\n", + "carbon_v1 057337-0 1796.061322 0.879991 b buy-WETH @ 1796.06 USDC per WETH\n", + " 057339-0 1800.000000 0.000556 b buy-WETH @ 1800.00 USDC per WETH\n", + "cgecko 9da15412 1801.336656 1.490159 x b s buy-sell-WETH @ 1801.34 USDC per WETH\n", + "carbon_v1 057365-0 1830.000000 0.009801 x b buy-WETH @ 1830.00 USDC per WETH\n", + " 057299-1 1940.000000 0.026117 s sell-WETH @ 1940.00 USDC per WETH\n", + " 057296-1 1949.999805 10.461424 s sell-WETH @ 1950.00 USDC per WETH\n", + " 057337-1 1975.000000 0.230127 s sell-WETH @ 1975.00 USDC per WETH\n", + " 057343-1 1989.999801 1.000000 s sell-WETH @ 1990.00 USDC per WETH\n", + " 057334-1 1999.999800 0.040000 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057292-1 2000.000000 0.019704 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057331-1 2000.000000 2.950064 s sell-WETH @ 2000.00 USDC per WETH\n", + " 057353-1 2047.999795 8.234700 s sell-WETH @ 2048.00 USDC per WETH\n", + " 057285-1 2099.999790 0.006040 s sell-WETH @ 2100.00 USDC per WETH\n", + " 057315-1 2300.000000 0.487950 s sell-WETH @ 2300.00 USDC per WETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 9da15412 1793.640000 1.493353 x b s buy-sell-WETH @ 1793.64 USDC per WETH\n", + "cgecko 9da15412 1801.336656 1.490159 x b s buy-sell-WETH @ 1801.34 USDC per WETH\n", + "carbon_v1 057365-0 1830.000000 0.009801 x b buy-WETH @ 1830.00 USDC per WETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 1bc3f2c4 1784.825515 224.49457 b s buy-sell-WETH @ 1784.83 USDC per WETH\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = PEPE-1933/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 3d326862 8.474387e-10 2.172580e+06 x b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "cgecko 3d326862 8.656896e-10 2.149557e+06 x b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "carbon_v1 440620-1 4.000000e-07 7.144675e+06 s sell-PEPE @ 0.00 WETH per PEPE\n", + " 440621-1 4.500000e-07 1.315789e+06 s sell-PEPE @ 0.00 WETH per PEPE\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 3d326862 8.474387e-10 2.172580e+06 x b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "cgecko 3d326862 8.656896e-10 2.149557e+06 x b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 7d733cc6 8.574773e-10 5.158788e+10 b s buy-sell-PEPE @ 0.00 WETH per PEPE\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = LYXe-be6D/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 0794c954 12.960000 17.568209 x b s buy-sell-LYXe @ 12.96 USDC per LYXe\n", + "cgecko 0794c954 13.199554 17.408060 x b s buy-sell-LYXe @ 13.20 USDC per LYXe\n", + "carbon_v1 652071-1 15.999998 7503.700799 s sell-LYXe @ 16.00 USDC per LYXe\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 0794c954 12.960000 17.568209 x b s buy-sell-LYXe @ 12.96 USDC per LYXe\n", + "cgecko 0794c954 13.199554 17.408060 x b s buy-sell-LYXe @ 13.20 USDC per LYXe\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 c45e2006 14.39136 1.085336 b s buy-sell-LYXe @ 14.39 USDC per LYXe\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = eRSDL-D3A6/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 458324-0 1.350000e-07 1.538597e+06 b buy-eRSDL @ 0.00 WETH per eRSDL\n", + "ccomp e1e5606f 1.350327e-06 5.442652e+04 b s buy-sell-eRSDL @ 0.00 WETH per eRSDL\n", + "cgecko e1e5606f 1.361395e-06 5.420483e+04 b s buy-sell-eRSDL @ 0.00 WETH per eRSDL\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 b5b64546 0.000002 120.478163 b s buy-sell-eRSDL @ 0.00 WETH per eRSDL\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = TSUKA-69eD/USDC-eB48\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 6bfe0f65 0.051810 277.858188 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "cgecko 6bfe0f65 0.052213 276.784636 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "carbon_v1 017697-1 0.120000 90007.566908 s sell-TSUKA @ 0.12 USDC per TSUKA\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + "-None-\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v3 3912a86a 0.052681 18514.567786 b s buy-sell-TSUKA @ 0.05 USDC per TSUKA\n", + "\n", + "\n", + "\n", + "====================================================================================================\n", + "Pair = stETH-fE84/WETH-6Cc2\n", + "====================================================================================================\n", + "\n", + "--- ALL CARBON AND REFERENCE POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "carbon_v1 035408-0 0.980000 1.020408 b buy-stETH @ 0.98 WETH per stETH\n", + "ccomp 7cbb82c5 0.989647 63.575516 x b s buy-sell-stETH @ 0.99 WETH per stETH\n", + "carbon_v1 422914-1 0.990099 0.080114 b buy-stETH @ 0.99 WETH per stETH\n", + " 422993-0 0.998000 1.002004 b buy-stETH @ 1.00 WETH per stETH\n", + "cgecko 7cbb82c5 1.000732 63.222429 x b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "carbon_v1 422914-0 1.010101 0.002032 s sell-stETH @ 1.01 WETH per stETH\n", + "\n", + "--- IN-THE-MONEY POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "ccomp 7cbb82c5 0.989647 63.575516 x b s buy-sell-stETH @ 0.99 WETH per stETH\n", + "cgecko 7cbb82c5 1.000732 63.222429 x b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "\n", + "--- ALL NON-CARBON POSITIONS ---\n", + " price vl itm b s bsv\n", + "exchange cid0 \n", + "uniswap_v2 b8894be0 0.995456 2407.235553 b s buy-sell-stETH @ 1.00 WETH per stETH\n", + "\n" + ] + } + ], + "source": [ + "def prints(*x):\n", + " global s\n", + " s += \" \".join([str(x_) for x_ in x])\n", + " s += \"\\n\"\n", + "out_by_pair = dict()\n", + "carbon_by_pair = dict()\n", + "other_by_pair = dict()\n", + "\n", + "for pair in list(pairs):\n", + " s = \"\"\n", + " prints(\"\\n\\n\"+\"=\"*100)\n", + " prints(f\"Pair = {pair}\")\n", + " prints(\"=\"*100)\n", + " df = pasdf.loc[Pair.n(pair)]\n", + " try:\n", + " nc1df = pasnc1df.loc[Pair.n(pair)]\n", + " except:\n", + " nc1df = pd.DataFrame()\n", + " hasproxydata = len(df.reset_index()[df.reset_index()[\"exchange\"]==\"cgecko\"])>0\n", + " if hasproxydata:\n", + " prints(\"\\n--- ALL CARBON AND REFERENCE POSITIONS ---\")\n", + " prints(df.to_string())\n", + " carbon_by_pair[pair] = [[k,v] for k,v in df.to_dict(orient=\"index\").items()]\n", + " prints(\"\\n--- IN-THE-MONEY POSITIONS ---\")\n", + " dfitm = df[df[\"itm\"]==\"x\"]\n", + " if len(dfitm) > 0:\n", + " prints(dfitm.to_string())\n", + " else:\n", + " prints(\"-None-\")\n", + " prints(\"\\n--- ALL NON-CARBON POSITIONS ---\")\n", + " if len(nc1df) > 0:\n", + " prints(nc1df.to_string())\n", + " else:\n", + " prints(\"-None-\")\n", + " other_by_pair[pair] = [[k,v] for k,v in nc1df.to_dict(orient=\"index\").items()]\n", + " \n", + " else:\n", + " prints(\"\\n--- NO PRICE DATA AVAILABLE ---\")\n", + " \n", + " out_by_pair[pair] = s\n", + " print(s)\n" + ] + }, + { + "cell_type": "markdown", + "id": "2b405d02-ca60-49d4-9c49-e3ef937e30e2", + "metadata": {}, + "source": [ + "## Summary data" + ] + }, + { + "cell_type": "markdown", + "id": "5f91da5b-b126-4816-b41c-7be245a7ea69", + "metadata": {}, + "source": [ + "### Create summary data" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "0aac094f-e560-4fc7-b7d8-e4e434649368", + "metadata": {}, + "outputs": [], + "source": [ + "itmcarbdf = pasdf.query(\"exchange == 'carbon_v1'\").query(\"itm == 'x'\")" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "c72599d7-0ce2-4af8-b805-a9f6a2b462e0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['ARB/MATIC',\n", + " 'CRV/USDC',\n", + " 'LINK/USDT',\n", + " 'WBTC/USDC',\n", + " 'WETH/BNT',\n", + " 'WETH/USDC',\n", + " 'WETH/USDT',\n", + " 'vBNT/BNT']" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "itmcarb_pairs = sorted({x[0] for x in tuple(itmcarbdf.index)})\n", + "itmcarb_pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "f0af3450-f3e0-448c-a4f4-770bae46a86d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'pair': 'ARB/MATIC',\n", + " 'exchange': 'carbon_v1',\n", + " 'cid0': '806240-1',\n", + " 'price': 1.4285714285714268,\n", + " 'vl': 141.80602335295742,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-ARB @ 1.43 MATIC per ARB'},\n", + " {'pair': 'CRV/USDC',\n", + " 'exchange': 'carbon_v1',\n", + " 'cid0': '612490-0',\n", + " 'price': 0.89999990851846,\n", + " 'vl': 1.7856990703983344,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-CRV @ 0.90 USDC per CRV'}]" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "itmcarb_pos = itmcarbdf.reset_index().to_dict(orient=\"records\")\n", + "itmcarb_pos[:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "a4fa6564-4827-4152-84e5-90bfcb3e45f3", + "metadata": {}, + "outputs": [], + "source": [ + "itmcarb_pos_bypair = {\n", + " pair: [x for x in itmcarb_pos if x[\"pair\"] == pair]\n", + " for pair in itmcarb_pairs\n", + "}\n", + "#itmcarb_pos_bypair" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "e2cf30c4-82f8-4260-8b08-f27079142f54", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_pairs = [pair for pair, price in prices_by_pair.items() if price is None]\n", + "missing_pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "f4e553f4-a022-415f-8b2f-b726d5cc7609", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'WETH-6Cc2/USDT-1ec7': [[('carbon_v1', '691723-0'),\n", + " {'price': 1600.000159878855,\n", + " 'vl': 0.0031249996877366426,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1600.00 USDT per WETH'}],\n", + " [('ccomp', 'e60f9a1d'),\n", + " {'price': 1793.6400000000006,\n", + " 'vl': 1.4933525758030302,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1793.64 USDT per WETH'}],\n", + " [('cgecko', 'e60f9a1d'),\n", + " {'price': 1794.3144499796063,\n", + " 'vl': 1.493071887465954,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1794.31 USDT per WETH'}],\n", + " [('carbon_v1', '691656-0'),\n", + " {'price': 1891.0001887578283,\n", + " 'vl': 0.002644103384931141,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1891.00 USDT per WETH'}]],\n", + " 'WBTC-C599/WETH-6Cc2': [[('carbon_v1', '709362-1'),\n", + " {'price': 14.28571428571426,\n", + " 'vl': 0.41708702154504046,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WBTC @ 14.29 WETH per WBTC'}],\n", + " [('ccomp', 'c59d6071'),\n", + " {'price': 14.79401663656029,\n", + " 'vl': 16.443222910423795,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 14.79 WETH per WBTC'}],\n", + " [('carbon_v1', '709391-0'),\n", + " {'price': 14.799999999999967,\n", + " 'vl': 0.04054054054054063,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WBTC @ 14.80 WETH per WBTC'}],\n", + " [('cgecko', 'c59d6071'),\n", + " {'price': 14.925048031812695,\n", + " 'vl': 16.370883838935715,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 14.93 WETH per WBTC'}],\n", + " [('carbon_v1', '709362-0'),\n", + " {'price': 15.399750321828995,\n", + " 'vl': 0.1337583,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WBTC @ 15.40 WETH per WBTC'}]],\n", + " 'WBTC-C599/USDC-eB48': [[('ccomp', '2e4fabcb'),\n", + " {'price': 26535.139999999992,\n", + " 'vl': 0.3882570085018608,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 26535.14 USDC per WBTC'}],\n", + " [('cgecko', '2e4fabcb'),\n", + " {'price': 26885.03611265095,\n", + " 'vl': 0.3857222430285551,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 26885.04 USDC per WBTC'}],\n", + " [('carbon_v1', '537493-0'),\n", + " {'price': 27075.760726187837,\n", + " 'vl': 0.01816044350415674,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WBTC @ 27075.76 USDC per WBTC'}],\n", + " [('carbon_v1', '537493-1'),\n", + " {'price': 28840.000000000735,\n", + " 'vl': 0.02827438,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WBTC @ 28840.00 USDC per WBTC'}]],\n", + " 'USDT-1ec7/USDC-eB48': [[('carbon_v1', '634444-0'),\n", + " {'price': 0.9960000995999951,\n", + " 'vl': 50200.79819277183,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-USDT @ 1.00 USDC per USDT'}],\n", + " [('carbon_v1', '634371-1'),\n", + " {'price': 0.9999001099889961,\n", + " 'vl': 50.15451493504875,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-USDT @ 1.00 USDC per USDT'}],\n", + " [('ccomp', '7a925ef9'),\n", + " {'price': 1.0,\n", + " 'vl': 63.245553203367585,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-USDT @ 1.00 USDC per USDT'}],\n", + " [('carbon_v1', '634371-0'),\n", + " {'price': 1.0000999099910102,\n", + " 'vl': 50.100001,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-USDT @ 1.00 USDC per USDT'}],\n", + " [('carbon_v1', '634391-1'),\n", + " {'price': 1.0006904769045573,\n", + " 'vl': 494.654975163925,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-USDT @ 1.00 USDC per USDT'}],\n", + " [('carbon_v1', '634391-0'),\n", + " {'price': 1.0010010010010038,\n", + " 'vl': 505.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-USDT @ 1.00 USDC per USDT'}],\n", + " [('cgecko', '7a925ef9'),\n", + " {'price': 1.0039135871899942,\n", + " 'vl': 63.12215678403975,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-USDT @ 1.00 USDC per USDT'}]],\n", + " 'ETH2x_FLI-65BD/WETH-6Cc2': [[('carbon_v1', '246866-0'),\n", + " {'price': 0.006299999999999552,\n", + " 'vl': 63.49206349206801,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI'}],\n", + " [('cgecko', 'fd18788f'),\n", + " {'price': 0.006545730753764354,\n", + " 'vl': 781.7194664533318,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-ETH2x_FLI @ 0.01 WETH per ETH2x_FLI'}]],\n", + " 'SMT-7173/WETH-6Cc2': [[('ccomp', 'aba3bb9b'),\n", + " {'price': 5.64215784661359e-07,\n", + " 'vl': 84199.08649152855,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-SMT @ 0.00 WETH per SMT'}],\n", + " [('cgecko', 'aba3bb9b'),\n", + " {'price': 4.2028953129886965e-05,\n", + " 'vl': 9755.638734084874,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-SMT @ 0.00 WETH per SMT'}],\n", + " [('carbon_v1', '343738-1'),\n", + " {'price': 8.000000000000013e-05,\n", + " 'vl': 200000.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-SMT @ 0.00 WETH per SMT'}]],\n", + " 'DEXT-C75a/USDC-eB48': [[('cgecko', '67f38bb6'),\n", + " {'price': 0.5954417272903791,\n", + " 'vl': 81.96158772119942,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DEXT @ 0.60 USDC per DEXT'}],\n", + " [('carbon_v1', '669784-0'),\n", + " {'price': 0.6000000576063891,\n", + " 'vl': 416.6666266622336,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-DEXT @ 0.60 USDC per DEXT'}],\n", + " [('ccomp', '67f38bb6'),\n", + " {'price': 0.6141,\n", + " 'vl': 80.70685927489225,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DEXT @ 0.61 USDC per DEXT'}]],\n", + " 'DAI-1d0F/USDC-eB48': [[('carbon_v1', '845828-1'),\n", + " {'price': 0.9990010940183239,\n", + " 'vl': 20.01999809585109,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-DAI @ 1.00 USDC per DAI'}],\n", + " [('ccomp', 'cd733cac'),\n", + " {'price': 1.0,\n", + " 'vl': 63.245553203367585,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DAI @ 1.00 USDC per DAI'}],\n", + " [('carbon_v1', '845907-0'),\n", + " {'price': 1.0005002501250642,\n", + " 'vl': 13915.24287660774,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-DAI @ 1.00 USDC per DAI'}],\n", + " [('carbon_v1', '845828-0'),\n", + " {'price': 1.001000900900913,\n", + " 'vl': 30.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-DAI @ 1.00 USDC per DAI'}],\n", + " [('cgecko', 'cd733cac'),\n", + " {'price': 1.0045635042400547,\n", + " 'vl': 63.10173457917134,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DAI @ 1.00 USDC per DAI'}]],\n", + " 'vBNT-7f94/USDC-eB48': [[('cgecko', '0d1e2d63'),\n", + " {'price': 0.33796893879411205,\n", + " 'vl': 108.79065752966072,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-vBNT @ 0.34 USDC per vBNT'}],\n", + " [('carbon_v1', '171896-1'),\n", + " {'price': 0.3900000000000018,\n", + " 'vl': 5000.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 0.39 USDC per vBNT'}]],\n", + " 'WETH-6Cc2/BNT-FF1C': [[('carbon_v1', '326034-1'),\n", + " {'price': 476.1905238095217,\n", + " 'vl': 0.41999995800000606,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 476.19 BNT per WETH'}],\n", + " [('carbon_v1', '326031-1'),\n", + " {'price': 500.00004999999715,\n", + " 'vl': 0.9999999000000157,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 500.00 BNT per WETH'}],\n", + " [('carbon_v1', '326077-1'),\n", + " {'price': 3875.968992248055,\n", + " 'vl': 2.04768353854226,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 3875.97 BNT per WETH'}],\n", + " [('carbon_v1', '326076-1'),\n", + " {'price': 3891.0505836575685,\n", + " 'vl': 0.2055060735758947,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 3891.05 BNT per WETH'}],\n", + " [('carbon_v1', '326030-0'),\n", + " {'price': 3950.0003949999714,\n", + " 'vl': 0.126582265822787,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 3950.00 BNT per WETH'}],\n", + " [('carbon_v1', '326076-0'),\n", + " {'price': 4163.458343612407,\n", + " 'vl': 0.002882724874542864,\n", + " 'itm': 'x',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 4163.46 BNT per WETH'}],\n", + " [('cgecko', '8468746f'),\n", + " {'price': 4272.569345016512,\n", + " 'vl': 0.9675767755509104,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 4272.57 BNT per WETH'}],\n", + " [('ccomp', '8468746f'),\n", + " {'price': 4318.901998555261,\n", + " 'vl': 0.9623727581205624,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 4318.90 BNT per WETH'}],\n", + " [('carbon_v1', '326030-1'),\n", + " {'price': 4999.999500001577,\n", + " 'vl': 0.05,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 5000.00 BNT per WETH'}],\n", + " [('carbon_v1', '326031-0'),\n", + " {'price': 4999.999500001579,\n", + " 'vl': 0.15,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 5000.00 BNT per WETH'}],\n", + " [('carbon_v1', '326034-0'),\n", + " {'price': 4999.999500001579,\n", + " 'vl': 0.07,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 5000.00 BNT per WETH'}]],\n", + " 'ARB-4ad1/MATIC-eBB0': [[('ccomp', '91a9fe92'),\n", + " {'price': 1.3490186805391347,\n", + " 'vl': 54.452899989491435,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-ARB @ 1.35 MATIC per ARB'}],\n", + " [('cgecko', '91a9fe92'),\n", + " {'price': 1.3515022241025731,\n", + " 'vl': 54.402845194138436,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-ARB @ 1.35 MATIC per ARB'}],\n", + " [('carbon_v1', '806240-1'),\n", + " {'price': 1.4285714285714268,\n", + " 'vl': 141.80602335295742,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-ARB @ 1.43 MATIC per ARB'}],\n", + " [('carbon_v1', '806240-0'),\n", + " {'price': 1.5070449789327183,\n", + " 'vl': 12.760538178735828,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-ARB @ 1.51 MATIC per ARB'}]],\n", + " 'LINK-86CA/USDC-eB48': [[('ccomp', '95d4f2fc'),\n", + " {'price': 6.496999999999999,\n", + " 'vl': 24.812673580282144,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LINK @ 6.50 USDC per LINK'}],\n", + " [('cgecko', '95d4f2fc'),\n", + " {'price': 6.5997768551057225,\n", + " 'vl': 24.618714376688633,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LINK @ 6.60 USDC per LINK'}],\n", + " [('carbon_v1', '497903-1'),\n", + " {'price': 7.750000000000095,\n", + " 'vl': 342.8837613658497,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-LINK @ 7.75 USDC per LINK'}]],\n", + " 'LINK-86CA/USDT-1ec7': [[('ccomp', 'f46d143c'),\n", + " {'price': 6.496999999999999,\n", + " 'vl': 24.812673580282144,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LINK @ 6.50 USDT per LINK'}],\n", + " [('cgecko', 'f46d143c'),\n", + " {'price': 6.574048742161999,\n", + " 'vl': 24.666841078267154,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LINK @ 6.57 USDT per LINK'}],\n", + " [('carbon_v1', '960408-0'),\n", + " {'price': 6.900402356331174,\n", + " 'vl': 0.05584123651086221,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-LINK @ 6.90 USDT per LINK'}],\n", + " [('carbon_v1', '960408-1'),\n", + " {'price': 7.700000000000024,\n", + " 'vl': 37.98750437334261,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-LINK @ 7.70 USDT per LINK'}]],\n", + " 'BNT-FF1C/USDC-eB48': [[('ccomp', 'ecb95b37'),\n", + " {'price': 0.41529999999999995,\n", + " 'vl': 98.14067261087673,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-BNT @ 0.42 USDC per BNT'}],\n", + " [('cgecko', 'ecb95b37'),\n", + " {'price': 0.4216050134158573,\n", + " 'vl': 97.40407185446055,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-BNT @ 0.42 USDC per BNT'}],\n", + " [('carbon_v1', '480199-0'),\n", + " {'price': 1.999999800000022,\n", + " 'vl': 29.100000020685478,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-BNT @ 2.00 USDC per BNT'}]],\n", + " 'WBTC-C599/USDT-1ec7': [[('ccomp', '9c49df60'),\n", + " {'price': 26535.139999999992,\n", + " 'vl': 0.3882570085018608,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 26535.14 USDT per WBTC'}],\n", + " [('cgecko', '9c49df60'),\n", + " {'price': 26780.229350121208,\n", + " 'vl': 0.386476284811501,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WBTC @ 26780.23 USDT per WBTC'}],\n", + " [('carbon_v1', '920820-1'),\n", + " {'price': 29500.00000000306,\n", + " 'vl': 6.48e-05,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WBTC @ 29500.00 USDT per WBTC'}]],\n", + " 'WETH-6Cc2/DAI-1d0F': [[('cgecko', '37a018d8'),\n", + " {'price': 1793.1535920056808,\n", + " 'vl': 1.4935551042930737,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1793.15 DAI per WETH'}],\n", + " [('ccomp', '37a018d8'),\n", + " {'price': 1793.6400000000006,\n", + " 'vl': 1.4933525758030302,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1793.64 DAI per WETH'}],\n", + " [('carbon_v1', '211457-1'),\n", + " {'price': 1944.9998055001547,\n", + " 'vl': 0.001,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 1945.00 DAI per WETH'}]],\n", + " 'CRV-cd52/USDC-eB48': [[('ccomp', 'a61cdf65'),\n", + " {'price': 0.8016999999999999,\n", + " 'vl': 70.63566755009981,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-CRV @ 0.80 USDC per CRV'}],\n", + " [('cgecko', 'a61cdf65'),\n", + " {'price': 0.8139134564017331,\n", + " 'vl': 70.1036904965557,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-CRV @ 0.81 USDC per CRV'}],\n", + " [('carbon_v1', '612490-0'),\n", + " {'price': 0.89999990851846,\n", + " 'vl': 1.7856990703983344,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-CRV @ 0.90 USDC per CRV'}],\n", + " [('carbon_v1', '612490-1'),\n", + " {'price': 0.9000000000000129,\n", + " 'vl': 9998.21432003545,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-CRV @ 0.90 USDC per CRV'}]],\n", + " 'DAI-1d0F/USDT-1ec7': [[('carbon_v1', '268742-0'),\n", + " {'price': 0.9950000962846359,\n", + " 'vl': 20.10050056746796,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-DAI @ 1.00 USDT per DAI'}],\n", + " [('ccomp', 'e50e04c1'),\n", + " {'price': 1.0,\n", + " 'vl': 63.245553203367585,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DAI @ 1.00 USDT per DAI'}],\n", + " [('cgecko', 'e50e04c1'),\n", + " {'price': 1.0006473834584508,\n", + " 'vl': 63.2250910754819,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-DAI @ 1.00 USDT per DAI'}],\n", + " [('carbon_v1', '268742-1'),\n", + " {'price': 1.0049998995000151,\n", + " 'vl': 20.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-DAI @ 1.00 USDT per DAI'}]],\n", + " 'RPL-A51f/XCHF-fc08': [[('carbon_v1', '594782-0'),\n", + " {'price': 40.476781461991095,\n", + " 'vl': 30.732094697304007,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-RPL @ 40.48 XCHF per RPL'}],\n", + " [('cgecko', '3678e599'),\n", + " {'price': 43.963963963963955,\n", + " 'vl': 9.53853272560183,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-RPL @ 43.96 XCHF per RPL'}],\n", + " [('ccomp', '3678e599'),\n", + " {'price': 48.547263681592035,\n", + " 'vl': 9.077110398305692,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-RPL @ 48.55 XCHF per RPL'}]],\n", + " 'vBNT-7f94/BNT-FF1C': [[('carbon_v1', '748977-0'),\n", + " {'price': 0.6999999999999955,\n", + " 'vl': 714.2857142857189,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-vBNT @ 0.70 BNT per vBNT'}],\n", + " [('carbon_v1', '748976-0'),\n", + " {'price': 0.7510441002823599,\n", + " 'vl': 345.3671073957916,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-vBNT @ 0.75 BNT per vBNT'}],\n", + " [('carbon_v1', '748977-1'),\n", + " {'price': 0.8000000000000027,\n", + " 'vl': 500.0,\n", + " 'itm': 'x',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 0.80 BNT per vBNT'}],\n", + " [('cgecko', 'd4c2e539'),\n", + " {'price': 0.8016245728576062,\n", + " 'vl': 70.63899062764295,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-vBNT @ 0.80 BNT per vBNT'}],\n", + " [('carbon_v1', '749015-0'),\n", + " {'price': 0.8849557522123909,\n", + " 'vl': 50079.3888655038,\n", + " 'itm': 'x',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 0.88 BNT per vBNT'}],\n", + " [('carbon_v1', '748976-1'),\n", + " {'price': 0.9000000000000005,\n", + " 'vl': 810.415435921192,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 0.90 BNT per vBNT'}],\n", + " [('carbon_v1', '748990-0'),\n", + " {'price': 0.9000480004884168,\n", + " 'vl': 0.3243660493704055,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-vBNT @ 0.90 BNT per vBNT'}],\n", + " [('carbon_v1', '748966-1'),\n", + " {'price': 1.0,\n", + " 'vl': 1089.255650988793,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 1.00 BNT per vBNT'}],\n", + " [('carbon_v1', '748990-1'),\n", + " {'price': 1.0500000000000067,\n", + " 'vl': 1122.5911402079187,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 1.05 BNT per vBNT'}],\n", + " [('carbon_v1', '748950-0'),\n", + " {'price': 1.0638297872340463,\n", + " 'vl': 13290.464521842658,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 1.06 BNT per vBNT'}],\n", + " [('carbon_v1', '748965-1'),\n", + " {'price': 1.1000000000000072,\n", + " 'vl': 1027.0462766947312,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-vBNT @ 1.10 BNT per vBNT'}]],\n", + " 'WETH-6Cc2/USDC-eB48': [[('carbon_v1', '057306-0'),\n", + " {'price': 1405.0001404802244,\n", + " 'vl': 3.558718505388203,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1405.00 USDC per WETH'}],\n", + " [('carbon_v1', '057334-0'),\n", + " {'price': 1700.000169864341,\n", + " 'vl': 0.029411761767053218,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1700.00 USDC per WETH'}],\n", + " [('carbon_v1', '057331-0'),\n", + " {'price': 1747.3251335882983,\n", + " 'vl': 2.728832810415846,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1747.33 USDC per WETH'}],\n", + " [('carbon_v1', '057358-0'),\n", + " {'price': 1749.9999999492354,\n", + " 'vl': 0.059165638287430586,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1750.00 USDC per WETH'}],\n", + " [('ccomp', '9da15412'),\n", + " {'price': 1793.6400000000006,\n", + " 'vl': 1.4933525758030302,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1793.64 USDC per WETH'}],\n", + " [('carbon_v1', '057337-0'),\n", + " {'price': 1796.061322076643,\n", + " 'vl': 0.8799906955139892,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1796.06 USDC per WETH'}],\n", + " [('carbon_v1', '057339-0'),\n", + " {'price': 1799.9999997028153,\n", + " 'vl': 0.0005555555556472792,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1800.00 USDC per WETH'}],\n", + " [('cgecko', '9da15412'),\n", + " {'price': 1801.336656025868,\n", + " 'vl': 1.490158801638087,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-WETH @ 1801.34 USDC per WETH'}],\n", + " [('carbon_v1', '057365-0'),\n", + " {'price': 1829.9999998724008,\n", + " 'vl': 0.00980116776024624,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-WETH @ 1830.00 USDC per WETH'}],\n", + " [('carbon_v1', '057299-1'),\n", + " {'price': 1940.00000000002,\n", + " 'vl': 0.02611722902099498,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 1940.00 USDC per WETH'}],\n", + " [('carbon_v1', '057296-1'),\n", + " {'price': 1949.9998050000297,\n", + " 'vl': 10.4614240343779,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 1950.00 USDC per WETH'}],\n", + " [('carbon_v1', '057337-1'),\n", + " {'price': 1975.0000000000089,\n", + " 'vl': 0.2301270456174196,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 1975.00 USDC per WETH'}],\n", + " [('carbon_v1', '057343-1'),\n", + " {'price': 1989.999801000033,\n", + " 'vl': 1.0,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 1990.00 USDC per WETH'}],\n", + " [('carbon_v1', '057334-1'),\n", + " {'price': 1999.9998000000246,\n", + " 'vl': 0.04,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2000.00 USDC per WETH'}],\n", + " [('carbon_v1', '057292-1'),\n", + " {'price': 2000.0000000000048,\n", + " 'vl': 0.01970353938732517,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2000.00 USDC per WETH'}],\n", + " [('carbon_v1', '057331-1'),\n", + " {'price': 2000.0000000000057,\n", + " 'vl': 2.9500643724993934,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2000.00 USDC per WETH'}],\n", + " [('carbon_v1', '057353-1'),\n", + " {'price': 2047.999795200023,\n", + " 'vl': 8.23469990825006,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2048.00 USDC per WETH'}],\n", + " [('carbon_v1', '057285-1'),\n", + " {'price': 2099.999790000043,\n", + " 'vl': 0.006039951546952498,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2100.00 USDC per WETH'}],\n", + " [('carbon_v1', '057315-1'),\n", + " {'price': 2300.0000000000196,\n", + " 'vl': 0.48795003691276445,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-WETH @ 2300.00 USDC per WETH'}]],\n", + " 'PEPE-1933/WETH-6Cc2': [[('ccomp', '3d326862'),\n", + " {'price': 8.474387279498673e-10,\n", + " 'vl': 2172580.3237528168,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-PEPE @ 0.00 WETH per PEPE'}],\n", + " [('cgecko', '3d326862'),\n", + " {'price': 8.65689647468835e-10,\n", + " 'vl': 2149556.5934366784,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-PEPE @ 0.00 WETH per PEPE'}],\n", + " [('carbon_v1', '440620-1'),\n", + " {'price': 3.999999600000057e-07,\n", + " 'vl': 7144674.823524944,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-PEPE @ 0.00 WETH per PEPE'}],\n", + " [('carbon_v1', '440621-1'),\n", + " {'price': 4.4999995500000675e-07,\n", + " 'vl': 1315789.473685021,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-PEPE @ 0.00 WETH per PEPE'}]],\n", + " 'LYXe-be6D/USDC-eB48': [[('ccomp', '0794c954'),\n", + " {'price': 12.96,\n", + " 'vl': 17.568209223157663,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LYXe @ 12.96 USDC per LYXe'}],\n", + " [('cgecko', '0794c954'),\n", + " {'price': 13.199553710211442,\n", + " 'vl': 17.408059879851283,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-LYXe @ 13.20 USDC per LYXe'}],\n", + " [('carbon_v1', '652071-1'),\n", + " {'price': 15.999998400000159,\n", + " 'vl': 7503.700798507554,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-LYXe @ 16.00 USDC per LYXe'}]],\n", + " 'eRSDL-D3A6/WETH-6Cc2': [[('carbon_v1', '458324-0'),\n", + " {'price': 1.349999999988699e-07,\n", + " 'vl': 1538596.6638839047,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-eRSDL @ 0.00 WETH per eRSDL'}],\n", + " [('ccomp', 'e1e5606f'),\n", + " {'price': 1.350326709930644e-06,\n", + " 'vl': 54426.51998448734,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-eRSDL @ 0.00 WETH per eRSDL'}],\n", + " [('cgecko', 'e1e5606f'),\n", + " {'price': 1.3613947097984899e-06,\n", + " 'vl': 54204.82745777146,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-eRSDL @ 0.00 WETH per eRSDL'}]],\n", + " 'TSUKA-69eD/USDC-eB48': [[('ccomp', '6bfe0f65'),\n", + " {'price': 0.051809999999999995,\n", + " 'vl': 277.858188194219,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-TSUKA @ 0.05 USDC per TSUKA'}],\n", + " [('cgecko', '6bfe0f65'),\n", + " {'price': 0.052212685857664136,\n", + " 'vl': 276.7846355547408,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-TSUKA @ 0.05 USDC per TSUKA'}],\n", + " [('carbon_v1', '017697-1'),\n", + " {'price': 0.12000000000000081,\n", + " 'vl': 90007.566907608,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-TSUKA @ 0.12 USDC per TSUKA'}]],\n", + " 'stETH-fE84/WETH-6Cc2': [[('carbon_v1', '035408-0'),\n", + " {'price': 0.979999999999996,\n", + " 'vl': 1.0204081632653104,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-stETH @ 0.98 WETH per stETH'}],\n", + " [('ccomp', '7cbb82c5'),\n", + " {'price': 0.9896467518565598,\n", + " 'vl': 63.57551601874582,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-stETH @ 0.99 WETH per stETH'}],\n", + " [('carbon_v1', '422914-1'),\n", + " {'price': 0.990099104154901,\n", + " 'vl': 0.08011449944161016,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-stETH @ 0.99 WETH per stETH'}],\n", + " [('carbon_v1', '422993-0'),\n", + " {'price': 0.9979999999999977,\n", + " 'vl': 1.0020040080160344,\n", + " 'itm': '',\n", + " 'b': 'b',\n", + " 's': '',\n", + " 'bsv': 'buy-stETH @ 1.00 WETH per stETH'}],\n", + " [('cgecko', '7cbb82c5'),\n", + " {'price': 1.0007316473794738,\n", + " 'vl': 63.22242916994075,\n", + " 'itm': 'x',\n", + " 'b': 'b',\n", + " 's': 's',\n", + " 'bsv': 'buy-sell-stETH @ 1.00 WETH per stETH'}],\n", + " [('carbon_v1', '422914-0'),\n", + " {'price': 1.010101100858294,\n", + " 'vl': 0.002031521002415079,\n", + " 'itm': '',\n", + " 'b': '',\n", + " 's': 's',\n", + " 'bsv': 'sell-stETH @ 1.01 WETH per stETH'}]]}" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "carbon_by_pair" + ] + }, + { + "cell_type": "markdown", + "id": "9725e9ce-3a93-4155-ba6b-090a4c31ff4e", + "metadata": {}, + "source": [ + "### Convert summary data to Telegram" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "ac593f24-c444-42e3-b893-6c8c6830adc8", + "metadata": {}, + "outputs": [], + "source": [ + "telegram_data = dict(\n", + " script_version = __SCRIPT_VERSION__, # version number of the script producing this record\n", + " script_version_dt = __SCRIPT_DATE__, # ditto date\n", + " time_ts = int(now.timestamp()), # timestamp (epoch)\n", + " time_iso = now.isoformat().split('.')[0], # timestap (iso format)\n", + " prices_usd = token_prices_usd, # token prices (usd)\n", + " pairs = list(pairs), # all pairs\n", + " pairs_n = len(pairs), # ...number\n", + " itm_pairs = itmcarb_pairs, # pairs that have curves in the money (list)\n", + " itm_pairs_n = len(itmcarb_pairs), # ...number\n", + " itm_pos = itmcarb_pos, # carbon and reference positions that are in the money (list)\n", + " itm_pos_n = len(itmcarb_pos), # ...number\n", + " all_pos_bp = carbon_by_pair, # all carbon and reference positions by pair (dict->list)\n", + " all_pos_bp_n = len(carbon_by_pair), # ...number\n", + " other_pos_bp = other_by_pair, # all other positions (dict->list)\n", + " other_pos_bp_n = len(other_by_pair), # ...number\n", + " itm_pos_bypair = itmcarb_pos_bypair, # ditto, but dict[pair] -> list\n", + " missing_pairs = missing_pairs, # missing pairs\n", + " missing_pairs_n = len(missing_pairs), # ...number\n", + " removed_tokens = list(REMOVED_TOKENS), # removed tokens\n", + " removed_tokens_n = len(REMOVED_TOKENS), # ...number\n", + " out_by_pair = out_by_pair # output by pair\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "9d901efd-502f-4100-ba21-64e321c52af6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "===============================================\n", + "ARBITRAGE RUN @ 2023-05-18T18:56:22Z\n", + "===============================================\n", + "Removed tokens: 2\n", + "Total pairs: 26\n", + "Missing pairs: 0\n", + "In-the-money pairs: 8\n", + "In-the-money curves: 10\n", + "-----------------------------------------------\n", + "PAIR CID VLOCK ARBPC VAL\n", + "-----------------------------------------------\n", + "ARB/MATIC 806240-1 163 5.4% 9\n", + "CRV/USDC 612490-0 1 9.6% 0\n", + "LINK/USDT 960408-0 0 4.7% 0\n", + "WBTC/USDC 537493-0 485 0.7% 3\n", + "WETH/BNT 326076-0 5 2.6% 0\n", + "WETH/USDC 057365-0 18 1.6% 0\n", + "WETH/USDT 691656-0 5 5.1% 0\n", + "vBNT/BNT 748977-1 168 0.2% 0\n", + "vBNT/BNT 749015-0 16,823 9.4% 1,584\n", + "vBNT/BNT 748990-0 0 10.9% 0\n", + "-----------------------------------------------\n", + "TOTAL 17,669 9.0% 1,598\n", + "===============================================\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "td = telegram_data\n", + "s = \"\"\n", + "s += f\"=\"*47\n", + "s += f\"\\nARBITRAGE RUN @ {td['time_iso']}Z\\n\"\n", + "s += f\"=\"*47+\"\\n\"\n", + "s += f\"Removed tokens: {td['removed_tokens_n']:3}\\n\"\n", + "s += f\"Total pairs: {td['pairs_n']:3}\\n\"\n", + "s += f\"Missing pairs: {td['missing_pairs_n']:3}\\n\"\n", + "s += f\"In-the-money pairs: {td['itm_pairs_n']:3}\\n\"\n", + "s += f\"In-the-money curves: {td['itm_pos_n']:3}\\n\"\n", + "total_vl_usd = 0\n", + "total_arbval = 0\n", + "s += \"-----------------------------------------------\\n\"\n", + "s += \"PAIR CID VLOCK ARBPC VAL\\n\"\n", + "s += \"-----------------------------------------------\\n\"\n", + "for p in td['itm_pos']:\n", + " price_pair = prices_n_by_pair[p['pair']] or 0\n", + " price_pc = f\"{abs(price_pair/p['price']-1)*100:8.1f}%\"\n", + " vl_token = p['pair'].split('/')[0].split(\"-\")[0]\n", + " vl_token_price = token_prices_usd.get(vl_token.upper())\n", + " vl_usd = p['vl']*vl_token_price\n", + " total_vl_usd += vl_usd\n", + " arbval = vl_usd * abs(price_pair/p['price']-1)\n", + " if price_pc.endswith(\"100.0%\"): \n", + " price_pc = \" \"\n", + " arbval = 0\n", + " total_arbval += arbval\n", + " s += f\"{p['pair']:12} \"\n", + " s += f\"{p['cid0'][-8:]:8} \"\n", + " s += f\"{vl_usd:9,.0f}\"\n", + " s += f\"{price_pc} \"\n", + " s += f\"{arbval:6,.0f}\"\n", + " #s += f\"[{p['bsv']}; p={price_pair:,.2f}]\"\n", + " #s += f\"\\n{p}\"\n", + " s += \"\\n\"\n", + "s += \"-----------------------------------------------\\n\"\n", + "s += f\"TOTAL {total_vl_usd:25,.0f} {100*total_arbval/total_vl_usd:5.1f}% {total_arbval:6,.0F}\\n\"\n", + "s += \"===============================================\\n\"\n", + "s += \"\\n\\n\"\n", + "telegram_data[\"summary_text\"] = s\n", + "print()\n", + "print(s)" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "da6d3cc7-558b-4125-a2e4-75b0c12e5d05", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"Analysis_015.latest.out\", \"w\") as f:\n", + " f.write(s)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "6ec2547a-7c94-4373-a2e1-dba23542dc20", + "metadata": {}, + "outputs": [], + "source": [ + "with open(\"Analysis_015.latest.json\", \"w\") as f:\n", + " f.write(json.dumps(telegram_data))" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "22e959f1-e1c8-4238-adf9-61c72d7130af", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "None or 0" + ] + }, + { + "cell_type": "markdown", + "id": "cf5a440e-d6b5-469e-a418-65809baa9931", + "metadata": {}, + "source": [ + "## Review" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "7582c0cc-8f9e-448d-b6ab-6f120b722dec", + "metadata": { + "lines_to_next_cell": 0 + }, + "outputs": [], + "source": [ + "#print(CCfull.bycids(endswith=\"612490-0\")[0].description())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba6bf181-2ecb-4780-9e91-d200a3db22b9", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20e1855c-1a5c-448e-afd5-596e00caaa23", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aedcf6a1-e35e-4307-add7-a049c9183d85", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.py b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.py new file mode 100644 index 000000000..f938220a3 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_015_ArbMonitoringBot.py @@ -0,0 +1,388 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +__SCRIPT_VERSION__ = "3.0" +__SCRIPT_DATE__ = "18/May/2023" + +from fastlane_bot.bot import CarbonBot as Bot +from fastlane_bot.tools.cpc import ConstantProductCurve as CPC, CPCContainer, T, Pair +from fastlane_bot.tools.analyzer import CPCAnalyzer +from fastlane_bot.tools.cryptocompare import CryptoCompare +import requests +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(Bot)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPC)) +print("{0.__name__} v{0.__VERSION__} ({0.__DATE__})".format(CPCAnalyzer)) +import pandas as pd +import datetime +import time +import json +from hashlib import md5 +from fastlane_bot import __VERSION__ + +# # Mainnet Arbitrage Monitoring Bot [A015] + +cid = lambda pair: md5(pair.encode()).hexdigest() +cid("WETH-6Cc2/USDC-eB48") + +bot = Bot() +CCm = bot.get_curves() +fn = f"../data/A014-{int(time.time())}.csv.gz" +print (f"Saving as {fn}") +CCm.asdf().to_csv(fn, compression = "gzip") + + +class TokenAddress(): + def __init__(self, db): + self._db = db + + def addr_from_ticker(self, ticker): + return self._db.get_token(key=ticker).address + a = addr_from_ticker + + def ticker_from_addr(self, addr): + raise NotImplemented() +TA = TokenAddress(bot.db) +TA.a("WETH-6Cc2") + +# ## Header and metadata + +now = datetime.datetime.now() +print("*"*100) +print(f"ARBITRAGE ANALYSIS RUN @ {now.isoformat().split('.')[0]}Z [{int(now.timestamp())}]") +print("*"*100) + +# ## Read curves + +# ### Read Carbon curves + +#CCm = CPCContainer.from_df(pd.read_csv("../data/A014-1684148163.csv.gz")) +# CCu3 = CCm.byparams(exchange="uniswap_v3") +# CCu2 = CCm.byparams(exchange="uniswap_v2") +# CCs2 = CCm.byparams(exchange="sushiswap_v2") +CCc1 = CCm.byparams(exchange="carbon_v1") # all Carbon positions +CCnc1 = CCm.byparams(exchange="carbon_v1", _inv=True) # all non-Carbon positions +# tc_u3 = CCu3.token_count(asdict=True) +# tc_u2 = CCu2.token_count(asdict=True) +# tc_s2 = CCs2.token_count(asdict=True) +# tc_c1 = CCc1.token_count(asdict=True) +# CAm = CPCAnalyzer(CCm) +CAc1 = CPCAnalyzer(CCc1) +pairs = CAc1.pairsc() + + +help(CCm.byparams) + +# now = datetime.datetime.now() +# int(now.timestamp()), now.isoformat()## Print heading + +# ### Read prices and create proxy curves + +# #### Preparations + +tokens0 = CAc1.tokens() +tokens0 + +print("\n\n"+"="*100) +print("REMOVED TOKENS") +print("="*100) + +REMOVED_TOKENS = {"0x0-1AD5", "LBR-aCcA"} +print(REMOVED_TOKENS) + +tokens = tokens0 - REMOVED_TOKENS +pairs = CAc1.CC.filter_pairs(bothin=tokens) +tokens_addr = {tkn: TA.a(tkn) for tkn in tokens} +tokens_addrr = {v.lower():k for k,v in tokens_addr.items()} +print("\n\n"+"="*100) +print("TOKEN ADDRESSES") +print("="*100) +for k,v in tokens_addr.items(): + print(f"{k:20} {v}") +tokens_addr, tokens_addrr + + +# #### CryptoCompare + +tokens_cc = [Pair.n(x) for x in tokens] +tokens_cc + +token_prices_usd_cc = CryptoCompare(apikey=True, verbose=False).query_tokens(tokens_cc) +token_prices_usd_cc + +missing_cc = set(tokens_cc) - set(token_prices_usd_cc) +missing_cc + +# + +token_prices_usd = token_prices_usd_cc +P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()] +def P(pair): + try: + return P0(*Pair.n(pair).split("/")) + except KeyError: + return None + +prices_by_pair = {pair: P(pair) for pair in pairs} +prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()} +print("\n\n"+"="*100) +print("PRICES BY PAIR (CRYPTOCOMPARE)") +print("="*100) +for k,v in prices_n_by_pair.items(): + if not v is None: + print(f"{k:20} {v:20,.6f}") + else: + print(f"{k:20} ---") +# - + +proxy_curves_cc = [ + CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+"CG"), params=dict(exchange="ccomp")) + for pair, price in prices_by_pair.items() if not price is None +] +#proxy_curves_cc + + +# #### CoinGecko + +addr_s = ",".join(x for x in tokens_addr.values()) +url = "https://api.coingecko.com/api/v3/simple/token_price/ethereum" +params = dict(contract_addresses=addr_s, vs_currencies="usd") +r = requests.get(url, params=params) +token_prices_usd_cg_raw = {tokens_addrr[k]: v["usd"] for k,v in r.json().items()} +token_prices_usd_cg = {Pair.n(tokens_addrr[k]).upper(): v["usd"] for k,v in r.json().items()} +token_prices_usd_cg_raw + +missing_cg = set(tokens_addr) - set(token_prices_usd_cg_raw) +missing_cg + +# + +token_prices_usd = token_prices_usd_cg +P0 = lambda tknb,tknq: token_prices_usd[tknb.upper()]/token_prices_usd[tknq.upper()] +def P(pair): + try: + return P0(*Pair.n(pair).split("/")) + except KeyError: + return None + +prices_by_pair = {pair: P(pair) for pair in pairs} +prices_n_by_pair = {Pair.n(pair): p for pair, p in prices_by_pair.items()} +print("\n\n"+"="*100) +print("PRICES BY PAIR (COINGECKO)") +print("="*100) +for k,v in prices_n_by_pair.items(): + if not v is None: + print(f"{k:20} {v:20,.6f}") + else: + print(f"{k:20} ---") +# - + +proxy_curves_cg = [ + CPC.from_pk(p=price, pair=pair, k=1000, cid=cid(pair+"CG"), params=dict(exchange="cgecko")) + for pair, price in prices_by_pair.items() if not price is None +] +#proxy_curves_cg + + +# #### Assembly + +# CCother = CCu3.bypairs(CCc1.pairs()) +CCcg = CPCContainer(proxy_curves_cg) +CCcc = CPCContainer(proxy_curves_cc) +CCfull = CCc1.copy().add(CCcg).add(CCcc) +#CAother = CPCAnalyzer(CCother) +CAfull = CPCAnalyzer(CCfull) +CAnc1 = CPCAnalyzer(CCnc1) +print(f"CAfull: {len(CAfull.CC):4} entries") +print(f"CAnc1: {len(CAnc1.CC):4} entries") + +# ## By-pair data for Carbon + +# ### Count by pairs + +df = CAc1.count_by_pairs() +print("\n\n"+"="*100) +print("PAIRS") +print("="*100) +print(df) +#df + +print("\n\n CARBON CGECKO CCOMP") +print(f"Pairs: {len(pairs):4} {len(CCcg.pairs()):7} {len(CCcc.pairs()):7}") +print(f"Tokens: {len(tokens):4} {len(CCcg.tokens()):7} {len(CCcc.tokens()):7}") +print(f"Curves: {len(CAc1.CC):4} {len(CCcg):7} {len(CCcc):7}") + +# ### Calculate by-pair statistics + +pasdf = CAfull.pool_arbitrage_statistics() +pasnc1df = CAnc1.pool_arbitrage_statistics(only_pairs_with_carbon=False) + + +# ### Print by-pair statistics + +# + +def prints(*x): + global s + s += " ".join([str(x_) for x_ in x]) + s += "\n" +out_by_pair = dict() +carbon_by_pair = dict() +other_by_pair = dict() + +for pair in list(pairs): + s = "" + prints("\n\n"+"="*100) + prints(f"Pair = {pair}") + prints("="*100) + df = pasdf.loc[Pair.n(pair)] + try: + nc1df = pasnc1df.loc[Pair.n(pair)] + except: + nc1df = pd.DataFrame() + hasproxydata = len(df.reset_index()[df.reset_index()["exchange"]=="cgecko"])>0 + if hasproxydata: + prints("\n--- ALL CARBON AND REFERENCE POSITIONS ---") + prints(df.to_string()) + carbon_by_pair[pair] = [[k,v] for k,v in df.to_dict(orient="index").items()] + prints("\n--- IN-THE-MONEY POSITIONS ---") + dfitm = df[df["itm"]=="x"] + if len(dfitm) > 0: + prints(dfitm.to_string()) + else: + prints("-None-") + prints("\n--- ALL NON-CARBON POSITIONS ---") + if len(nc1df) > 0: + prints(nc1df.to_string()) + else: + prints("-None-") + other_by_pair[pair] = [[k,v] for k,v in nc1df.to_dict(orient="index").items()] + + else: + prints("\n--- NO PRICE DATA AVAILABLE ---") + + out_by_pair[pair] = s + print(s) + +# - + +# ## Summary data + +# ### Create summary data + +itmcarbdf = pasdf.query("exchange == 'carbon_v1'").query("itm == 'x'") + +itmcarb_pairs = sorted({x[0] for x in tuple(itmcarbdf.index)}) +itmcarb_pairs + +itmcarb_pos = itmcarbdf.reset_index().to_dict(orient="records") +itmcarb_pos[:2] + +itmcarb_pos_bypair = { + pair: [x for x in itmcarb_pos if x["pair"] == pair] + for pair in itmcarb_pairs +} +#itmcarb_pos_bypair + +missing_pairs = [pair for pair, price in prices_by_pair.items() if price is None] +missing_pairs + +carbon_by_pair + +# ### Convert summary data to Telegram + +telegram_data = dict( + script_version = __SCRIPT_VERSION__, # version number of the script producing this record + script_version_dt = __SCRIPT_DATE__, # ditto date + time_ts = int(now.timestamp()), # timestamp (epoch) + time_iso = now.isoformat().split('.')[0], # timestap (iso format) + prices_usd = token_prices_usd, # token prices (usd) + pairs = list(pairs), # all pairs + pairs_n = len(pairs), # ...number + itm_pairs = itmcarb_pairs, # pairs that have curves in the money (list) + itm_pairs_n = len(itmcarb_pairs), # ...number + itm_pos = itmcarb_pos, # carbon and reference positions that are in the money (list) + itm_pos_n = len(itmcarb_pos), # ...number + all_pos_bp = carbon_by_pair, # all carbon and reference positions by pair (dict->list) + all_pos_bp_n = len(carbon_by_pair), # ...number + other_pos_bp = other_by_pair, # all other positions (dict->list) + other_pos_bp_n = len(other_by_pair), # ...number + itm_pos_bypair = itmcarb_pos_bypair, # ditto, but dict[pair] -> list + missing_pairs = missing_pairs, # missing pairs + missing_pairs_n = len(missing_pairs), # ...number + removed_tokens = list(REMOVED_TOKENS), # removed tokens + removed_tokens_n = len(REMOVED_TOKENS), # ...number + out_by_pair = out_by_pair # output by pair +) + +td = telegram_data +s = "" +s += f"="*47 +s += f"\nARBITRAGE RUN @ {td['time_iso']}Z\n" +s += f"="*47+"\n" +s += f"Removed tokens: {td['removed_tokens_n']:3}\n" +s += f"Total pairs: {td['pairs_n']:3}\n" +s += f"Missing pairs: {td['missing_pairs_n']:3}\n" +s += f"In-the-money pairs: {td['itm_pairs_n']:3}\n" +s += f"In-the-money curves: {td['itm_pos_n']:3}\n" +total_vl_usd = 0 +total_arbval = 0 +s += "-----------------------------------------------\n" +s += "PAIR CID VLOCK ARBPC VAL\n" +s += "-----------------------------------------------\n" +for p in td['itm_pos']: + price_pair = prices_n_by_pair[p['pair']] or 0 + price_pc = f"{abs(price_pair/p['price']-1)*100:8.1f}%" + vl_token = p['pair'].split('/')[0].split("-")[0] + vl_token_price = token_prices_usd.get(vl_token.upper()) + vl_usd = p['vl']*vl_token_price + total_vl_usd += vl_usd + arbval = vl_usd * abs(price_pair/p['price']-1) + if price_pc.endswith("100.0%"): + price_pc = " " + arbval = 0 + total_arbval += arbval + s += f"{p['pair']:12} " + s += f"{p['cid0'][-8:]:8} " + s += f"{vl_usd:9,.0f}" + s += f"{price_pc} " + s += f"{arbval:6,.0f}" + #s += f"[{p['bsv']}; p={price_pair:,.2f}]" + #s += f"\n{p}" + s += "\n" +s += "-----------------------------------------------\n" +s += f"TOTAL {total_vl_usd:25,.0f} {100*total_arbval/total_vl_usd:5.1f}% {total_arbval:6,.0F}\n" +s += "===============================================\n" +s += "\n\n" +telegram_data["summary_text"] = s +print() +print(s) + +with open("Analysis_015.latest.out", "w") as f: + f.write(s) + +with open("Analysis_015.latest.json", "w") as f: + f.write(json.dumps(telegram_data)) + +None or 0 + +# ## Review + +# + +#print(CCfull.bycids(endswith="612490-0")[0].description()) +# - + + + + + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.ipynb b/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.ipynb new file mode 100644 index 000000000..9071d8a06 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.ipynb @@ -0,0 +1,240 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 44, + "id": "20a7c5d3-b47d-4dc3-aace-a9980c72c335", + "metadata": {}, + "outputs": [], + "source": [ + "import re\n", + "import json\n", + "from dataclasses import dataclass\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "markdown", + "id": "98cddb64-a8d3-4358-ad63-898f05c440ba", + "metadata": {}, + "source": [ + "# Log Decoder [Analysis016]" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "3272086d-307b-49f4-804c-95e19133635f", + "metadata": {}, + "outputs": [], + "source": [ + "data = \"\"\"\n", + "2023-05-24 15:40:06,165 [fastlane:INFO] - [2023-05-24T15:40:06::1684932006] |calculated_arb| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}]}\n", + "\n", + "2023-05-24 15:40:06,165 [fastlane:INFO] - [2023-05-24T15:40:06::1684932006] |meh| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}]}\n", + "\n", + "2023-05-24 15:40:09,656 [fastlane:INFO] - [2023-05-24T15:40:09::1684932009] |arb_with_gas| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}], 'block_number': 17329101, 'gas': 587111, 'base_fee': 40189088639, 'priority_fee': 109000000, 'max_gas_fee': 40298088639, 'gas_cost_bnt': '84.6551', 'gas_cost_eth': '0.0189', 'gas_cost_millieth': '18927.5609', 'gas_cost_usd': '$34.3880', 'uni_v3_trade_cost_eth': '0.0063', 'uni_v3_trade_cost_usd': '$11.5014'}\n", + "\n", + "\n", + "2023-05-24 16:39:31,176 [fastlane:INFO] - [2023-05-24T16:39:31::1684935571] |arb_with_gas| == {'flashloan': [{'token': 'ETH-EEeE', 'amount': 0.4555, 'profit': 0.0018}], 'profit_bnt': 6.798, 'trades': [{'trade_index': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': 0.4555, 'tkn_out': 'USDC-eB48', 'amt_out': 829.9234, 'cid0': '8841057382'}, {'trade_index': 1, 'tkn_in': 'USDC-eB48', 'amount_in': 829.9234, 'tkn_out': 'WETH-6Cc2', 'amt_out': 0.4572, 'cid0': 'b61bc3f2c4'}], 'block_number': 17329396, 'gas': 586996, 'base_fee_wei': 64373808618, 'priority_fee_wei': 109000000, 'max_gas_fee_wei': 64482808618, 'gas_cost_bnt': 135.4339, 'gas_cost_eth': 0.0303, 'gas_cost_usd': 55.0093, 'uni_v3_trade_cost_eth': 0.0101, 'uni_v3_trade_cost_usd': 18.3904}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "dea71877-e6d7-4bff-8096-36436baff994", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass\n", + "class LogLine():\n", + " time_s: str\n", + " time_ts: int\n", + " tag: str\n", + " data: any\n", + " \n", + " REGEX = r\".*? - \\[(.*?)::(.*?)].*?\\|(.*?)\\|.*?==.*?({.*})\"\n", + " \n", + " @classmethod\n", + " def new(cls, line):\n", + " \"\"\"\n", + " reads a single line and instantiates a new object\n", + " \"\"\"\n", + " m = re.match(cls.REGEX, line)\n", + " return cls(\n", + " time_s = m.group(1)+\"Z\",\n", + " time_ts = int(m.group(2)),\n", + " tag = m.group(3),\n", + " data = json.loads(m.group(4).replace(\"'\", '\"'))\n", + " )\n", + " \n", + " @classmethod\n", + " def parse(cls, logfiletext):\n", + " \"\"\"\n", + " parses the entire text of the logfile\n", + " \"\"\"\n", + " lines = (l for l in data.splitlines() if l.strip())\n", + " ll = list(LogLine.new(l) for l in lines)\n", + " return ll\n", + " \n", + " \n", + " @property\n", + " def time(self):\n", + " \"\"\"datetime object corresponding to time\"\"\"\n", + " return datetime.fromtimestamp(self.time_ts)" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "feeff244-d9fc-4ccc-9bf9-a37b5b430fab", + "metadata": {}, + "outputs": [], + "source": [ + "ll = LogLine.parse(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "4f1a3609-02fc-40ab-ac16-b493cb37d45d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['calculated_arb', 'meh', 'arb_with_gas', 'arb_with_gas']" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[l.tag for l in ll]" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "c8687d11-9c5d-4555-a888-771b150b1d03", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'FLT': 'ETH-EEeE',\n", + " 'flash_amount': '0.4555',\n", + " 'profit_native': '0.0013',\n", + " 'profit_bnt': '4.8882',\n", + " 'trades': [{'trade': 0,\n", + " 'tkn_in': 'WETH-6Cc2',\n", + " 'amount_in': '0.4555',\n", + " 'tkn_out': 'USDC-eB48',\n", + " 'amt_out': '829.9234',\n", + " 'cid': '8841057382'},\n", + " {'trade': 1,\n", + " 'tkn_in': 'USDC-eB48',\n", + " 'amount_in': '829.9234',\n", + " 'tkn_out': 'WETH-6Cc2',\n", + " 'amt_out': '0.4567',\n", + " 'cid': 'b61bc3f2c4'}]}" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ll[0].data" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "0bc47d04-5824-4fd8-a859-c82c69e596a4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'flashloan': [{'token': 'ETH-EEeE', 'amount': 0.4555, 'profit': 0.0018}],\n", + " 'profit_bnt': 6.798,\n", + " 'trades': [{'trade_index': 0,\n", + " 'tkn_in': 'WETH-6Cc2',\n", + " 'amount_in': 0.4555,\n", + " 'tkn_out': 'USDC-eB48',\n", + " 'amt_out': 829.9234,\n", + " 'cid0': '8841057382'},\n", + " {'trade_index': 1,\n", + " 'tkn_in': 'USDC-eB48',\n", + " 'amount_in': 829.9234,\n", + " 'tkn_out': 'WETH-6Cc2',\n", + " 'amt_out': 0.4572,\n", + " 'cid0': 'b61bc3f2c4'}],\n", + " 'block_number': 17329396,\n", + " 'gas': 586996,\n", + " 'base_fee_wei': 64373808618,\n", + " 'priority_fee_wei': 109000000,\n", + " 'max_gas_fee_wei': 64482808618,\n", + " 'gas_cost_bnt': 135.4339,\n", + " 'gas_cost_eth': 0.0303,\n", + " 'gas_cost_usd': 55.0093,\n", + " 'uni_v3_trade_cost_eth': 0.0101,\n", + " 'uni_v3_trade_cost_usd': 18.3904}" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ll[-1].data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2ba252bd-3ddb-45c7-8310-2d15bac0be5f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31c94407-b3a9-40bb-8203-86d9c75a4e75", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.py b/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.py new file mode 100644 index 000000000..b4853ec62 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_016-LogDecoder.py @@ -0,0 +1,82 @@ +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +import re +import json +from dataclasses import dataclass +from datetime import datetime + +# # Log Decoder [Analysis016] + +data = """ +2023-05-24 15:40:06,165 [fastlane:INFO] - [2023-05-24T15:40:06::1684932006] |calculated_arb| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}]} + +2023-05-24 15:40:06,165 [fastlane:INFO] - [2023-05-24T15:40:06::1684932006] |meh| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}]} + +2023-05-24 15:40:09,656 [fastlane:INFO] - [2023-05-24T15:40:09::1684932009] |arb_with_gas| == {'FLT': 'ETH-EEeE', 'flash_amount': '0.4555', 'profit_native': '0.0013', 'profit_bnt': '4.8882', 'trades': [{'trade': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': '0.4555', 'tkn_out': 'USDC-eB48', 'amt_out': '829.9234', 'cid': '8841057382'}, {'trade': 1, 'tkn_in': 'USDC-eB48', 'amount_in': '829.9234', 'tkn_out': 'WETH-6Cc2', 'amt_out': '0.4567', 'cid': 'b61bc3f2c4'}], 'block_number': 17329101, 'gas': 587111, 'base_fee': 40189088639, 'priority_fee': 109000000, 'max_gas_fee': 40298088639, 'gas_cost_bnt': '84.6551', 'gas_cost_eth': '0.0189', 'gas_cost_millieth': '18927.5609', 'gas_cost_usd': '$34.3880', 'uni_v3_trade_cost_eth': '0.0063', 'uni_v3_trade_cost_usd': '$11.5014'} + + +2023-05-24 16:39:31,176 [fastlane:INFO] - [2023-05-24T16:39:31::1684935571] |arb_with_gas| == {'flashloan': [{'token': 'ETH-EEeE', 'amount': 0.4555, 'profit': 0.0018}], 'profit_bnt': 6.798, 'trades': [{'trade_index': 0, 'tkn_in': 'WETH-6Cc2', 'amount_in': 0.4555, 'tkn_out': 'USDC-eB48', 'amt_out': 829.9234, 'cid0': '8841057382'}, {'trade_index': 1, 'tkn_in': 'USDC-eB48', 'amount_in': 829.9234, 'tkn_out': 'WETH-6Cc2', 'amt_out': 0.4572, 'cid0': 'b61bc3f2c4'}], 'block_number': 17329396, 'gas': 586996, 'base_fee_wei': 64373808618, 'priority_fee_wei': 109000000, 'max_gas_fee_wei': 64482808618, 'gas_cost_bnt': 135.4339, 'gas_cost_eth': 0.0303, 'gas_cost_usd': 55.0093, 'uni_v3_trade_cost_eth': 0.0101, 'uni_v3_trade_cost_usd': 18.3904} +""" + + +@dataclass +class LogLine(): + time_s: str + time_ts: int + tag: str + data: any + + REGEX = r".*? - \[(.*?)::(.*?)].*?\|(.*?)\|.*?==.*?({.*})" + + @classmethod + def new(cls, line): + """ + reads a single line and instantiates a new object + """ + m = re.match(cls.REGEX, line) + return cls( + time_s = m.group(1)+"Z", + time_ts = int(m.group(2)), + tag = m.group(3), + data = json.loads(m.group(4).replace("'", '"')) + ) + + @classmethod + def parse(cls, logfiletext): + """ + parses the entire text of the logfile + """ + lines = (l for l in data.splitlines() if l.strip()) + ll = list(LogLine.new(l) for l in lines) + return ll + + + @property + def time(self): + """datetime object corresponding to time""" + return datetime.fromtimestamp(self.time_ts) + +ll = LogLine.parse(data) + +[l.tag for l in ll] + +ll[0].data + +ll[-1].data + + + + diff --git a/resources/NBTest/_ANALYSIS/Analysis_017.csv b/resources/NBTest/_ANALYSIS/Analysis_017.csv new file mode 100644 index 000000000..b268712d3 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_017.csv @@ -0,0 +1,20 @@ +,blockNumber,cid0,tkn0,tkn1,y0_real,z0_real,y1_real,z1_real,p_start0,p_end0,p_start1,p_end1,reason +0,17339692,11570,ETH,DAI,5.0,5.0,10000.0,10000.0,1750.0,1850.0,1700.0,1500.0,create +1,17339693,11570,ETH,DAI,4.4304,5.0,11000.0,11000.0,1750.0,1850.0,1700.0,1500.0,trade +2,17339694,11570,ETH,DAI,4.9304,5.0,10153.9659,11000.0,1750.0,1850.0,1700.0,1500.0,trade +3,17339695,11570,ETH,DAI,4.9304,4.9304,9153.9659,9153.9659,1750.0,1850.0,1700.0,1500.0,user_change +4,17339696,11570,ETH,DAI,3.9304,4.9304,10913.7466,10913.7466,1750.0,1850.0,1700.0,1500.0,trade +5,17339697,11570,ETH,DAI,5.1201,5.1201,8913.7466,10913.7466,1750.0,1850.0,1700.0,1500.0,trade +6,17339698,11570,ETH,DAI,6.1201,6.1201,8913.7466,8913.7466,1750.0,1850.0,1700.0,1500.0,user_change +7,17339699,11570,ETH,DAI,7.1201,7.1201,7233.1899,8913.7466,1750.0,1850.0,1700.0,1500.0,trade +8,17339700,11570,ETH,DAI,6.1201,6.1201,6233.1899,6233.1899,1750.0,1850.0,1700.0,1500.0,user_change +9,17339701,11570,ETH,DAI,5.6201,6.1201,7110.1532,7110.1532,1750.0,1850.0,1700.0,1500.0,trade +10,17339702,11570,ETH,DAI,5.6201,5.6201,7110.1532,7110.1532,1750.0,1800.0,1650.0,1600.0,user_change +11,17339703,11570,ETH,DAI,7.6201,7.6201,3833.3734,7110.1532,1750.0,1800.0,1650.0,1600.0,trade +12,17339704,11570,ETH,DAI,5.9111,7.6201,6833.3734,7110.1532,1750.0,1800.0,1650.0,1600.0,trade +13,17339705,11570,ETH,DAI,3.9111,3.9111,6833.3734,6833.3734,1750.0,1800.0,1650.0,1600.0,user_change +14,17339706,11570,ETH,DAI,3.9111,3.9111,7833.3734,7833.3734,1750.0,1800.0,1650.0,1600.0,user_change +15,17339707,11570,ETH,DAI,3.9111,3.9111,7833.3734,7833.3734,1750.0,1800.0,1675.0,1600.0,user_change +16,17339708,11570,ETH,DAI,5.7179,5.7179,4833.3734,7833.3734,1750.0,1800.0,1675.0,1600.0,trade +17,17339709,11570,ETH,DAI,0.0,0.0,0.0,0.0,1750.0,1800.0,1675.0,1600.0,user_change +18,17339710,11570,ETH,DAI,0.0,0.0,0.0,0.0,1750.0,1800.0,1675.0,1600.0,delete diff --git a/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.ipynb b/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.ipynb new file mode 100644 index 000000000..b77b900d3 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.ipynb @@ -0,0 +1,979 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "3dc1846d-c9cc-4a26-9452-8eb753a45678", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from dataclasses import dataclass, field, InitVar\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "id": "ba1e9abf-26ee-4d52-a2bd-14b8e0c4cdd3", + "metadata": {}, + "source": [ + "# Strategy Evaluation [A017]" + ] + }, + { + "cell_type": "markdown", + "id": "58d8dca7-b309-49ec-ac55-f5cb54f93dc7", + "metadata": {}, + "source": [ + "## Data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "4a439f6c-8018-40f2-ac25-6a3c41db272f", + "metadata": {}, + "outputs": [], + "source": [ + "FPATH = \".\"\n", + "FNAME = \"Analysis_017.csv\"\n", + "FFN = os.path.join(FPATH, FNAME)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "58a34cf4-e0c2-4d5d-9cb6-042bc9ebcd9b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "./Analysis_017.csv\n" + ] + } + ], + "source": [ + "!ls {FPATH}/*.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "77476811-0ea9-4153-ae40-380b23dd0940", + "metadata": { + "lines_to_next_cell": 1 + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
blockNumbercid0tkn0tkn1y0_realz0_realy1_realz1_realp_start0p_end0p_start1p_end1reason
01733969211570ETHDAI5.00005.000010000.000010000.00001750.01850.01700.01500.0create
11733969311570ETHDAI4.43045.000011000.000011000.00001750.01850.01700.01500.0trade
21733969411570ETHDAI4.93045.000010153.965911000.00001750.01850.01700.01500.0trade
31733969511570ETHDAI4.93044.93049153.96599153.96591750.01850.01700.01500.0user_change
41733969611570ETHDAI3.93044.930410913.746610913.74661750.01850.01700.01500.0trade
51733969711570ETHDAI5.12015.12018913.746610913.74661750.01850.01700.01500.0trade
61733969811570ETHDAI6.12016.12018913.74668913.74661750.01850.01700.01500.0user_change
71733969911570ETHDAI7.12017.12017233.18998913.74661750.01850.01700.01500.0trade
81733970011570ETHDAI6.12016.12016233.18996233.18991750.01850.01700.01500.0user_change
91733970111570ETHDAI5.62016.12017110.15327110.15321750.01850.01700.01500.0trade
101733970211570ETHDAI5.62015.62017110.15327110.15321750.01800.01650.01600.0user_change
111733970311570ETHDAI7.62017.62013833.37347110.15321750.01800.01650.01600.0trade
121733970411570ETHDAI5.91117.62016833.37347110.15321750.01800.01650.01600.0trade
131733970511570ETHDAI3.91113.91116833.37346833.37341750.01800.01650.01600.0user_change
141733970611570ETHDAI3.91113.91117833.37347833.37341750.01800.01650.01600.0user_change
151733970711570ETHDAI3.91113.91117833.37347833.37341750.01800.01675.01600.0user_change
161733970811570ETHDAI5.71795.71794833.37347833.37341750.01800.01675.01600.0trade
171733970911570ETHDAI0.00000.00000.00000.00001750.01800.01675.01600.0user_change
181733971011570ETHDAI0.00000.00000.00000.00001750.01800.01675.01600.0delete
\n", + "
" + ], + "text/plain": [ + " blockNumber cid0 tkn0 tkn1 y0_real z0_real y1_real z1_real \\\n", + "0 17339692 11570 ETH DAI 5.0000 5.0000 10000.0000 10000.0000 \n", + "1 17339693 11570 ETH DAI 4.4304 5.0000 11000.0000 11000.0000 \n", + "2 17339694 11570 ETH DAI 4.9304 5.0000 10153.9659 11000.0000 \n", + "3 17339695 11570 ETH DAI 4.9304 4.9304 9153.9659 9153.9659 \n", + "4 17339696 11570 ETH DAI 3.9304 4.9304 10913.7466 10913.7466 \n", + "5 17339697 11570 ETH DAI 5.1201 5.1201 8913.7466 10913.7466 \n", + "6 17339698 11570 ETH DAI 6.1201 6.1201 8913.7466 8913.7466 \n", + "7 17339699 11570 ETH DAI 7.1201 7.1201 7233.1899 8913.7466 \n", + "8 17339700 11570 ETH DAI 6.1201 6.1201 6233.1899 6233.1899 \n", + "9 17339701 11570 ETH DAI 5.6201 6.1201 7110.1532 7110.1532 \n", + "10 17339702 11570 ETH DAI 5.6201 5.6201 7110.1532 7110.1532 \n", + "11 17339703 11570 ETH DAI 7.6201 7.6201 3833.3734 7110.1532 \n", + "12 17339704 11570 ETH DAI 5.9111 7.6201 6833.3734 7110.1532 \n", + "13 17339705 11570 ETH DAI 3.9111 3.9111 6833.3734 6833.3734 \n", + "14 17339706 11570 ETH DAI 3.9111 3.9111 7833.3734 7833.3734 \n", + "15 17339707 11570 ETH DAI 3.9111 3.9111 7833.3734 7833.3734 \n", + "16 17339708 11570 ETH DAI 5.7179 5.7179 4833.3734 7833.3734 \n", + "17 17339709 11570 ETH DAI 0.0000 0.0000 0.0000 0.0000 \n", + "18 17339710 11570 ETH DAI 0.0000 0.0000 0.0000 0.0000 \n", + "\n", + " p_start0 p_end0 p_start1 p_end1 reason \n", + "0 1750.0 1850.0 1700.0 1500.0 create \n", + "1 1750.0 1850.0 1700.0 1500.0 trade \n", + "2 1750.0 1850.0 1700.0 1500.0 trade \n", + "3 1750.0 1850.0 1700.0 1500.0 user_change \n", + "4 1750.0 1850.0 1700.0 1500.0 trade \n", + "5 1750.0 1850.0 1700.0 1500.0 trade \n", + "6 1750.0 1850.0 1700.0 1500.0 user_change \n", + "7 1750.0 1850.0 1700.0 1500.0 trade \n", + "8 1750.0 1850.0 1700.0 1500.0 user_change \n", + "9 1750.0 1850.0 1700.0 1500.0 trade \n", + "10 1750.0 1800.0 1650.0 1600.0 user_change \n", + "11 1750.0 1800.0 1650.0 1600.0 trade \n", + "12 1750.0 1800.0 1650.0 1600.0 trade \n", + "13 1750.0 1800.0 1650.0 1600.0 user_change \n", + "14 1750.0 1800.0 1650.0 1600.0 user_change \n", + "15 1750.0 1800.0 1675.0 1600.0 user_change \n", + "16 1750.0 1800.0 1675.0 1600.0 trade \n", + "17 1750.0 1800.0 1675.0 1600.0 user_change \n", + "18 1750.0 1800.0 1675.0 1600.0 delete " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datadf = pd.read_csv(FFN, index_col=0)\n", + "datadf" + ] + }, + { + "cell_type": "markdown", + "id": "02ba3d36-5f27-49c2-b9ab-8581f7c1e0c0", + "metadata": {}, + "source": [ + "## Code" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "51f86239-b457-4a58-866b-ab09355039f0", + "metadata": {}, + "outputs": [], + "source": [ + "class AttrDict(dict):\n", + " \"\"\"\n", + " A dictionary that allows for attribute-style access\n", + "\n", + " see https://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute\n", + " \"\"\"\n", + "\n", + " def __init__(self, *args, **kwargs):\n", + " super(AttrDict, self).__init__(*args, **kwargs)\n", + " self.__dict__ = self" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "caa23b72", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Prices(pricedata={'USD': 1, 'DAI': 1, 'ETH': 2000}, defaulttkn='USD')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Prices():\n", + " \"\"\"\n", + " simple class dealing with token prices\n", + " \n", + " :pricedata: dict token -> price (in any common numeraire)\n", + " :defaulttkn: the default quote token for prices\n", + " \"\"\"\n", + " def __init__(self, pricedata=None, defaulttkn=None, **kwargs):\n", + " if pricedata is None:\n", + " pricedata = dict()\n", + " pricedata = {**pricedata, **kwargs}\n", + " self._pricedata = {k.upper(): v for k,v in pricedata.items()}\n", + " if defaulttkn is None:\n", + " defaulttkn = list(pricedata.keys())[0]\n", + " self.defaulttkn = defaulttkn.upper()\n", + " assert defaulttkn in pricedata, f\"defaulttkn [{defaulttkn}] must be in pricedata [{pricedata.keys()}]\"\n", + " if not isinstance(pricedata, dict):\n", + " raise ValueError(\"pricedata must be a dictionary\", pricedata)\n", + "\n", + " def tokens(self):\n", + " \"\"\"returns set of all tokens\"\"\"\n", + " return set(self._pricedata.keys())\n", + " \n", + " def price(self, tknb, tknq=None):\n", + " \"\"\"\n", + " returns the price of tknb in tknq\n", + " \"\"\"\n", + " if tknq is None:\n", + " tknq = self.defaulttkn\n", + " return self._pricedata[tknb.upper()] / self._pricedata[tknq.upper()]\n", + " \n", + " def __call__(self, *args, **kwargs):\n", + " \"\"\"alias for price\"\"\"\n", + " return self.price(*args, **kwargs)\n", + " \n", + " def __repr__(self):\n", + " return f\"{self.__class__.__name__}(pricedata={self._pricedata}, defaulttkn='{self.defaulttkn}')\"\n", + " \n", + "P = Prices(usd=1, dai=1, eth=2000)\n", + "P" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "802d958c", + "metadata": { + "lines_to_next_cell": 1 + }, + "outputs": [], + "source": [ + "@dataclass\n", + "class CashFlow():\n", + " \"\"\"\n", + " represents a single cashflow\n", + " \n", + " :blocknumber: block number\n", + " :tkn: token\n", + " :amt: amount\n", + " \"\"\"\n", + " blocknumber: int\n", + " tkn: str\n", + " amt: float" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "2e14fd0f", + "metadata": {}, + "outputs": [], + "source": [ + "@dataclass\n", + "class StrategyAnalyzer():\n", + " \"\"\"\n", + " Analyze performance of Carbon strategies (wrapper object for multiple strategies)\n", + " \"\"\"\n", + " \n", + " df: InitVar\n", + " datadf: any = field(init=False, repr=False, default=None)\n", + " prices: Prices = field(default=None)\n", + "\n", + " def __post_init__(self, df):\n", + " df[self.CIDFIELD] = df[self.CIDFIELD].astype(str)\n", + " self.datadf = df\n", + " \n", + " CIDFIELD = \"cid0\"\n", + " REASONFIELD = \"reason\"\n", + " RS_CREATE = \"create\"\n", + " RS_TRADE = \"trade\"\n", + " RS_CHANGE = \"user_change\" \n", + " def cids(self):\n", + " \"\"\"returns set of all cids\"\"\"\n", + " return set(self.datadf[self.CIDFIELD])\n", + " \n", + " BYCID_RAW = \"raw\"\n", + " BYCID_CHANGES = \"changes\"\n", + " BYCID_FLOWS = \"flows\"\n", + " \n", + " def value(self, series, tknq=None):\n", + " \"\"\"returns the value of the series (in tknq, calculated using self.prices)\"\"\"\n", + " val = [amt*self.prices(tkn, tknq) for tkn,amt in zip(series.index, series)]\n", + " return sum(val)\n", + " \n", + " def bycid(self, cid, *, result=None):\n", + " \"\"\"\n", + " returns dataframe for a given CID only\n", + " \n", + " :cid: the cid in question\n", + " :result: BYCID_RAW or BYCID_FLOWS (default)\n", + " :returns: the requested result\n", + " \"\"\"\n", + " if result is None:\n", + " result = self.BYCID_FLOWS\n", + " \n", + " df = self.datadf.query(f\"{self.CIDFIELD} == '{str(cid)}'\").set_index(\"blockNumber\")\n", + " if result == self.BYCID_RAW:\n", + " return df\n", + " \n", + " assert len(df[\"tkn0\"].unique()) == 1, f\"must have exactly one tkn0 [{df['tkn0'].unique()}]\"\n", + " assert len(df[\"tkn1\"].unique()) == 1, f\"must have exactly one tkn1 [{df['tkn1'].unique()}]\"\n", + " tkn0 = df[\"tkn0\"].iloc[0]\n", + " tkn1 = df[\"tkn1\"].iloc[0]\n", + " dfd0 = df[[\"y0_real\", \"y1_real\"]].rename(columns={\"y0_real\": tkn0, \"y1_real\": tkn1})\n", + " dfd = dfd0.diff()\n", + " dfd.iloc[0] = dfd0.iloc[0]\n", + " dfd[\"reason\"] = df[\"reason\"]\n", + " assert dfd[\"reason\"].iloc[0] == \"create\", f\"first event must be create [{dfd['reason'].iloc[0]}]\"\n", + " events = set(dfd[\"reason\"].iloc[1:])\n", + " assert not \"create\" in events, f\"must not have create event after first [{events}]\"\n", + " if result == self.BYCID_CHANGES:\n", + " return dfd\n", + " if result == self.BYCID_FLOWS:\n", + " return dfd.query(\"reason != 'trade' and reason != 'delete'\").drop(\"reason\", axis=1)\n", + " \n", + " raise ValueError(\"Unknown result\", result)" + ] + }, + { + "cell_type": "markdown", + "id": "3bf4ceeb-07f6-47df-91e2-86f47bdb4c95", + "metadata": {}, + "source": [ + "## Analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "38208721-aab7-4f35-bc94-f6241b5b27e0", + "metadata": {}, + "outputs": [], + "source": [ + "SA = StrategyAnalyzer(datadf, prices=P)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "e3ebf6bc-0bd1-4374-a22b-7f1a3ed0c513", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Prices(pricedata={'USD': 1, 'DAI': 1, 'ETH': 2000}, defaulttkn='USD')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "SA.prices" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "fb3c03b2-4411-4602-a579-1b692fc15ce8", + "metadata": {}, + "outputs": [], + "source": [ + "analysis_data = AttrDict()\n", + "ad = analysis_data" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "65af6f5c-6343-49a9-9923-eca810a6bb5f", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ETHDAI
blockNumber
173396925.000010000.0000
173396950.0000-1000.0000
173396981.00000.0000
17339700-1.0000-1000.0000
173397020.00000.0000
17339705-2.00000.0000
173397060.00001000.0000
173397070.00000.0000
17339709-5.7179-4833.3734
\n", + "
" + ], + "text/plain": [ + " ETH DAI\n", + "blockNumber \n", + "17339692 5.0000 10000.0000\n", + "17339695 0.0000 -1000.0000\n", + "17339698 1.0000 0.0000\n", + "17339700 -1.0000 -1000.0000\n", + "17339702 0.0000 0.0000\n", + "17339705 -2.0000 0.0000\n", + "17339706 0.0000 1000.0000\n", + "17339707 0.0000 0.0000\n", + "17339709 -5.7179 -4833.3734" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ad.flowdf = SA.bycid(11570)\n", + "ad.flowdf" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "dd5a6df1-1cdd-480e-bdeb-81cd8642c831", + "metadata": {}, + "outputs": [], + "source": [ + "ad.tknq = P.defaulttkn" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "2e0fcf74-fe2e-4ddd-b0e6-d4ad823f7d0f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20000.0" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ad.initial_amounts = ad.flowdf.iloc[0]\n", + "ad.initial_amounts_val = SA.value(ad.initial_amounts)\n", + "ad.initial_amounts_val" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "a4d75720", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "21269.1734" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ad.final_amounts = -ad.flowdf.iloc[1:].sum()\n", + "ad.final_amounts_val = SA.value(ad.final_amounts)\n", + "ad.final_amounts_val" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "83772cc6-034b-4366-8ffc-d8c7b2673edc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1269.1734000000006" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ad.change_amounts = ad.final_amounts - ad.initial_amounts\n", + "ad.change_amounts_val = SA.value(ad.change_amounts)\n", + "ad.change_amounts_val" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "e930e845-df2b-463a-a99a-786ee298d49d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'flowdf': ETH DAI\n", + " blockNumber \n", + " 17339692 5.0000 10000.0000\n", + " 17339695 0.0000 -1000.0000\n", + " 17339698 1.0000 0.0000\n", + " 17339700 -1.0000 -1000.0000\n", + " 17339702 0.0000 0.0000\n", + " 17339705 -2.0000 0.0000\n", + " 17339706 0.0000 1000.0000\n", + " 17339707 0.0000 0.0000\n", + " 17339709 -5.7179 -4833.3734,\n", + " 'tknq': 'USD',\n", + " 'initial_amounts': ETH 5.0\n", + " DAI 10000.0\n", + " Name: 17339692, dtype: float64,\n", + " 'initial_amounts_val': 20000.0,\n", + " 'final_amounts': ETH 7.7179\n", + " DAI 5833.3734\n", + " dtype: float64,\n", + " 'final_amounts_val': 21269.1734,\n", + " 'change_amounts': ETH 2.7179\n", + " DAI -4166.6266\n", + " dtype: float64,\n", + " 'change_amounts_val': 1269.1734000000006}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ad" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f1274a87-dddc-4e6f-ad27-a24b0a841960", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ac4f8bc-faa2-4009-9ee0-22f0a19ad551", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.py b/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.py new file mode 100644 index 000000000..76c5ad801 --- /dev/null +++ b/resources/NBTest/_ANALYSIS/Analysis_017_StrategyEvaluation.py @@ -0,0 +1,205 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext: +# formats: ipynb,py:light +# text_representation: +# extension: .py +# format_name: light +# format_version: '1.5' +# jupytext_version: 1.13.1 +# kernelspec: +# display_name: Python 3 +# language: python +# name: python3 +# --- + +import pandas as pd +import numpy as np +import matplotlib.pyplot as plt +from dataclasses import dataclass, field, InitVar +import os + +# # Strategy Evaluation [A017] + +# ## Data + +FPATH = "." +FNAME = "Analysis_017.csv" +FFN = os.path.join(FPATH, FNAME) + +# !ls {FPATH}/*.csv + +datadf = pd.read_csv(FFN, index_col=0) +datadf + +# ## Code + +class AttrDict(dict): + """ + A dictionary that allows for attribute-style access + + see https://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute + """ + + def __init__(self, *args, **kwargs): + super(AttrDict, self).__init__(*args, **kwargs) + self.__dict__ = self + + +# + +class Prices(): + """ + simple class dealing with token prices + + :pricedata: dict token -> price (in any common numeraire) + :defaulttkn: the default quote token for prices + """ + def __init__(self, pricedata=None, defaulttkn=None, **kwargs): + if pricedata is None: + pricedata = dict() + pricedata = {**pricedata, **kwargs} + self._pricedata = {k.upper(): v for k,v in pricedata.items()} + if defaulttkn is None: + defaulttkn = list(pricedata.keys())[0] + self.defaulttkn = defaulttkn.upper() + assert defaulttkn in pricedata, f"defaulttkn [{defaulttkn}] must be in pricedata [{pricedata.keys()}]" + if not isinstance(pricedata, dict): + raise ValueError("pricedata must be a dictionary", pricedata) + + def tokens(self): + """returns set of all tokens""" + return set(self._pricedata.keys()) + + def price(self, tknb, tknq=None): + """ + returns the price of tknb in tknq + """ + if tknq is None: + tknq = self.defaulttkn + return self._pricedata[tknb.upper()] / self._pricedata[tknq.upper()] + + def __call__(self, *args, **kwargs): + """alias for price""" + return self.price(*args, **kwargs) + + def __repr__(self): + return f"{self.__class__.__name__}(pricedata={self._pricedata}, defaulttkn='{self.defaulttkn}')" + +P = Prices(usd=1, dai=1, eth=2000) +P + + +# - + +@dataclass +class CashFlow(): + """ + represents a single cashflow + + :blocknumber: block number + :tkn: token + :amt: amount + """ + blocknumber: int + tkn: str + amt: float + +@dataclass +class StrategyAnalyzer(): + """ + Analyze performance of Carbon strategies (wrapper object for multiple strategies) + """ + + df: InitVar + datadf: any = field(init=False, repr=False, default=None) + prices: Prices = field(default=None) + + def __post_init__(self, df): + df[self.CIDFIELD] = df[self.CIDFIELD].astype(str) + self.datadf = df + + CIDFIELD = "cid0" + REASONFIELD = "reason" + RS_CREATE = "create" + RS_TRADE = "trade" + RS_CHANGE = "user_change" + def cids(self): + """returns set of all cids""" + return set(self.datadf[self.CIDFIELD]) + + BYCID_RAW = "raw" + BYCID_CHANGES = "changes" + BYCID_FLOWS = "flows" + + def value(self, series, tknq=None): + """returns the value of the series (in tknq, calculated using self.prices)""" + val = [amt*self.prices(tkn, tknq) for tkn,amt in zip(series.index, series)] + return sum(val) + + def bycid(self, cid, *, result=None): + """ + returns dataframe for a given CID only + + :cid: the cid in question + :result: BYCID_RAW or BYCID_FLOWS (default) + :returns: the requested result + """ + if result is None: + result = self.BYCID_FLOWS + + df = self.datadf.query(f"{self.CIDFIELD} == '{str(cid)}'").set_index("blockNumber") + if result == self.BYCID_RAW: + return df + + assert len(df["tkn0"].unique()) == 1, f"must have exactly one tkn0 [{df['tkn0'].unique()}]" + assert len(df["tkn1"].unique()) == 1, f"must have exactly one tkn1 [{df['tkn1'].unique()}]" + tkn0 = df["tkn0"].iloc[0] + tkn1 = df["tkn1"].iloc[0] + dfd0 = df[["y0_real", "y1_real"]].rename(columns={"y0_real": tkn0, "y1_real": tkn1}) + dfd = dfd0.diff() + dfd.iloc[0] = dfd0.iloc[0] + dfd["reason"] = df["reason"] + assert dfd["reason"].iloc[0] == "create", f"first event must be create [{dfd['reason'].iloc[0]}]" + events = set(dfd["reason"].iloc[1:]) + assert not "create" in events, f"must not have create event after first [{events}]" + if result == self.BYCID_CHANGES: + return dfd + if result == self.BYCID_FLOWS: + return dfd.query("reason != 'trade' and reason != 'delete'").drop("reason", axis=1) + + raise ValueError("Unknown result", result) + + +# ## Analysis + +SA = StrategyAnalyzer(datadf, prices=P) + +SA.prices + +analysis_data = AttrDict() +ad = analysis_data + +ad.flowdf = SA.bycid(11570) +ad.flowdf + + +ad.tknq = P.defaulttkn + +ad.initial_amounts = ad.flowdf.iloc[0] +ad.initial_amounts_val = SA.value(ad.initial_amounts) +ad.initial_amounts_val + +ad.final_amounts = -ad.flowdf.iloc[1:].sum() +ad.final_amounts_val = SA.value(ad.final_amounts) +ad.final_amounts_val + +ad.change_amounts = ad.final_amounts - ad.initial_amounts +ad.change_amounts_val = SA.value(ad.change_amounts) +ad.change_amounts_val + +ad + + + + diff --git a/resources/NBTest/_DISABLED/NBTest_031_Mainnet.ipynb b/resources/NBTest/_DISABLED/NBTest_031_Mainnet.ipynb index 1b44131d9..8bf9286cc 100644 --- a/resources/NBTest/_DISABLED/NBTest_031_Mainnet.ipynb +++ b/resources/NBTest/_DISABLED/NBTest_031_Mainnet.ipynb @@ -11,7 +11,7 @@ "output_type": "stream", "text": [ "Using default database url, if you want to use a different database, set the backend_url found at the bottom of manager_base.py\n", - "ConstantProductCurve v2.9.1 (06/May/2023)\n", + "ConstantProductCurve v2.10.2 (07/May/2023)\n", "CPCAnalyzer v0.1 (06/May/2023)\n", "CPCArbOptimizer v3.6 (06/May/2023)\n", "CarbonBot v3-b2.1 (03/May/2023)\n", @@ -43,7 +43,7 @@ "id": "b3f59f14-b91b-4dba-94b0-3d513aaf41c7", "metadata": {}, "source": [ - "# Mainnet Server [NB031]" + "# Mainnet Server [A011]" ] }, { @@ -88,7 +88,7 @@ "id": "af0c9279-da09-4b57-9906-390d6697ea6a", "metadata": {}, "source": [ - "## Overall market [NOTEST]" + "## Overall market" ] }, { @@ -101,11 +101,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "Total pairs: 666\n", - "Primary pairs: 637\n", + "Total pairs: 665\n", + "Primary pairs: 636\n", "...carbon: 25\n", "Tokens: 512\n", - "Curves: 812\n" + "Curves: 811\n" ] } ], @@ -122,7 +122,7 @@ "id": "073680a2-1b21-4265-b43e-cfc895c4f5d3", "metadata": {}, "source": [ - "## By pair [NOTEST]" + "## By pair" ] }, { @@ -275,23 +275,23 @@ " ('BNT-FF1C/WETH-6Cc2', 12),\n", " ('BNT-FF1C/vBNT-7f94', 10),\n", " ('USDT-1ec7/USDC-eB48', 8),\n", - " ('LINK-86CA/USDT-1ec7', 5),\n", " ('WBTC-C599/WETH-6Cc2', 5),\n", + " ('LINK-86CA/USDT-1ec7', 5),\n", " ('WBTC-C599/USDT-1ec7', 4),\n", " ('BNT-FF1C/USDC-eB48', 4),\n", " ('WETH-6Cc2/DAI-1d0F', 3),\n", - " ('WETH-6Cc2/USDT-1ec7', 3),\n", - " ('DAI-1d0F/USDC-eB48', 3),\n", - " ('PEPE-1933/WETH-6Cc2', 3),\n", " ('LINK-86CA/USDC-eB48', 3),\n", + " ('PEPE-1933/WETH-6Cc2', 3),\n", + " ('DAI-1d0F/USDC-eB48', 3),\n", + " ('WETH-6Cc2/USDT-1ec7', 3),\n", " ('DAI-1d0F/USDT-1ec7', 3),\n", + " ('LYXe-be6D/USDC-eB48', 2),\n", + " ('WBTC-C599/USDC-eB48', 2),\n", + " ('stETH-fE84/WETH-6Cc2', 2),\n", + " ('ARB-4ad1/MATIC-eBB0', 2),\n", " ('0x0-1AD5/WETH-6Cc2', 2),\n", " ('rETH-6393/WETH-6Cc2', 2),\n", - " ('ARB-4ad1/MATIC-eBB0', 2),\n", - " ('TSUKA-69eD/USDC-eB48', 2),\n", - " ('stETH-fE84/WETH-6Cc2', 2),\n", - " ('WBTC-C599/USDC-eB48', 2),\n", - " ('LYXe-be6D/USDC-eB48', 2)]" + " ('TSUKA-69eD/USDC-eB48', 2)]" ] }, "execution_count": 12, @@ -434,9 +434,9 @@ " BNT/USDC\n", " bancor_v2\n", " 652\n", - " 0.470422\n", - " 1.491898e+06\n", - " \n", + " 0.469913\n", + " 1.492710e+06\n", + " x\n", " bs\n", " buy-sell-BNT @ 0.47 USDC per BNT\n", " \n", @@ -454,11 +454,11 @@ " WETH/USDT\n", " uniswap_v2\n", " 256\n", - " 1891.102235\n", - " 3.212996e+04\n", + " 1918.786596\n", + " 3.195897e+04\n", " \n", " bs\n", - " buy-sell-WETH @ 1891.10 USDT per WETH\n", + " buy-sell-WETH @ 1918.79 USDT per WETH\n", " \n", " \n", " rETH/WETH\n", @@ -509,9 +509,9 @@ " 132277-1 0.000014 5.363000e+03 s \n", "ARB/MATIC carbon_v1 806240-0 1.507045 1.276054e+01 s \n", " 806240-1 1.428571 1.418060e+02 b \n", - "BNT/USDC bancor_v2 652 0.470422 1.491898e+06 bs \n", + "BNT/USDC bancor_v2 652 0.469913 1.492710e+06 x bs \n", "... ... ... .. .. \n", - "WETH/USDT uniswap_v2 256 1891.102235 3.212996e+04 bs \n", + "WETH/USDT uniswap_v2 256 1918.786596 3.195897e+04 bs \n", "rETH/WETH carbon_v1 903115-0 1.069000 1.870907e+00 b \n", " sushiswap_v2 833 1.237861 3.116368e-04 bs \n", "stETH/WETH carbon_v1 422914-0 1.010101 2.031521e-03 s \n", @@ -525,7 +525,7 @@ " 806240-1 buy-ARB @ 1.43 MATIC per ARB \n", "BNT/USDC bancor_v2 652 buy-sell-BNT @ 0.47 USDC per BNT \n", "... ... \n", - "WETH/USDT uniswap_v2 256 buy-sell-WETH @ 1891.10 USDT per WETH \n", + "WETH/USDT uniswap_v2 256 buy-sell-WETH @ 1918.79 USDT per WETH \n", "rETH/WETH carbon_v1 903115-0 buy-rETH @ 1.07 WETH per rETH \n", " sushiswap_v2 833 buy-sell-rETH @ 1.24 WETH per rETH \n", "stETH/WETH carbon_v1 422914-0 sell-stETH @ 1.01 WETH per stETH \n", @@ -564,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 16, "id": "39eb141a-90ff-4c18-95ee-97207ca815ea", "metadata": {}, "outputs": [ @@ -739,37 +739,37 @@ " \n", " sushiswap_v2\n", " 803\n", - " 1889.000690\n", - " 18135.178468\n", - " x\n", + " 1918.328630\n", + " 18000.709598\n", + " \n", " bs\n", - " buy-sell-WETH @ 1889.00 USDC per WETH\n", + " buy-sell-WETH @ 1918.33 USDC per WETH\n", " \n", " \n", " uniswap_v2\n", " 255\n", - " 1894.795088\n", - " 38655.431844\n", - " x\n", + " 1917.166981\n", + " 38437.683898\n", + " \n", " bs\n", - " buy-sell-WETH @ 1894.80 USDC per WETH\n", + " buy-sell-WETH @ 1917.17 USDC per WETH\n", " \n", " \n", " uniswap_v3\n", " 346\n", - " 1896.465782\n", - " 349.257742\n", - " x\n", + " 1915.241349\n", + " 223.316190\n", + " \n", " bs\n", - " buy-sell-WETH @ 1896.47 USDC per WETH\n", + " buy-sell-WETH @ 1915.24 USDC per WETH\n", " \n", " \n", " 593\n", - " 1893.213794\n", - " 21.842346\n", + " 1910.636978\n", + " 22.022255\n", " x\n", " bs\n", - " buy-sell-WETH @ 1893.21 USDC per WETH\n", + " buy-sell-WETH @ 1910.64 USDC per WETH\n", " \n", " \n", "\n", @@ -794,10 +794,10 @@ " 057343-1 1989.999801 1.000000 s \n", " 057353-0 1854.000185 4.234699 b \n", " 057353-1 2047.999795 4.000000 s \n", - "sushiswap_v2 803 1889.000690 18135.178468 x bs \n", - "uniswap_v2 255 1894.795088 38655.431844 x bs \n", - "uniswap_v3 346 1896.465782 349.257742 x bs \n", - " 593 1893.213794 21.842346 x bs \n", + "sushiswap_v2 803 1918.328630 18000.709598 bs \n", + "uniswap_v2 255 1917.166981 38437.683898 bs \n", + "uniswap_v3 346 1915.241349 223.316190 bs \n", + " 593 1910.636978 22.022255 x bs \n", "\n", " bsv \n", "exchange cid0 \n", @@ -817,13 +817,13 @@ " 057343-1 sell-WETH @ 1990.00 USDC per WETH \n", " 057353-0 buy-WETH @ 1854.00 USDC per WETH \n", " 057353-1 sell-WETH @ 2048.00 USDC per WETH \n", - "sushiswap_v2 803 buy-sell-WETH @ 1889.00 USDC per WETH \n", - "uniswap_v2 255 buy-sell-WETH @ 1894.80 USDC per WETH \n", - "uniswap_v3 346 buy-sell-WETH @ 1896.47 USDC per WETH \n", - " 593 buy-sell-WETH @ 1893.21 USDC per WETH " + "sushiswap_v2 803 buy-sell-WETH @ 1918.33 USDC per WETH \n", + "uniswap_v2 255 buy-sell-WETH @ 1917.17 USDC per WETH \n", + "uniswap_v3 346 buy-sell-WETH @ 1915.24 USDC per WETH \n", + " 593 buy-sell-WETH @ 1910.64 USDC per WETH " ] }, - "execution_count": 82, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -835,7 +835,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 17, "id": "e4afb2f3-5926-4a40-a6be-cb4048232b5e", "metadata": {}, "outputs": [ @@ -860,68 +860,68 @@ " \n", " \n", " \n", - " USDC-eB48\n", " WETH-6Cc2\n", + " USDC-eB48\n", " \n", " \n", " \n", " \n", + " 1701411834604692317316873037158841057296-0\n", + " 0.461405\n", + " -8.905124e+02\n", + " \n", + " \n", " 255\n", - " 1.474762e+04\n", - " -7.780094\n", + " 9.065531\n", + " -1.737194e+04\n", " \n", " \n", " 593\n", - " 3.402558e+03\n", - " -1.795766\n", + " -2.726753\n", + " 5.216271e+03\n", " \n", " \n", " 803\n", - " 3.315875e+04\n", - " -17.519677\n", + " 6.973088\n", + " -1.336632e+04\n", " \n", " \n", " 346\n", - " -5.041841e+04\n", - " 26.586471\n", - " \n", - " \n", - " 1701411834604692317316873037158841057296-0\n", - " -8.905124e+02\n", - " 0.461405\n", + " -13.790266\n", + " 2.641250e+04\n", " \n", " \n", " AMMIn\n", - " 5.130893e+04\n", - " 27.047877\n", + " 16.500025\n", + " 3.162877e+04\n", " \n", " \n", " AMMOut\n", - " -5.130893e+04\n", - " -27.095537\n", + " -16.517020\n", + " -3.162877e+04\n", " \n", " \n", " TOTAL NET\n", - " -3.399327e-07\n", - " -0.047660\n", + " -0.016995\n", + " -3.511086e-07\n", " \n", " \n", "\n", "" ], "text/plain": [ - " USDC-eB48 WETH-6Cc2\n", - "255 1.474762e+04 -7.780094\n", - "593 3.402558e+03 -1.795766\n", - "803 3.315875e+04 -17.519677\n", - "346 -5.041841e+04 26.586471\n", - "1701411834604692317316873037158841057296-0 -8.905124e+02 0.461405\n", - "AMMIn 5.130893e+04 27.047877\n", - "AMMOut -5.130893e+04 -27.095537\n", - "TOTAL NET -3.399327e-07 -0.047660" + " WETH-6Cc2 USDC-eB48\n", + "1701411834604692317316873037158841057296-0 0.461405 -8.905124e+02\n", + "255 9.065531 -1.737194e+04\n", + "593 -2.726753 5.216271e+03\n", + "803 6.973088 -1.336632e+04\n", + "346 -13.790266 2.641250e+04\n", + "AMMIn 16.500025 3.162877e+04\n", + "AMMOut -16.517020 -3.162877e+04\n", + "TOTAL NET -0.016995 -3.511086e-07" ] }, - "execution_count": 83, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -935,7 +935,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 18, "id": "5aba1b68-20ec-41ee-b373-12d37d586013", "metadata": { "lines_to_next_cell": 2 @@ -962,68 +962,68 @@ " \n", " \n", " \n", - " USDC-eB48\n", " WETH-6Cc2\n", + " USDC-eB48\n", " \n", " \n", " \n", " \n", + " 1701411834604692317316873037158841057296-0\n", + " 4.614054e-01\n", + " -890.512360\n", + " \n", + " \n", " 255\n", - " 14745.225849\n", - " -7.778831e+00\n", + " 9.066216e+00\n", + " -17373.255049\n", " \n", " \n", " 593\n", - " 3402.286597\n", - " -1.795623e+00\n", + " -2.726675e+00\n", + " 5216.120112\n", " \n", " \n", " 803\n", - " 33157.627181\n", - " -1.751909e+01\n", + " 6.973409e+00\n", + " -13366.933046\n", " \n", " \n", " 346\n", - " -50505.006202\n", - " 2.663213e+01\n", - " \n", - " \n", - " 1701411834604692317316873037158841057296-0\n", - " -890.512360\n", - " 4.614054e-01\n", + " -1.377436e+01\n", + " 26382.029063\n", " \n", " \n", " AMMIn\n", - " 51305.139627\n", - " 2.709354e+01\n", + " 1.650103e+01\n", + " 31598.149176\n", " \n", " \n", " AMMOut\n", - " -51395.518562\n", - " -2.709354e+01\n", + " -1.650103e+01\n", + " -31630.700454\n", " \n", " \n", " TOTAL NET\n", - " -90.378935\n", - " 3.233254e-10\n", + " 9.686119e-11\n", + " -32.551278\n", " \n", " \n", "\n", "" ], "text/plain": [ - " USDC-eB48 WETH-6Cc2\n", - "255 14745.225849 -7.778831e+00\n", - "593 3402.286597 -1.795623e+00\n", - "803 33157.627181 -1.751909e+01\n", - "346 -50505.006202 2.663213e+01\n", - "1701411834604692317316873037158841057296-0 -890.512360 4.614054e-01\n", - "AMMIn 51305.139627 2.709354e+01\n", - "AMMOut -51395.518562 -2.709354e+01\n", - "TOTAL NET -90.378935 3.233254e-10" + " WETH-6Cc2 USDC-eB48\n", + "1701411834604692317316873037158841057296-0 4.614054e-01 -890.512360\n", + "255 9.066216e+00 -17373.255049\n", + "593 -2.726675e+00 5216.120112\n", + "803 6.973409e+00 -13366.933046\n", + "346 -1.377436e+01 26382.029063\n", + "AMMIn 1.650103e+01 31598.149176\n", + "AMMOut -1.650103e+01 -31630.700454\n", + "TOTAL NET 9.686119e-11 -32.551278" ] }, - "execution_count": 84, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1043,7 +1043,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 19, "id": "2e99c8f3-6f4d-4452-b143-23e293a57bd0", "metadata": {}, "outputs": [ @@ -1089,8 +1089,8 @@ " \n", " bancor_v2\n", " 623\n", - " 0.000245\n", - " 1.198780e+07\n", + " 0.000242\n", + " 1.206183e+07\n", " x\n", " bs\n", " buy-sell-BNT @ 0.00 WETH per BNT\n", @@ -1098,8 +1098,8 @@ " \n", " bancor_v3\n", " 704\n", - " 0.000247\n", - " 3.116731e+07\n", + " 0.000246\n", + " 3.125669e+07\n", " x\n", " bs\n", " buy-sell-BNT @ 0.00 WETH per BNT\n", @@ -1163,8 +1163,8 @@ " \n", " \n", " 326077-0\n", - " 0.000251\n", - " 2.962749e+03\n", + " 0.000250\n", + " 3.654723e-01\n", " x\n", " b\n", " buy-BNT @ 0.00 WETH per BNT\n", @@ -1172,7 +1172,7 @@ " \n", " 326077-1\n", " 0.000258\n", - " 4.965214e+03\n", + " 7.936392e+03\n", " \n", " s\n", " sell-BNT @ 0.00 WETH per BNT\n", @@ -1180,8 +1180,8 @@ " \n", " uniswap_v2\n", " 290\n", - " 0.000245\n", - " 2.124671e+05\n", + " 0.000243\n", + " 2.137445e+05\n", " x\n", " bs\n", " buy-sell-BNT @ 0.00 WETH per BNT\n", @@ -1193,8 +1193,8 @@ "text/plain": [ " price vl itm bs \\\n", "exchange cid0 \n", - "bancor_v2 623 0.000245 1.198780e+07 x bs \n", - "bancor_v3 704 0.000247 3.116731e+07 x bs \n", + "bancor_v2 623 0.000242 1.206183e+07 x bs \n", + "bancor_v3 704 0.000246 3.125669e+07 x bs \n", "carbon_v1 326030-0 0.000253 5.000000e+02 s \n", " 326030-1 0.000200 2.500000e+02 b \n", " 326031-0 0.000200 7.499999e+02 b \n", @@ -1202,9 +1202,9 @@ " 326034-0 0.000200 3.500000e+02 b \n", " 326034-1 0.002100 2.000000e+02 s \n", " 326076-0 0.000253 7.905138e+02 x b \n", - " 326077-0 0.000251 2.962749e+03 x b \n", - " 326077-1 0.000258 4.965214e+03 s \n", - "uniswap_v2 290 0.000245 2.124671e+05 x bs \n", + " 326077-0 0.000250 3.654723e-01 x b \n", + " 326077-1 0.000258 7.936392e+03 s \n", + "uniswap_v2 290 0.000243 2.137445e+05 x bs \n", "\n", " bsv \n", "exchange cid0 \n", @@ -1222,7 +1222,7 @@ "uniswap_v2 290 buy-sell-BNT @ 0.00 WETH per BNT " ] }, - "execution_count": 21, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -1234,7 +1234,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 20, "id": "add3b466", "metadata": {}, "outputs": [ @@ -1266,43 +1266,43 @@ " \n", " \n", " 290\n", - " 5.991563e-02\n", - " -243.500637\n", + " 1.113021e-01\n", + " -456.798537\n", " \n", " \n", " 3743106036130323098097120681749450326076-0\n", - " -9.742223e-02\n", - " 390.013367\n", + " -1.270395e-01\n", + " 510.574438\n", " \n", " \n", " 623\n", - " 4.240871e+00\n", - " -17245.262228\n", + " 7.487870e+00\n", + " -30756.718399\n", " \n", " \n", " 3743106036130323098097120681749450326077-0\n", - " -7.450914e-01\n", - " 2971.544329\n", + " -9.136815e-05\n", + " 0.365472\n", " \n", " \n", " 704\n", - " -3.458273e+00\n", - " 14009.816354\n", + " -7.472041e+00\n", + " 30475.749543\n", " \n", " \n", " AMMIn\n", - " 4.300787e+00\n", - " 17371.374051\n", + " 7.599172e+00\n", + " 30986.689454\n", " \n", " \n", " AMMOut\n", - " -4.300787e+00\n", - " -17488.762865\n", + " -7.599172e+00\n", + " -31213.516936\n", " \n", " \n", " TOTAL NET\n", - " -1.829398e-09\n", - " -117.388815\n", + " -1.745999e-10\n", + " -226.827482\n", " \n", " \n", "\n", @@ -1310,17 +1310,17 @@ ], "text/plain": [ " WETH-6Cc2 BNT-FF1C\n", - "290 5.991563e-02 -243.500637\n", - "3743106036130323098097120681749450326076-0 -9.742223e-02 390.013367\n", - "623 4.240871e+00 -17245.262228\n", - "3743106036130323098097120681749450326077-0 -7.450914e-01 2971.544329\n", - "704 -3.458273e+00 14009.816354\n", - "AMMIn 4.300787e+00 17371.374051\n", - "AMMOut -4.300787e+00 -17488.762865\n", - "TOTAL NET -1.829398e-09 -117.388815" + "290 1.113021e-01 -456.798537\n", + "3743106036130323098097120681749450326076-0 -1.270395e-01 510.574438\n", + "623 7.487870e+00 -30756.718399\n", + "3743106036130323098097120681749450326077-0 -9.136815e-05 0.365472\n", + "704 -7.472041e+00 30475.749543\n", + "AMMIn 7.599172e+00 30986.689454\n", + "AMMOut -7.599172e+00 -31213.516936\n", + "TOTAL NET -1.745999e-10 -226.827482" ] }, - "execution_count": 22, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1334,7 +1334,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 21, "id": "327d06f9", "metadata": { "lines_to_next_cell": 2 @@ -1368,43 +1368,43 @@ " \n", " \n", " 290\n", - " 0.059774\n", - " -242.927563\n", + " 0.111031\n", + " -4.556911e+02\n", " \n", " \n", " 3743106036130323098097120681749450326076-0\n", - " -0.097463\n", - " 390.179676\n", + " -0.127118\n", + " 5.108958e+02\n", " \n", " \n", " 623\n", - " 4.232902\n", - " -17212.947261\n", + " 7.472590\n", + " -3.069428e+04\n", " \n", " \n", " 3743106036130323098097120681749450326077-0\n", - " -0.745091\n", - " 2971.544329\n", + " -0.000091\n", + " 3.654725e-01\n", " \n", " \n", " 704\n", - " -3.479072\n", - " 14094.150816\n", + " -7.511916\n", + " 3.063871e+04\n", " \n", " \n", " AMMIn\n", - " 4.292676\n", - " 17455.874821\n", + " 7.583621\n", + " 3.114997e+04\n", " \n", " \n", " AMMOut\n", - " -4.321627\n", - " -17455.874824\n", + " -7.639126\n", + " -3.114997e+04\n", " \n", " \n", " TOTAL NET\n", - " -0.028951\n", - " -0.000004\n", + " -0.055505\n", + " 5.590118e-08\n", " \n", " \n", "\n", @@ -1412,17 +1412,17 @@ ], "text/plain": [ " WETH-6Cc2 BNT-FF1C\n", - "290 0.059774 -242.927563\n", - "3743106036130323098097120681749450326076-0 -0.097463 390.179676\n", - "623 4.232902 -17212.947261\n", - "3743106036130323098097120681749450326077-0 -0.745091 2971.544329\n", - "704 -3.479072 14094.150816\n", - "AMMIn 4.292676 17455.874821\n", - "AMMOut -4.321627 -17455.874824\n", - "TOTAL NET -0.028951 -0.000004" + "290 0.111031 -4.556911e+02\n", + "3743106036130323098097120681749450326076-0 -0.127118 5.108958e+02\n", + "623 7.472590 -3.069428e+04\n", + "3743106036130323098097120681749450326077-0 -0.000091 3.654725e-01\n", + "704 -7.511916 3.063871e+04\n", + "AMMIn 7.583621 3.114997e+04\n", + "AMMOut -7.639126 -3.114997e+04\n", + "TOTAL NET -0.055505 5.590118e-08" ] }, - "execution_count": 23, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1442,7 +1442,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "id": "3b269245", "metadata": {}, "outputs": [ @@ -1600,7 +1600,7 @@ " 748990-1 buy-BNT @ 0.95 vBNT per BNT " ] }, - "execution_count": 24, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1612,7 +1612,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 23, "id": "c0558ec4", "metadata": {}, "outputs": [ @@ -1680,7 +1680,7 @@ "TOTAL NET -1.964509e-10 -26.166621" ] }, - "execution_count": 25, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -1694,7 +1694,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 24, "id": "3bd1cdcf", "metadata": { "lines_to_next_cell": 2 @@ -1764,7 +1764,7 @@ "TOTAL NET -32.818881 -2.692104e-10" ] }, - "execution_count": 26, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -1784,7 +1784,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 25, "id": "a571292f-6141-49e8-970e-15aebb0a7717", "metadata": {}, "outputs": [ @@ -1863,17 +1863,17 @@ " \n", " sushiswap_v2\n", " 805\n", - " 0.998806\n", - " 1.844401e+03\n", + " 0.993768\n", + " 1.849228e+03\n", " \n", " bs\n", - " buy-sell-USDT @ 1.00 USDC per USDT\n", + " buy-sell-USDT @ 0.99 USDC per USDT\n", " \n", " \n", " uniswap_v2\n", " 246\n", - " 1.000699\n", - " 2.380775e+07\n", + " 1.002118\n", + " 2.369742e+07\n", " \n", " bs\n", " buy-sell-USDT @ 1.00 USDC per USDT\n", @@ -1882,15 +1882,15 @@ " uniswap_v3\n", " 357\n", " 1.002654\n", - " 3.518761e+03\n", + " 3.514249e+03\n", " \n", " bs\n", " buy-sell-USDT @ 1.00 USDC per USDT\n", " \n", " \n", " 486\n", - " 1.001600\n", - " 4.699017e+05\n", + " 1.001069\n", + " 1.011262e+06\n", " \n", " bs\n", " buy-sell-USDT @ 1.00 USDC per USDT\n", @@ -1906,10 +1906,10 @@ " 634371-1 0.995025 5.040025e+01 b \n", " 634391-0 1.001001 5.050000e+02 s \n", " 634391-1 1.000690 4.946550e+02 b \n", - "sushiswap_v2 805 0.998806 1.844401e+03 bs \n", - "uniswap_v2 246 1.000699 2.380775e+07 bs \n", - "uniswap_v3 357 1.002654 3.518761e+03 bs \n", - " 486 1.001600 4.699017e+05 bs \n", + "sushiswap_v2 805 0.993768 1.849228e+03 bs \n", + "uniswap_v2 246 1.002118 2.369742e+07 bs \n", + "uniswap_v3 357 1.002654 3.514249e+03 bs \n", + " 486 1.001069 1.011262e+06 bs \n", "\n", " bsv \n", "exchange cid0 \n", @@ -1917,13 +1917,13 @@ " 634371-1 buy-USDT @ 1.00 USDC per USDT \n", " 634391-0 sell-USDT @ 1.00 USDC per USDT \n", " 634391-1 buy-USDT @ 1.00 USDC per USDT \n", - "sushiswap_v2 805 buy-sell-USDT @ 1.00 USDC per USDT \n", + "sushiswap_v2 805 buy-sell-USDT @ 0.99 USDC per USDT \n", "uniswap_v2 246 buy-sell-USDT @ 1.00 USDC per USDT \n", "uniswap_v3 357 buy-sell-USDT @ 1.00 USDC per USDT \n", " 486 buy-sell-USDT @ 1.00 USDC per USDT " ] }, - "execution_count": 27, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1935,10 +1935,97 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "id": "9e29766c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48
357927.516022-9.292427e+02
2466202.883776-6.212769e+03
486-7092.5998277.100184e+03
805-3.3781263.369384e+00
1020847100762815390390123822295304634391-0-38.4190503.845883e+01
AMMIn7130.3997987.142012e+03
AMMOut-7134.397002-7.142012e+03
TOTAL NET-3.997205-2.563731e-07
\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48\n", + "357 927.516022 -9.292427e+02\n", + "246 6202.883776 -6.212769e+03\n", + "486 -7092.599827 7.100184e+03\n", + "805 -3.378126 3.369384e+00\n", + "1020847100762815390390123822295304634391-0 -38.419050 3.845883e+01\n", + "AMMIn 7130.399798 7.142012e+03\n", + "AMMOut -7134.397002 -7.142012e+03\n", + "TOTAL NET -3.997205 -2.563731e-07" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "pi = CA.pair_data(pair)\n", "O = CPCArbOptimizer(pi.CC)\n", @@ -1948,12 +2035,99 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 27, "id": "5b4172cd", "metadata": { "lines_to_next_cell": 2 }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
USDT-1ec7USDC-eB48
357927.516253-929.242938
2466202.886117-6212.771617
486-7088.6054197096.185093
805-3.3781263.369384
1020847100762815390390123822295304634391-0-38.41882838.458604
AMMIn7130.4023717138.013080
AMMOut-7130.402373-7142.014554
TOTAL NET-0.000003-4.001474
\n", + "
" + ], + "text/plain": [ + " USDT-1ec7 USDC-eB48\n", + "357 927.516253 -929.242938\n", + "246 6202.886117 -6212.771617\n", + "486 -7088.605419 7096.185093\n", + "805 -3.378126 3.369384\n", + "1020847100762815390390123822295304634391-0 -38.418828 38.458604\n", + "AMMIn 7130.402371 7138.013080\n", + "AMMOut -7130.402373 -7142.014554\n", + "TOTAL NET -0.000003 -4.001474" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "r = O.margp_optimizer(pair.split(\"/\")[1])\n", "r.trade_instructions(ti_format=O.TIF_DFAGGR)" @@ -1969,7 +2143,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 28, "id": "d456faa0-5b17-4c1d-8b87-bcd58752623f", "metadata": {}, "outputs": [ @@ -2032,11 +2206,11 @@ " \n", " sushiswap_v2\n", " 804\n", - " 15.243420\n", - " 772.747725\n", - " \n", + " 15.099383\n", + " 776.430469\n", + " x\n", " bs\n", - " buy-sell-WBTC @ 15.24 WETH per WBTC\n", + " buy-sell-WBTC @ 15.10 WETH per WBTC\n", " \n", " \n", " uniswap_v3\n", @@ -2049,7 +2223,7 @@ " \n", " \n", " 478\n", - " 15.314129\n", + " 15.312285\n", " 0.000571\n", " x\n", " bs\n", @@ -2064,20 +2238,20 @@ "exchange cid0 \n", "carbon_v1 709362-0 15.399750 0.133758 s \n", " 709362-1 14.285714 0.417087 b \n", - "sushiswap_v2 804 15.243420 772.747725 bs \n", + "sushiswap_v2 804 15.099383 776.430469 x bs \n", "uniswap_v3 466 15.097158 0.127246 x bs \n", - " 478 15.314129 0.000571 x bs \n", + " 478 15.312285 0.000571 x bs \n", "\n", " bsv \n", "exchange cid0 \n", "carbon_v1 709362-0 sell-WBTC @ 15.40 WETH per WBTC \n", " 709362-1 buy-WBTC @ 14.29 WETH per WBTC \n", - "sushiswap_v2 804 buy-sell-WBTC @ 15.24 WETH per WBTC \n", + "sushiswap_v2 804 buy-sell-WBTC @ 15.10 WETH per WBTC \n", "uniswap_v3 466 buy-sell-WBTC @ 15.10 WETH per WBTC \n", " 478 buy-sell-WBTC @ 15.31 WETH per WBTC " ] }, - "execution_count": 30, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -2089,7 +2263,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 29, "id": "ce93bf30", "metadata": {}, "outputs": [ @@ -2121,33 +2295,33 @@ " \n", " \n", " 466\n", - " 9.026386e-01\n", - " -0.059510\n", + " 1.402761e-02\n", + " -0.000929\n", " \n", " \n", " 804\n", - " -9.013733e-01\n", - " 0.059141\n", + " -5.809137e-03\n", + " 0.000385\n", " \n", " \n", " 478\n", - " -1.265293e-03\n", - " 0.000083\n", + " -8.218471e-03\n", + " 0.000537\n", " \n", " \n", " AMMIn\n", - " 9.026386e-01\n", - " 0.059224\n", + " 1.402761e-02\n", + " 0.000921\n", " \n", " \n", " AMMOut\n", - " -9.026386e-01\n", - " -0.059510\n", + " -1.402761e-02\n", + " -0.000929\n", " \n", " \n", " TOTAL NET\n", - " -7.466383e-11\n", - " -0.000287\n", + " -7.038921e-10\n", + " -0.000008\n", " \n", " \n", "\n", @@ -2155,15 +2329,15 @@ ], "text/plain": [ " WETH-6Cc2 WBTC-C599\n", - "466 9.026386e-01 -0.059510\n", - "804 -9.013733e-01 0.059141\n", - "478 -1.265293e-03 0.000083\n", - "AMMIn 9.026386e-01 0.059224\n", - "AMMOut -9.026386e-01 -0.059510\n", - "TOTAL NET -7.466383e-11 -0.000287" + "466 1.402761e-02 -0.000929\n", + "804 -5.809137e-03 0.000385\n", + "478 -8.218471e-03 0.000537\n", + "AMMIn 1.402761e-02 0.000921\n", + "AMMOut -1.402761e-02 -0.000929\n", + "TOTAL NET -7.038921e-10 -0.000008" ] }, - "execution_count": 31, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -2177,7 +2351,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 30, "id": "cb9e5f61", "metadata": { "lines_to_next_cell": 2 @@ -2211,33 +2385,33 @@ " \n", " \n", " 466\n", - " 0.902499\n", - " -5.950109e-02\n", + " 0.014024\n", + " -9.288454e-04\n", " \n", " \n", " 804\n", - " -0.905601\n", - " 5.941847e-02\n", + " -0.005920\n", + " 3.920961e-04\n", " \n", " \n", " 478\n", - " -0.001265\n", - " 8.262319e-05\n", + " -0.008218\n", + " 5.367493e-04\n", " \n", " \n", " AMMIn\n", - " 0.902499\n", - " 5.950109e-02\n", + " 0.014024\n", + " 9.288454e-04\n", " \n", " \n", " AMMOut\n", - " -0.906867\n", - " -5.950109e-02\n", + " -0.014139\n", + " -9.288454e-04\n", " \n", " \n", " TOTAL NET\n", - " -0.004367\n", - " -8.011369e-12\n", + " -0.000115\n", + " -5.528378e-11\n", " \n", " \n", "\n", @@ -2245,15 +2419,15 @@ ], "text/plain": [ " WETH-6Cc2 WBTC-C599\n", - "466 0.902499 -5.950109e-02\n", - "804 -0.905601 5.941847e-02\n", - "478 -0.001265 8.262319e-05\n", - "AMMIn 0.902499 5.950109e-02\n", - "AMMOut -0.906867 -5.950109e-02\n", - "TOTAL NET -0.004367 -8.011369e-12" + "466 0.014024 -9.288454e-04\n", + "804 -0.005920 3.920961e-04\n", + "478 -0.008218 5.367493e-04\n", + "AMMIn 0.014024 9.288454e-04\n", + "AMMOut -0.014139 -9.288454e-04\n", + "TOTAL NET -0.000115 -5.528378e-11" ] }, - "execution_count": 32, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -2273,7 +2447,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 31, "id": "d931fd56", "metadata": {}, "outputs": [ @@ -2321,7 +2495,7 @@ " 960408-0\n", " 7.100000\n", " 26.783355\n", - " \n", + " x\n", " b\n", " buy-LINK @ 7.10 USDT per LINK\n", " \n", @@ -2354,11 +2528,11 @@ " \n", " uniswap_v3\n", " 549\n", - " 7.169997\n", - " 3.258349\n", + " 6.976809\n", + " 3.304874\n", " x\n", " bs\n", - " buy-sell-LINK @ 7.17 USDT per LINK\n", + " buy-sell-LINK @ 6.98 USDT per LINK\n", " \n", " \n", "\n", @@ -2367,11 +2541,11 @@ "text/plain": [ " price vl itm bs \\\n", "exchange cid0 \n", - "carbon_v1 960408-0 7.100000 26.783355 b \n", + "carbon_v1 960408-0 7.100000 26.783355 x b \n", " 960408-1 7.700000 10.874600 s \n", "sushiswap_v2 791 7.123545 75.100134 x bs \n", "uniswap_v2 171 7.328775 65.660409 x bs \n", - "uniswap_v3 549 7.169997 3.258349 x bs \n", + "uniswap_v3 549 6.976809 3.304874 x bs \n", "\n", " bsv \n", "exchange cid0 \n", @@ -2379,10 +2553,10 @@ " 960408-1 sell-LINK @ 7.70 USDT per LINK \n", "sushiswap_v2 791 buy-sell-LINK @ 7.12 USDT per LINK \n", "uniswap_v2 171 buy-sell-LINK @ 7.33 USDT per LINK \n", - "uniswap_v3 549 buy-sell-LINK @ 7.17 USDT per LINK " + "uniswap_v3 549 buy-sell-LINK @ 6.98 USDT per LINK " ] }, - "execution_count": 33, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -2394,7 +2568,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 32, "id": "1a6f6a6f", "metadata": {}, "outputs": [ @@ -2426,49 +2600,55 @@ " \n", " \n", " 171\n", - " 0.348767\n", - " -2.529167e+00\n", + " 0.548893\n", + " -3.956563e+00\n", " \n", " \n", " 549\n", - " -0.216876\n", - " 1.555312e+00\n", + " -2.045357\n", + " 1.429659e+01\n", " \n", " \n", " 791\n", - " -0.136213\n", - " 9.738546e-01\n", + " 0.089456\n", + " -6.357306e-01\n", + " \n", + " \n", + " 4763953136893138488487244504044754960408-0\n", + " 1.367792\n", + " -9.704294e+00\n", " \n", " \n", " AMMIn\n", - " 0.348767\n", - " 2.529167e+00\n", + " 2.006141\n", + " 1.429659e+01\n", " \n", " \n", " AMMOut\n", - " -0.353090\n", - " -2.529167e+00\n", + " -2.045357\n", + " -1.429659e+01\n", " \n", " \n", " TOTAL NET\n", - " -0.004323\n", - " -3.197442e-11\n", + " -0.039216\n", + " -2.103206e-12\n", " \n", " \n", "\n", "" ], "text/plain": [ - " LINK-86CA USDT-1ec7\n", - "171 0.348767 -2.529167e+00\n", - "549 -0.216876 1.555312e+00\n", - "791 -0.136213 9.738546e-01\n", - "AMMIn 0.348767 2.529167e+00\n", - "AMMOut -0.353090 -2.529167e+00\n", - "TOTAL NET -0.004323 -3.197442e-11" + " LINK-86CA USDT-1ec7\n", + "171 0.548893 -3.956563e+00\n", + "549 -2.045357 1.429659e+01\n", + "791 0.089456 -6.357306e-01\n", + "4763953136893138488487244504044754960408-0 1.367792 -9.704294e+00\n", + "AMMIn 2.006141 1.429659e+01\n", + "AMMOut -2.045357 -1.429659e+01\n", + "TOTAL NET -0.039216 -2.103206e-12" ] }, - "execution_count": 34, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -2482,7 +2662,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 33, "id": "3b60cf5e", "metadata": { "lines_to_next_cell": 2 @@ -2516,49 +2696,55 @@ " \n", " \n", " 171\n", - " 3.507987e-01\n", - " -2.543744\n", + " 5.495607e-01\n", + " -3.961296\n", " \n", " \n", " 549\n", - " -2.168763e-01\n", - " 1.555312\n", + " -2.045357e+00\n", + " 14.296587\n", " \n", " \n", " 791\n", - " -1.339224e-01\n", - " 0.957417\n", + " 9.020908e-02\n", + " -0.641068\n", + " \n", + " \n", + " 4763953136893138488487244504044754960408-0\n", + " 1.405587e+00\n", + " -9.972246\n", " \n", " \n", " AMMIn\n", - " 3.507987e-01\n", - " 2.512729\n", + " 2.045357e+00\n", + " 14.296587\n", " \n", " \n", " AMMOut\n", - " -3.507987e-01\n", - " -2.543744\n", + " -2.045357e+00\n", + " -14.574610\n", " \n", " \n", " TOTAL NET\n", - " -1.925571e-12\n", - " -0.031015\n", + " 7.105427e-14\n", + " -0.278023\n", " \n", " \n", "\n", "" ], "text/plain": [ - " LINK-86CA USDT-1ec7\n", - "171 3.507987e-01 -2.543744\n", - "549 -2.168763e-01 1.555312\n", - "791 -1.339224e-01 0.957417\n", - "AMMIn 3.507987e-01 2.512729\n", - "AMMOut -3.507987e-01 -2.543744\n", - "TOTAL NET -1.925571e-12 -0.031015" + " LINK-86CA USDT-1ec7\n", + "171 5.495607e-01 -3.961296\n", + "549 -2.045357e+00 14.296587\n", + "791 9.020908e-02 -0.641068\n", + "4763953136893138488487244504044754960408-0 1.405587e+00 -9.972246\n", + "AMMIn 2.045357e+00 14.296587\n", + "AMMOut -2.045357e+00 -14.574610\n", + "TOTAL NET 7.105427e-14 -0.278023" ] }, - "execution_count": 35, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -2578,7 +2764,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 34, "id": "e2b607da", "metadata": {}, "outputs": [ @@ -2650,11 +2836,11 @@ " \n", " uniswap_v2\n", " 183\n", - " 29095.893199\n", - " 0.097682\n", + " 28831.097041\n", + " 0.336923\n", " \n", " bs\n", - " buy-sell-WBTC @ 29095.89 USDT per WBTC\n", + " buy-sell-WBTC @ 28831.10 USDT per WBTC\n", " \n", " \n", "\n", @@ -2666,17 +2852,17 @@ "carbon_v1 920820-0 28980.881784 0.006836 b \n", " 920820-1 29500.000000 0.000065 s \n", "sushiswap_v2 814 29043.429150 0.031191 bs \n", - "uniswap_v2 183 29095.893199 0.097682 bs \n", + "uniswap_v2 183 28831.097041 0.336923 bs \n", "\n", " bsv \n", "exchange cid0 \n", "carbon_v1 920820-0 buy-WBTC @ 28980.88 USDT per WBTC \n", " 920820-1 sell-WBTC @ 29500.00 USDT per WBTC \n", "sushiswap_v2 814 buy-sell-WBTC @ 29043.43 USDT per WBTC \n", - "uniswap_v2 183 buy-sell-WBTC @ 29095.89 USDT per WBTC " + "uniswap_v2 183 buy-sell-WBTC @ 28831.10 USDT per WBTC " ] }, - "execution_count": 36, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -2688,7 +2874,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 35, "id": "26c3ffc8", "metadata": {}, "outputs": [ @@ -2713,50 +2899,56 @@ " \n", " \n", " \n", - " WBTC-C599\n", " USDT-1ec7\n", + " WBTC-C599\n", " \n", " \n", " \n", " \n", " 183\n", - " 1.065736e-05\n", - " -3.100178e-01\n", + " 7.247198e+00\n", + " -2.509929e-04\n", " \n", " \n", " 814\n", - " -1.066698e-05\n", - " 3.100178e-01\n", + " -9.853793e-01\n", + " 3.400176e-05\n", + " \n", + " \n", + " 9527906273786276976974489008089509920820-0\n", + " -6.261819e+00\n", + " 2.163050e-04\n", " \n", " \n", " AMMIn\n", - " 1.065736e-05\n", - " 3.100178e-01\n", + " 7.247198e+00\n", + " 2.503068e-04\n", " \n", " \n", " AMMOut\n", - " -1.066698e-05\n", - " -3.100178e-01\n", + " -7.247198e+00\n", + " -2.509929e-04\n", " \n", " \n", " TOTAL NET\n", - " -9.621386e-09\n", - " -5.684342e-14\n", + " -2.025644e-07\n", + " -6.861208e-07\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WBTC-C599 USDT-1ec7\n", - "183 1.065736e-05 -3.100178e-01\n", - "814 -1.066698e-05 3.100178e-01\n", - "AMMIn 1.065736e-05 3.100178e-01\n", - "AMMOut -1.066698e-05 -3.100178e-01\n", - "TOTAL NET -9.621386e-09 -5.684342e-14" + " USDT-1ec7 WBTC-C599\n", + "183 7.247198e+00 -2.509929e-04\n", + "814 -9.853793e-01 3.400176e-05\n", + "9527906273786276976974489008089509920820-0 -6.261819e+00 2.163050e-04\n", + "AMMIn 7.247198e+00 2.503068e-04\n", + "AMMOut -7.247198e+00 -2.509929e-04\n", + "TOTAL NET -2.025644e-07 -6.861208e-07" ] }, - "execution_count": 37, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -2770,7 +2962,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 36, "id": "77aa8d13", "metadata": { "lines_to_next_cell": 2 @@ -2797,50 +2989,56 @@ " \n", " \n", " \n", - " WBTC-C599\n", " USDT-1ec7\n", + " WBTC-C599\n", " \n", " \n", " \n", " \n", " 183\n", - " 1.066466e-05\n", - " -0.31023\n", + " 7.238429\n", + " -2.506896e-04\n", " \n", " \n", " 814\n", - " -1.066466e-05\n", - " 0.30995\n", + " -0.986194\n", + " 3.402993e-05\n", + " \n", + " \n", + " 9527906273786276976974489008089509920820-0\n", + " -6.272076\n", + " 2.166597e-04\n", " \n", " \n", " AMMIn\n", - " 1.066466e-05\n", - " 0.30995\n", + " 7.238429\n", + " 2.506896e-04\n", " \n", " \n", " AMMOut\n", - " -1.066466e-05\n", - " -0.31023\n", + " -7.258270\n", + " -2.506896e-04\n", " \n", " \n", " TOTAL NET\n", - " -2.775558e-17\n", - " -0.00028\n", + " -0.019841\n", + " -6.381194e-12\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WBTC-C599 USDT-1ec7\n", - "183 1.066466e-05 -0.31023\n", - "814 -1.066466e-05 0.30995\n", - "AMMIn 1.066466e-05 0.30995\n", - "AMMOut -1.066466e-05 -0.31023\n", - "TOTAL NET -2.775558e-17 -0.00028" + " USDT-1ec7 WBTC-C599\n", + "183 7.238429 -2.506896e-04\n", + "814 -0.986194 3.402993e-05\n", + "9527906273786276976974489008089509920820-0 -6.272076 2.166597e-04\n", + "AMMIn 7.238429 2.506896e-04\n", + "AMMOut -7.258270 -2.506896e-04\n", + "TOTAL NET -0.019841 -6.381194e-12" ] }, - "execution_count": 38, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -2860,7 +3058,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 37, "id": "59c40cc1", "metadata": {}, "outputs": [ @@ -2906,18 +3104,18 @@ " \n", " bancor_v2\n", " 652\n", - " 0.470422\n", - " 1.491898e+06\n", - " \n", + " 0.469913\n", + " 1.492710e+06\n", + " x\n", " bs\n", " buy-sell-BNT @ 0.47 USDC per BNT\n", " \n", " \n", " bancor_v3\n", " 720\n", - " 0.472853\n", - " 5.040560e+06\n", - " \n", + " 0.465186\n", + " 5.081971e+06\n", + " x\n", " bs\n", " buy-sell-BNT @ 0.47 USDC per BNT\n", " \n", @@ -2945,8 +3143,8 @@ "text/plain": [ " price vl itm bs \\\n", "exchange cid0 \n", - "bancor_v2 652 0.470422 1.491898e+06 bs \n", - "bancor_v3 720 0.472853 5.040560e+06 bs \n", + "bancor_v2 652 0.469913 1.492710e+06 x bs \n", + "bancor_v3 720 0.465186 5.081971e+06 x bs \n", "carbon_v1 480199-0 2.000000 2.910000e+01 s \n", " 480202-1 1.480041 4.247463e+04 s \n", "\n", @@ -2958,7 +3156,7 @@ " 480202-1 sell-BNT @ 1.48 USDC per BNT " ] }, - "execution_count": 39, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -2970,7 +3168,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 38, "id": "afa149ee", "metadata": {}, "outputs": [ @@ -2995,50 +3193,50 @@ " \n", " \n", " \n", - " USDC-eB48\n", " BNT-FF1C\n", + " USDC-eB48\n", " \n", " \n", " \n", " \n", " 652\n", - " 6.991965e+02\n", - " -1483.361572\n", + " 2917.222349\n", + " -1.365503e+03\n", " \n", " \n", " 720\n", - " -6.991965e+02\n", - " 1479.543251\n", + " -2932.007880\n", + " 1.365503e+03\n", " \n", " \n", " AMMIn\n", - " 6.991965e+02\n", - " 1479.543251\n", + " 2917.222349\n", + " 1.365503e+03\n", " \n", " \n", " AMMOut\n", - " -6.991965e+02\n", - " -1483.361572\n", + " -2932.007880\n", + " -1.365503e+03\n", " \n", " \n", " TOTAL NET\n", - " -1.164153e-10\n", - " -3.818321\n", + " -14.785530\n", + " -1.746230e-10\n", " \n", " \n", "\n", "" ], "text/plain": [ - " USDC-eB48 BNT-FF1C\n", - "652 6.991965e+02 -1483.361572\n", - "720 -6.991965e+02 1479.543251\n", - "AMMIn 6.991965e+02 1479.543251\n", - "AMMOut -6.991965e+02 -1483.361572\n", - "TOTAL NET -1.164153e-10 -3.818321" + " BNT-FF1C USDC-eB48\n", + "652 2917.222349 -1.365503e+03\n", + "720 -2932.007880 1.365503e+03\n", + "AMMIn 2917.222349 1.365503e+03\n", + "AMMOut -2932.007880 -1.365503e+03\n", + "TOTAL NET -14.785530 -1.746230e-10" ] }, - "execution_count": 40, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -3052,7 +3250,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 39, "id": "51af548e", "metadata": { "lines_to_next_cell": 2 @@ -3079,50 +3277,50 @@ " \n", " \n", " \n", - " USDC-eB48\n", " BNT-FF1C\n", + " USDC-eB48\n", " \n", " \n", " \n", " \n", " 652\n", - " 698.785408\n", - " -1.482491e+03\n", + " 2.920592e+03\n", + " -1367.074614\n", " \n", " \n", " 720\n", - " -700.588794\n", - " 1.482491e+03\n", + " -2.920592e+03\n", + " 1360.180729\n", " \n", " \n", " AMMIn\n", - " 698.785408\n", - " 1.482491e+03\n", + " 2.920592e+03\n", + " 1360.180729\n", " \n", " \n", " AMMOut\n", - " -700.588794\n", - " -1.482491e+03\n", + " -2.920592e+03\n", + " -1367.074614\n", " \n", " \n", " TOTAL NET\n", - " -1.803386\n", - " 1.164153e-10\n", + " -5.820766e-10\n", + " -6.893884\n", " \n", " \n", "\n", "" ], "text/plain": [ - " USDC-eB48 BNT-FF1C\n", - "652 698.785408 -1.482491e+03\n", - "720 -700.588794 1.482491e+03\n", - "AMMIn 698.785408 1.482491e+03\n", - "AMMOut -700.588794 -1.482491e+03\n", - "TOTAL NET -1.803386 1.164153e-10" + " BNT-FF1C USDC-eB48\n", + "652 2.920592e+03 -1367.074614\n", + "720 -2.920592e+03 1360.180729\n", + "AMMIn 2.920592e+03 1360.180729\n", + "AMMOut -2.920592e+03 -1367.074614\n", + "TOTAL NET -5.820766e-10 -6.893884" ] }, - "execution_count": 41, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -3142,7 +3340,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 40, "id": "b2d07783", "metadata": {}, "outputs": [ @@ -3197,20 +3395,20 @@ " \n", " sushiswap_v2\n", " 817\n", - " 1883.872651\n", - " 4227.742311\n", - " \n", + " 1923.592818\n", + " 4184.139471\n", + " x\n", " bs\n", - " buy-sell-WETH @ 1883.87 DAI per WETH\n", + " buy-sell-WETH @ 1923.59 DAI per WETH\n", " \n", " \n", " uniswap_v3\n", " 594\n", - " 1893.395962\n", - " 8.357308\n", - " \n", + " 1902.663470\n", + " 8.339070\n", + " x\n", " bs\n", - " buy-sell-WETH @ 1893.40 DAI per WETH\n", + " buy-sell-WETH @ 1902.66 DAI per WETH\n", " \n", " \n", "\n", @@ -3220,17 +3418,17 @@ " price vl itm bs \\\n", "exchange cid0 \n", "carbon_v1 211457-1 1944.999806 0.001000 s \n", - "sushiswap_v2 817 1883.872651 4227.742311 bs \n", - "uniswap_v3 594 1893.395962 8.357308 bs \n", + "sushiswap_v2 817 1923.592818 4184.139471 x bs \n", + "uniswap_v3 594 1902.663470 8.339070 x bs \n", "\n", " bsv \n", "exchange cid0 \n", "carbon_v1 211457-1 sell-WETH @ 1945.00 DAI per WETH \n", - "sushiswap_v2 817 buy-sell-WETH @ 1883.87 DAI per WETH \n", - "uniswap_v3 594 buy-sell-WETH @ 1893.40 DAI per WETH " + "sushiswap_v2 817 buy-sell-WETH @ 1923.59 DAI per WETH \n", + "uniswap_v3 594 buy-sell-WETH @ 1902.66 DAI per WETH " ] }, - "execution_count": 42, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -3242,7 +3440,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 41, "id": "d726e8fc", "metadata": {}, "outputs": [ @@ -3267,50 +3465,50 @@ " \n", " \n", " \n", - " WETH-6Cc2\n", " DAI-1d0F\n", + " WETH-6Cc2\n", " \n", " \n", " \n", " \n", " 594\n", - " 1.512882\n", - " -2.859323e+03\n", + " 6.243703e+03\n", + " -3.268730\n", " \n", " \n", " 817\n", - " -1.516701\n", - " 2.859323e+03\n", + " -6.243703e+03\n", + " 3.250899\n", " \n", " \n", " AMMIn\n", - " 1.512882\n", - " 2.859323e+03\n", + " 6.243703e+03\n", + " 3.250899\n", " \n", " \n", " AMMOut\n", - " -1.516701\n", - " -2.859323e+03\n", + " -6.243703e+03\n", + " -3.268730\n", " \n", " \n", " TOTAL NET\n", - " -0.003819\n", - " -3.026798e-09\n", + " -2.188608e-08\n", + " -0.017831\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WETH-6Cc2 DAI-1d0F\n", - "594 1.512882 -2.859323e+03\n", - "817 -1.516701 2.859323e+03\n", - "AMMIn 1.512882 2.859323e+03\n", - "AMMOut -1.516701 -2.859323e+03\n", - "TOTAL NET -0.003819 -3.026798e-09" + " DAI-1d0F WETH-6Cc2\n", + "594 6.243703e+03 -3.268730\n", + "817 -6.243703e+03 3.250899\n", + "AMMIn 6.243703e+03 3.250899\n", + "AMMOut -6.243703e+03 -3.268730\n", + "TOTAL NET -2.188608e-08 -0.017831" ] }, - "execution_count": 43, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -3324,7 +3522,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 42, "id": "532300d8", "metadata": { "lines_to_next_cell": 2 @@ -3351,50 +3549,50 @@ " \n", " \n", " \n", - " WETH-6Cc2\n", " DAI-1d0F\n", + " WETH-6Cc2\n", " \n", " \n", " \n", " \n", " 594\n", - " 1.513968e+00\n", - " -2861.372681\n", + " 6233.978193\n", + " -3.263658e+00\n", " \n", " \n", " 817\n", - " -1.513968e+00\n", - " 2854.167613\n", + " -6268.171380\n", + " 3.263658e+00\n", " \n", " \n", " AMMIn\n", - " 1.513968e+00\n", - " 2854.167613\n", + " 6233.978193\n", + " 3.263658e+00\n", " \n", " \n", " AMMOut\n", - " -1.513968e+00\n", - " -2861.372681\n", + " -6268.171380\n", + " -3.263658e+00\n", " \n", " \n", " TOTAL NET\n", - " -2.046363e-12\n", - " -7.205068\n", + " -34.193188\n", + " -1.239187e-11\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WETH-6Cc2 DAI-1d0F\n", - "594 1.513968e+00 -2861.372681\n", - "817 -1.513968e+00 2854.167613\n", - "AMMIn 1.513968e+00 2854.167613\n", - "AMMOut -1.513968e+00 -2861.372681\n", - "TOTAL NET -2.046363e-12 -7.205068" + " DAI-1d0F WETH-6Cc2\n", + "594 6233.978193 -3.263658e+00\n", + "817 -6268.171380 3.263658e+00\n", + "AMMIn 6233.978193 3.263658e+00\n", + "AMMOut -6268.171380 -3.263658e+00\n", + "TOTAL NET -34.193188 -1.239187e-11" ] }, - "execution_count": 44, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -3414,7 +3612,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 43, "id": "0a066043", "metadata": {}, "outputs": [ @@ -3501,7 +3699,7 @@ "sushiswap_v2 795 buy-sell-DAI @ 0.99 USDT per DAI " ] }, - "execution_count": 45, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -3513,7 +3711,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 44, "id": "126a06ee", "metadata": {}, "outputs": [], @@ -3526,7 +3724,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 45, "id": "655ce7ae", "metadata": { "lines_to_next_cell": 2 @@ -3547,7 +3745,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 46, "id": "631831d0", "metadata": {}, "outputs": [ @@ -3634,7 +3832,7 @@ "sushiswap_v2 839 buy-sell-DAI @ 1.00 USDC per DAI " ] }, - "execution_count": 48, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -3646,7 +3844,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 47, "id": "1ca5d97b", "metadata": {}, "outputs": [], @@ -3659,7 +3857,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 48, "id": "a38cce64", "metadata": { "lines_to_next_cell": 2 @@ -3680,7 +3878,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 49, "id": "6752547e", "metadata": {}, "outputs": [ @@ -3735,20 +3933,20 @@ " \n", " sushiswap_v2\n", " 840\n", - " 1888.754618\n", - " 10537.456654\n", + " 1916.546534\n", + " 10462.631094\n", " \n", " bs\n", - " buy-sell-WETH @ 1888.75 USDT per WETH\n", + " buy-sell-WETH @ 1916.55 USDT per WETH\n", " \n", " \n", " uniswap_v2\n", " 256\n", - " 1891.102235\n", - " 32129.957446\n", + " 1918.786596\n", + " 31958.967041\n", " \n", " bs\n", - " buy-sell-WETH @ 1891.10 USDT per WETH\n", + " buy-sell-WETH @ 1918.79 USDT per WETH\n", " \n", " \n", "\n", @@ -3758,17 +3956,17 @@ " price vl itm bs \\\n", "exchange cid0 \n", "carbon_v1 691656-0 1900.000190 0.002632 b \n", - "sushiswap_v2 840 1888.754618 10537.456654 bs \n", - "uniswap_v2 256 1891.102235 32129.957446 bs \n", + "sushiswap_v2 840 1916.546534 10462.631094 bs \n", + "uniswap_v2 256 1918.786596 31958.967041 bs \n", "\n", " bsv \n", "exchange cid0 \n", "carbon_v1 691656-0 buy-WETH @ 1900.00 USDT per WETH \n", - "sushiswap_v2 840 buy-sell-WETH @ 1888.75 USDT per WETH \n", - "uniswap_v2 256 buy-sell-WETH @ 1891.10 USDT per WETH " + "sushiswap_v2 840 buy-sell-WETH @ 1916.55 USDT per WETH \n", + "uniswap_v2 256 buy-sell-WETH @ 1918.79 USDT per WETH " ] }, - "execution_count": 51, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -3780,7 +3978,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 50, "id": "c454f2d9", "metadata": {}, "outputs": [ @@ -3812,49 +4010,43 @@ " \n", " \n", " 256\n", - " 2.460643\n", - " -4.652616e+03\n", + " 2.300478\n", + " -4.413491e+03\n", " \n", " \n", " 840\n", - " -2.464818\n", - " 4.657616e+03\n", - " \n", - " \n", - " 2722258935367507707706996859454145691656-0\n", - " 0.002632\n", - " -5.000000e+00\n", + " -2.301822\n", + " 4.413491e+03\n", " \n", " \n", " AMMIn\n", - " 2.463275\n", - " 4.657616e+03\n", + " 2.300478\n", + " 4.413491e+03\n", " \n", " \n", " AMMOut\n", - " -2.464818\n", - " -4.657616e+03\n", + " -2.301822\n", + " -4.413491e+03\n", " \n", " \n", " TOTAL NET\n", - " -0.001543\n", - " 5.587935e-09\n", + " -0.001344\n", + " 1.862645e-08\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WETH-6Cc2 USDT-1ec7\n", - "256 2.460643 -4.652616e+03\n", - "840 -2.464818 4.657616e+03\n", - "2722258935367507707706996859454145691656-0 0.002632 -5.000000e+00\n", - "AMMIn 2.463275 4.657616e+03\n", - "AMMOut -2.464818 -4.657616e+03\n", - "TOTAL NET -0.001543 5.587935e-09" + " WETH-6Cc2 USDT-1ec7\n", + "256 2.300478 -4.413491e+03\n", + "840 -2.301822 4.413491e+03\n", + "AMMIn 2.300478 4.413491e+03\n", + "AMMOut -2.301822 -4.413491e+03\n", + "TOTAL NET -0.001344 1.862645e-08" ] }, - "execution_count": 52, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -3868,7 +4060,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 51, "id": "34cf957e", "metadata": { "lines_to_next_cell": 2 @@ -3902,49 +4094,43 @@ " \n", " \n", " 256\n", - " 2.461806e+00\n", - " -4654.812765\n", + " 2.301491e+00\n", + " -4415.433842\n", " \n", " \n", " 840\n", - " -2.464437e+00\n", - " 4656.895355\n", - " \n", - " \n", - " 2722258935367507707706996859454145691656-0\n", - " 2.631579e-03\n", - " -5.000000\n", + " -2.301491e+00\n", + " 4412.855720\n", " \n", " \n", " AMMIn\n", - " 2.464437e+00\n", - " 4656.895355\n", + " 2.301491e+00\n", + " 4412.855720\n", " \n", " \n", " AMMOut\n", - " -2.464437e+00\n", - " -4659.812765\n", + " -2.301491e+00\n", + " -4415.433842\n", " \n", " \n", " TOTAL NET\n", - " -3.637979e-12\n", - " -2.917410\n", + " 2.728484e-12\n", + " -2.578122\n", " \n", " \n", "\n", "" ], "text/plain": [ - " WETH-6Cc2 USDT-1ec7\n", - "256 2.461806e+00 -4654.812765\n", - "840 -2.464437e+00 4656.895355\n", - "2722258935367507707706996859454145691656-0 2.631579e-03 -5.000000\n", - "AMMIn 2.464437e+00 4656.895355\n", - "AMMOut -2.464437e+00 -4659.812765\n", - "TOTAL NET -3.637979e-12 -2.917410" + " WETH-6Cc2 USDT-1ec7\n", + "256 2.301491e+00 -4415.433842\n", + "840 -2.301491e+00 4412.855720\n", + "AMMIn 2.301491e+00 4412.855720\n", + "AMMOut -2.301491e+00 -4415.433842\n", + "TOTAL NET 2.728484e-12 -2.578122" ] }, - "execution_count": 53, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -3964,7 +4150,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 52, "id": "8140ba4d-b102-4a80-89af-881d5cd05cd1", "metadata": {}, "outputs": [ @@ -4052,7 +4238,7 @@ "uniswap_v2 176 buy-sell-LINK @ 6.79 USDC per LINK " ] }, - "execution_count": 54, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -4064,7 +4250,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 53, "id": "90995122", "metadata": {}, "outputs": [ @@ -4132,7 +4318,7 @@ "TOTAL NET -1.474376e-13 -0.000187" ] }, - "execution_count": 55, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -4146,7 +4332,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 54, "id": "8da912f9", "metadata": { "lines_to_next_cell": 2 @@ -4216,7 +4402,7 @@ "TOTAL NET -0.001273 1.021405e-14" ] }, - "execution_count": 56, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -4236,7 +4422,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 55, "id": "936d2a44", "metadata": {}, "outputs": [ @@ -4322,7 +4508,7 @@ " 440621-1 sell-PEPE @ 0.00 WETH per PEPE " ] }, - "execution_count": 57, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -4334,7 +4520,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 56, "id": "2a6bcf74", "metadata": {}, "outputs": [], @@ -4347,7 +4533,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 57, "id": "83b206a7", "metadata": { "lines_to_next_cell": 2 @@ -4368,7 +4554,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 58, "id": "57929c47", "metadata": {}, "outputs": [ @@ -4444,7 +4630,7 @@ " 422914-1 buy-stETH @ 0.99 WETH per stETH " ] }, - "execution_count": 60, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -4456,7 +4642,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 59, "id": "611467c9-ca00-441d-aec4-80ff53f7f1b7", "metadata": {}, "outputs": [], @@ -4469,7 +4655,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 60, "id": "20009f86", "metadata": { "lines_to_next_cell": 2 @@ -4490,7 +4676,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 61, "id": "a85dd079", "metadata": {}, "outputs": [ @@ -4567,7 +4753,7 @@ "sushiswap_v2 833 buy-sell-rETH @ 1.24 WETH per rETH " ] }, - "execution_count": 63, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -4579,7 +4765,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 62, "id": "a193b47d", "metadata": {}, "outputs": [ @@ -4641,7 +4827,7 @@ "TOTAL NET 0.0 0.0" ] }, - "execution_count": 64, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -4655,7 +4841,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 63, "id": "cc40011d", "metadata": { "lines_to_next_cell": 2 @@ -4719,7 +4905,7 @@ "TOTAL NET 0.0 0.0" ] }, - "execution_count": 65, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -4739,7 +4925,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 64, "id": "d662140a", "metadata": {}, "outputs": [ @@ -4810,7 +4996,7 @@ " 806240-1 1.428571 141.806023 b buy-ARB @ 1.43 MATIC per ARB" ] }, - "execution_count": 66, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -4822,7 +5008,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 65, "id": "1de24bf0", "metadata": {}, "outputs": [], @@ -4835,7 +5021,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 66, "id": "92e163d3", "metadata": { "lines_to_next_cell": 2 @@ -4856,7 +5042,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 67, "id": "f177d760", "metadata": {}, "outputs": [ @@ -4927,7 +5113,7 @@ " 132277-1 0.000014 5363.000000 s sell-0x0 @ 0.00 WETH per 0x0" ] }, - "execution_count": 69, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -4939,7 +5125,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 68, "id": "efc59e03", "metadata": {}, "outputs": [], @@ -4952,7 +5138,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 69, "id": "fd9d98fe", "metadata": { "lines_to_next_cell": 2 @@ -4973,7 +5159,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 70, "id": "b1d0ac25", "metadata": {}, "outputs": [ @@ -5028,8 +5214,8 @@ " \n", " uniswap_v2\n", " 254\n", - " 0.032615\n", - " 4.298015e+07\n", + " 0.032085\n", + " 4.336406e+07\n", " \n", " bs\n", " buy-sell-TSUKA @ 0.03 USDC per TSUKA\n", @@ -5042,7 +5228,7 @@ " price vl itm bs \\\n", "exchange cid0 \n", "carbon_v1 017697-1 0.120000 4.656734e+04 s \n", - "uniswap_v2 254 0.032615 4.298015e+07 bs \n", + "uniswap_v2 254 0.032085 4.336406e+07 bs \n", "\n", " bsv \n", "exchange cid0 \n", @@ -5050,7 +5236,7 @@ "uniswap_v2 254 buy-sell-TSUKA @ 0.03 USDC per TSUKA " ] }, - "execution_count": 72, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -5062,7 +5248,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 71, "id": "62de952e", "metadata": {}, "outputs": [ @@ -5124,7 +5310,7 @@ "TOTAL NET 0.0 0.0" ] }, - "execution_count": 73, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -5138,7 +5324,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 72, "id": "4747f468", "metadata": { "lines_to_next_cell": 2 @@ -5165,8 +5351,8 @@ " \n", " \n", " \n", - " USDC-eB48\n", " TSUKA-69eD\n", + " USDC-eB48\n", " \n", " \n", " \n", @@ -5195,14 +5381,14 @@ "" ], "text/plain": [ - " USDC-eB48 TSUKA-69eD\n", - "254 0.0 0.0\n", - "AMMIn 0.0 0.0\n", - "AMMOut 0.0 0.0\n", - "TOTAL NET 0.0 0.0" + " TSUKA-69eD USDC-eB48\n", + "254 0.0 0.0\n", + "AMMIn 0.0 0.0\n", + "AMMOut 0.0 0.0\n", + "TOTAL NET 0.0 0.0" ] }, - "execution_count": 74, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -5222,7 +5408,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 73, "id": "87af0de9", "metadata": {}, "outputs": [ @@ -5277,11 +5463,11 @@ " \n", " uniswap_v2\n", " 332\n", - " 28870.390277\n", - " 6.021306\n", + " 28931.165371\n", + " 6.015072\n", " \n", " bs\n", - " buy-sell-WBTC @ 28870.39 USDC per WBTC\n", + " buy-sell-WBTC @ 28931.17 USDC per WBTC\n", " \n", " \n", "\n", @@ -5291,15 +5477,15 @@ " price vl itm bs \\\n", "exchange cid0 \n", "carbon_v1 537493-0 28000.000000 0.045365 b \n", - "uniswap_v2 332 28870.390277 6.021306 bs \n", + "uniswap_v2 332 28931.165371 6.015072 bs \n", "\n", " bsv \n", "exchange cid0 \n", "carbon_v1 537493-0 buy-WBTC @ 28000.00 USDC per WBTC \n", - "uniswap_v2 332 buy-sell-WBTC @ 28870.39 USDC per WBTC " + "uniswap_v2 332 buy-sell-WBTC @ 28931.17 USDC per WBTC " ] }, - "execution_count": 75, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -5311,7 +5497,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 74, "id": "5d848357", "metadata": {}, "outputs": [ @@ -5343,23 +5529,23 @@ " \n", " \n", " 332\n", - " 5.820766e-11\n", - " -1.776357e-15\n", + " 4.365575e-11\n", + " -1.332268e-15\n", " \n", " \n", " AMMIn\n", - " 5.820766e-11\n", + " 4.365575e-11\n", " 0.000000e+00\n", " \n", " \n", " AMMOut\n", " 0.000000e+00\n", - " -1.776357e-15\n", + " -1.332268e-15\n", " \n", " \n", " TOTAL NET\n", - " 5.820766e-11\n", - " -1.776357e-15\n", + " 4.365575e-11\n", + " -1.332268e-15\n", " \n", " \n", "\n", @@ -5367,13 +5553,13 @@ ], "text/plain": [ " USDC-eB48 WBTC-C599\n", - "332 5.820766e-11 -1.776357e-15\n", - "AMMIn 5.820766e-11 0.000000e+00\n", - "AMMOut 0.000000e+00 -1.776357e-15\n", - "TOTAL NET 5.820766e-11 -1.776357e-15" + "332 4.365575e-11 -1.332268e-15\n", + "AMMIn 4.365575e-11 0.000000e+00\n", + "AMMOut 0.000000e+00 -1.332268e-15\n", + "TOTAL NET 4.365575e-11 -1.332268e-15" ] }, - "execution_count": 76, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -5387,7 +5573,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 75, "id": "3d30146d", "metadata": { "lines_to_next_cell": 2 @@ -5421,23 +5607,23 @@ " \n", " \n", " 332\n", - " 5.820766e-11\n", - " -1.776357e-15\n", + " 4.365575e-11\n", + " -1.332268e-15\n", " \n", " \n", " AMMIn\n", - " 5.820766e-11\n", + " 4.365575e-11\n", " 0.000000e+00\n", " \n", " \n", " AMMOut\n", " 0.000000e+00\n", - " -1.776357e-15\n", + " -1.332268e-15\n", " \n", " \n", " TOTAL NET\n", - " 5.820766e-11\n", - " -1.776357e-15\n", + " 4.365575e-11\n", + " -1.332268e-15\n", " \n", " \n", "\n", @@ -5445,13 +5631,13 @@ ], "text/plain": [ " USDC-eB48 WBTC-C599\n", - "332 5.820766e-11 -1.776357e-15\n", - "AMMIn 5.820766e-11 0.000000e+00\n", - "AMMOut 0.000000e+00 -1.776357e-15\n", - "TOTAL NET 5.820766e-11 -1.776357e-15" + "332 4.365575e-11 -1.332268e-15\n", + "AMMIn 4.365575e-11 0.000000e+00\n", + "AMMOut 0.000000e+00 -1.332268e-15\n", + "TOTAL NET 4.365575e-11 -1.332268e-15" ] }, - "execution_count": 77, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -5471,7 +5657,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 76, "id": "2d65191c", "metadata": {}, "outputs": [ @@ -5548,7 +5734,7 @@ "uniswap_v3 558 buy-sell-LYXe @ 14.39 USDC per LYXe " ] }, - "execution_count": 78, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -5560,7 +5746,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 77, "id": "cc46066e", "metadata": {}, "outputs": [ @@ -5622,7 +5808,7 @@ "TOTAL NET 0.0 0.0" ] }, - "execution_count": 79, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -5636,7 +5822,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 78, "id": "1f9a459f", "metadata": {}, "outputs": [ @@ -5698,7 +5884,7 @@ "TOTAL NET 6.821210e-13 -5.684342e-14" ] }, - "execution_count": 80, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } diff --git a/resources/NBTest/_DISABLED/NBTest_031_Mainnet.py b/resources/NBTest/_DISABLED/NBTest_031_Mainnet.py index b510e3b70..d1f65d9f4 100644 --- a/resources/NBTest/_DISABLED/NBTest_031_Mainnet.py +++ b/resources/NBTest/_DISABLED/NBTest_031_Mainnet.py @@ -30,7 +30,7 @@ from fastlane_bot import __VERSION__ require("3.0", __VERSION__) -# # Mainnet Server [NB031] +# # Mainnet Server [A011] bot = Bot() CCm = bot.get_curves() @@ -45,7 +45,7 @@ assert CA.pairsc() == {c.pairo.primary for c in CCm if c.P("exchange")=="carbon_v1"} assert CA.tokens() == CCm.tokens() -# ## Overall market [NOTEST] +# ## Overall market print(f"Total pairs: {len(pairs0):4}") print(f"Primary pairs: {len(pairs):4}") @@ -53,7 +53,7 @@ print(f"Tokens: {len(CCm.tokens()):4}") print(f"Curves: {len(CCm):4}") -# ## By pair [NOTEST] +# ## By pair # ### All pairs diff --git a/resources/NBTest/_DISABLED/NBTest_032_PricesMainnetTenderly.py b/resources/NBTest/_DISABLED/NBTest_032_PricesMainnetTenderly.py index 3fa9be6ce..62e1e54e9 100644 --- a/resources/NBTest/_DISABLED/NBTest_032_PricesMainnetTenderly.py +++ b/resources/NBTest/_DISABLED/NBTest_032_PricesMainnetTenderly.py @@ -30,9 +30,9 @@ from fastlane_bot import __VERSION__ require("3.0", __VERSION__) -# # Prices on Mainnet and Tenderly [NB032] +# # Prices on Mainnet and Tenderly [A012] -# ## Price estimates [NOTEST] +# ## Price estimates start_time = time.time() botm = Bot() @@ -49,7 +49,8 @@ start_time = time.time() tokensm = CCm.tokens() -prices_usdc = CCm.price_estimates(tknbs=tokensm, tknqs=f"{T.USDC}", raiseonerror=False) +prices_usdc = CCm.price_estimates(tknbs=tokensm, tknqs=f"{T.USDC}", + stopatfirst=True, verbose=False, raiseonerror=False) print(f"elapsed time: {time.time()-start_time:.2f}s") pricesdf = pd.DataFrame(prices_usdc, index=tokensm, columns=["USDC"]).sort_values("USDC", ascending=False) @@ -67,6 +68,10 @@ continue print(f"{ix:25} {price}") + + + + print("TOKEN PRICE(USc)") print("======================================") for ix, d in pricesdf.iterrows(): @@ -89,4 +94,7 @@ pass print(f"{ix:25}") +CCP = CCm.bypairs(CCm.filter_pairs(onein="CPI-ec53")) +CCP.plot() + diff --git a/resources/NBTest/_OLD/02 Run Pools.ipynb b/resources/NBTest/_OLD/02 Run Pools.ipynb new file mode 100644 index 000000000..8bdbbb09f --- /dev/null +++ b/resources/NBTest/_OLD/02 Run Pools.ipynb @@ -0,0 +1,366 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "17fa84a1-e08f-4066-85ed-72a3aad21952", + "metadata": { + "lines_to_next_cell": 2 + }, + "outputs": [], + "source": [ + "from fastlane_bot.tools.cpc import T, CPCContainer, ConstantProductCurve as CPC\n", + "from fastlane_bot.bot import CarbonBot, CarbonBotBase\n", + "flashloan_tokens = [T.WETH, T.DAI, T.USDC, T.USDT, T.WBTC, T.BNT]\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use(\"seaborn-dark\")\n", + "plt.rcParams[\"figure.figsize\"] = [12, 6]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ed089a5b-062a-4211-96c3-5a0c194197a8", + "metadata": {}, + "outputs": [], + "source": [ + "from fastlane_bot.tools.univ3calc import Univ3Calculator as U3\n" + ] + }, + { + "cell_type": "markdown", + "id": "9d85f168-8f94-4959-8ab0-32d1053cfc26", + "metadata": {}, + "source": [ + "# Carbon curves on mainnet" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "cd6c4399-4aa4-4be8-9e6b-df240c85f71b", + "metadata": {}, + "outputs": [], + "source": [ + "# brownie networks set_provider alchemy" + ] + }, + { + "cell_type": "markdown", + "id": "d24be673-187f-41ab-aa53-825704f9c474", + "metadata": {}, + "source": [ + "## Load the curves" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "bfb59079-ec9c-4bab-9fe5-49a6e80113b2", + "metadata": {}, + "outputs": [], + "source": [ + "bot = CarbonBot()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "65d037e4-77f1-413c-b557-d0e6e467ea2b", + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "'NoneType' object is not iterable", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mCC0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_curves\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mCC0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/REPOES/Bancor/ArbBot/fastlane_bot/bot.py\u001b[0m in \u001b[0;36mget_curves\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0mpools\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_nonzero_liquidity_pools\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[0mcurves\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 163\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mp\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mpools\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 164\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0mcurves\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_cpc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"float\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: 'NoneType' object is not iterable" + ] + } + ], + "source": [ + "CC0 = bot.get_curves()\n", + "print(len(CC0))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "616e1c32-6511-4630-abac-050537ae6896", + "metadata": {}, + "outputs": [], + "source": [ + "from fastlane_bot.db import models" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f934409-7743-404d-ab7f-9eaba6b85f9e", + "metadata": {}, + "outputs": [], + "source": [ + "#db.session.query(models.Pool).all()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "955e6eff-fc6e-4233-9735-dc29264d10a8", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6674ec61-3d01-4dc0-be87-7330623c9815", + "metadata": {}, + "outputs": [], + "source": [ + "pools = db.get_nonzero_liquidity_pools()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "496e97ae-3fae-4b09-b670-ede642d19368", + "metadata": {}, + "outputs": [], + "source": [ + "#pools" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d326190d-edf1-453a-9f7b-37fe83b108cb", + "metadata": {}, + "outputs": [], + "source": [ + "c0 = pools[0]\n", + "c0.pair_name" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00e8cff0-fbde-450a-abd5-b18f2b59c783", + "metadata": {}, + "outputs": [], + "source": [ + "help(c0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e9bc420-848a-43ed-9efc-1a1c1a780127", + "metadata": {}, + "outputs": [], + "source": [ + "#[p.id for p in pools]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "afc532b7-7d8b-42d1-8689-061e579ea0b1", + "metadata": {}, + "outputs": [], + "source": [ + "pools[0].to_cpc(\"float\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "699aa1df-813e-495e-b45d-ccde1364155c", + "metadata": {}, + "outputs": [], + "source": [ + "curves = []\n", + "for p in pools:\n", + " try:\n", + " curves += p.to_cpc(\"float\")\n", + " time.sleep(0.00000001) # to avoid unstable results\n", + " except Exception as e:\n", + " print(f\"f'ing ({e}\")\n", + "CPCContainer(curves)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f829d867-8c29-40e4-b418-0781338d7d9b", + "metadata": {}, + "outputs": [], + "source": [ + "db = bot.db\n", + "db.get_nonzero_liquidity_pools()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "646226c3-fd55-4c76-b814-74886f05d958", + "metadata": {}, + "outputs": [], + "source": [ + "{c.P(\"exchange\") for c in CC0}" + ] + }, + { + "cell_type": "markdown", + "id": "23d570dd-e5e3-4983-b126-7f94b677965b", + "metadata": {}, + "source": [ + "## Carbon curves" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dbecca99-a612-41ef-bb15-9a469f9f7b67", + "metadata": {}, + "outputs": [], + "source": [ + "curves = [c for c in CC0 if c.P(\"exchange\")=='carbon_v1']\n", + "print(f\"Num curves: {len(curves)}\")\n", + "CC = CPCContainer(curves)\n", + "CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "75d4ecc2-a0e0-4064-afa7-b119aa85ff51", + "metadata": {}, + "source": [ + "## Uniswap v2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a23144d8-038a-4be9-9e2d-c32c2cd2f13a", + "metadata": {}, + "outputs": [], + "source": [ + "curves = [c for c in CC0 if c.P(\"exchange\")=='uniswap_v2']\n", + "print(f\"Num curves: {len(curves)}\")\n", + "CC = CPCContainer(curves)\n", + "CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "b43aa2d3-8bd1-46ba-80b1-cbcae94898e0", + "metadata": {}, + "source": [ + "## Bancor v3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f861b283-9a71-40ee-a357-0d2ad9223bf1", + "metadata": {}, + "outputs": [], + "source": [ + "curves = [c for c in CC0 if c.P(\"exchange\")=='bancor_v3']\n", + "print(f\"Num curves: {len(curves)}\")\n", + "CC = CPCContainer(curves)\n", + "CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "a3a60464-f981-4dd4-8716-d6bd1b8fc58f", + "metadata": {}, + "source": [ + "## Uniswap v3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f35bcbb-8355-4c15-b4bf-e4e53e38f533", + "metadata": {}, + "outputs": [], + "source": [ + "curves = [c for c in CC0 if c.P(\"exchange\")=='uniswap_v3']\n", + "print(f\"Num curves: {len(curves)}\")\n", + "CC = CPCContainer(curves)\n", + "CC.plot()" + ] + }, + { + "cell_type": "markdown", + "id": "8e7aecba-dea8-466b-b3c0-5b3be981898b", + "metadata": {}, + "source": [ + "## Sushiswap" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "092c092a-0971-459b-a56a-3de7b4d61c62", + "metadata": {}, + "outputs": [], + "source": [ + "curves = [c for c in CC0 if c.P(\"exchange\")=='sushiswap_v2']\n", + "print(f\"Num curves: {len(curves)}\")\n", + "CC = CPCContainer(curves)\n", + "CC.plot()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8569d9da-f149-4d48-92e6-aeb9b580128d", + "metadata": {}, + "outputs": [], + "source": [ + "import sqlalchemy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c3a3321e-55f3-4324-99fe-47aa220efc26", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "encoding": "# -*- coding: utf-8 -*-", + "formats": "ipynb,py:light" + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/Generate_Carbon_Report.ipynb b/resources/NBTest/_OLD/Generate_Carbon_Report.ipynb similarity index 100% rename from resources/NBTest/Generate_Carbon_Report.ipynb rename to resources/NBTest/_OLD/Generate_Carbon_Report.ipynb diff --git a/resources/NBTest/_OLD/MinimumFactor.ipynb b/resources/NBTest/_OLD/MinimumFactor.ipynb new file mode 100644 index 000000000..da48be1ec --- /dev/null +++ b/resources/NBTest/_OLD/MinimumFactor.ipynb @@ -0,0 +1,76 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "66aba0cd-a961-4f9f-9a1a-324329143476", + "metadata": {}, + "source": [ + "# Minimum Factor" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "bd93451e-fb2b-4a2f-aefd-943fc921f620", + "metadata": {}, + "outputs": [], + "source": [ + "def hl(x,y):\n", + " xy = x*y\n", + " return xy // 2**256, xy % 2**256\n", + "assert hl(10,10) == (0,100)\n", + "assert hl(2**256,10) == (10,0)\n", + "def mf(x,y):\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0cc38f96-9c79-446a-b594-6cca87ca8dd0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10, 0)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "426ab861-92d7-4115-9b35-289c9a83241f", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.ipynb b/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.ipynb index 92fa5fb1a..630723353 100644 --- a/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.ipynb +++ b/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.ipynb @@ -41,7 +41,7 @@ "id": "ec836e4e-5eb0-4d55-a25e-f07644eed351", "metadata": {}, "source": [ - "## Introduction [NOTEST]\n", + "## Introduction\n", "\n", "### Agenda\n", "\n", @@ -244,7 +244,7 @@ "id": "1cb7149e-fb7c-41cf-818d-0f4089fa811e", "metadata": {}, "source": [ - "## Goal [NOTEST]" + "## Goal" ] }, { @@ -297,7 +297,7 @@ "id": "cf03072d-6304-41f8-b132-9470ae81ac7c", "metadata": {}, "source": [ - "## Execution [NOTEST]" + "## Execution" ] }, { @@ -402,7 +402,7 @@ "id": "5f2f01c5", "metadata": {}, "source": [ - "## Execution analysis [NOTEST]" + "## Execution analysis" ] }, { @@ -488,7 +488,7 @@ "id": "0b7f411b-de30-4306-b459-a91ebe27463a", "metadata": {}, "source": [ - "## Market analysis [NOTEST]" + "## Market analysis" ] }, { @@ -555,7 +555,7 @@ "id": "147bdace-0eae-4172-84c7-57d9f3e65347", "metadata": {}, "source": [ - "## Technical [NOTEST]" + "## Technical" ] }, { diff --git a/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.py b/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.py index d583dd257..fb7351eed 100644 --- a/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.py +++ b/resources/NBTest/_OLD/_NBTest_999_Overview_DEPRECATED.py @@ -26,7 +26,7 @@ # # Overview Notebook [NB999] -# ## Introduction [NOTEST] +# ## Introduction # # ### Agenda # @@ -74,7 +74,7 @@ help(Config.new) -# ## Goal [NOTEST] +# ## Goal # ### Tenderly @@ -93,7 +93,7 @@ bot.update() CCm = bot.get_curves() -# ## Execution [NOTEST] +# ## Execution # ### Configuration # @@ -114,7 +114,7 @@ bot.run(flashloan_tokens=flt, mode=bot.RUN_SINGLE) -# ## Execution analysis [NOTEST] +# ## Execution analysis CCm = bot.get_curves() @@ -144,7 +144,7 @@ ordinfo = None ordinfo -# ## Market analysis [NOTEST] +# ## Market analysis # ### Overall market @@ -169,7 +169,7 @@ c = CCp.byparams(exchange=xc)[0] print(f"{xc+':':16} {c.p:.4f} {1/c.p:.4f}") -# ## Technical [NOTEST] +# ## Technical # ### Validation and assertions diff --git a/resources/NBTest/_OLD/ti.xlsx b/resources/NBTest/_OLD/ti.xlsx new file mode 100644 index 000000000..0d553127c Binary files /dev/null and b/resources/NBTest/_OLD/ti.xlsx differ diff --git a/resources/nbtest_data/NBTEST_002_Curves.csv.gz b/resources/NBTest/_data/NBTEST_002_Curves.csv.gz similarity index 100% rename from resources/nbtest_data/NBTEST_002_Curves.csv.gz rename to resources/NBTest/_data/NBTEST_002_Curves.csv.gz diff --git a/resources/NBTest/_data/NBTest_006-augmented.csv.gz b/resources/NBTest/_data/NBTest_006-augmented.csv.gz new file mode 100644 index 000000000..fc525c8ae Binary files /dev/null and b/resources/NBTest/_data/NBTest_006-augmented.csv.gz differ diff --git a/resources/NBTest/_data/NBTest_006.csv.gz b/resources/NBTest/_data/NBTest_006.csv.gz new file mode 100644 index 000000000..585e10021 Binary files /dev/null and b/resources/NBTest/_data/NBTest_006.csv.gz differ diff --git a/resources/NBTest/_data/README.md b/resources/NBTest/_data/README.md new file mode 100644 index 000000000..14320b5fb --- /dev/null +++ b/resources/NBTest/_data/README.md @@ -0,0 +1,19 @@ +# NBTest Data + +All data referred to by NBTest notebooks is stored in this directory. It is copied into the respective directory in the test area by the `run_tests` script. Currently the data will be accessed differently in the notebooks and in the actual tests. + +- **Notebooks**. In the notebooks the data can be accessed via a relative path `_data\mydata.csv`. + +- **Tests**. In the actual tests the data must be imported via the relative path `fastlane_bot/tests/nbtest/_data/mydata.csv` + + +Example + + try: + with open("_data/mydata.csv", "r") as f: + data = f.read() + except: + with open("fastlane_bot/tests/nbtest/_data/mydata.csv", "r") as f: + data = f.read() + + \ No newline at end of file diff --git a/resources/data/README.md b/resources/data/README.md new file mode 100644 index 000000000..f9344e17b --- /dev/null +++ b/resources/data/README.md @@ -0,0 +1,3 @@ +# DATA + +output data of the Analysis books in `NBTest` \ No newline at end of file diff --git a/run_arbitrage_monitor b/run_arbitrage_monitor new file mode 100755 index 000000000..2145c8f33 --- /dev/null +++ b/run_arbitrage_monitor @@ -0,0 +1,10 @@ +#!/bin/bash +cd "$(dirname "$0")" + +# nodejs path/to/update/datafile.json +pushd resources/NBTest +python3 Analysis_015_ArbMonitoringBot.py > Analysis_015.latest.log +cat Analysis_015.latest.out >> Analysis_015.out +#cat Analysis_015.latest.log >> Analysis_015.log +date >> Analysis_015.heartbeat +popd diff --git a/run_server b/run_server new file mode 100755 index 000000000..c657b9359 --- /dev/null +++ b/run_server @@ -0,0 +1,20 @@ +#!/bin/bash +cd "$(dirname "$0")" + +/usr/bin/python run_server.py + + +# ;******************************************************************* +# ; monitoring +# ;******************************************************************* +# [program:monitoring] +# command=/root/fastlanebot/run_server +# autostart=false +# autorestart=true +# startsecs=10 +# startretries=3 +# killasgroup=true +# stopasgroup=true +# redirect_stderr=false +# stdout_logfile=/var/log/carbon_monitoring_output.log +# stderr_logfile=/var/log/carbon_monitoring_error.log \ No newline at end of file diff --git a/run_server.py b/run_server.py new file mode 100644 index 000000000..13c1c0b0e --- /dev/null +++ b/run_server.py @@ -0,0 +1,77 @@ +__VERSION__ = "2.0" +__DATE__ = "18/May/2023" + +from flask import Flask, Response +import json + +app = Flask(__name__) +@app.route('/') +def monitor(): + return f""" +

Monitoring Server

+ v{__VERSION__} [{__DATE__}] +
+ + """ + +@app.route('/all') +def monitor_all(): + with open("./monitoring.out", "r") as f: + text = f.read() + return Response(text, mimetype='text/plain') + +@app.route('/latest') +def monitor_latest(): + with open("./monitoring.latest.out", "r") as f: + text = f.read() + return Response(text, mimetype='text/plain') + +INNERHTML = """ + +

{title}

+
+{text}
+
+
+""" +HTML = """ +{menu} +{inner} +""" +@app.route('/bypair') +def monitor_bypair(): + with open("./monitoring.json", "r") as f: + data = json.loads(f.read()) + out_by_pair = data['out_by_pair'] + inner = "\n".join([ + INNERHTML.format(text=txt, title=pair) + for pair, txt in out_by_pair.items() + ]) + menu = "\n".join([ + "
  • {pair}
  • ".format(pair=pair) + for pair, txt in out_by_pair.items() + ]) + menu = "
      \n{}\n
    \n
    \n".format(menu) + html = HTML.format(menu=menu, inner=inner) + return Response(html, mimetype='text/html') + +@app.route('/json') +def monitor_json(): + with open("./monitoring.json", "r") as f: + data = json.loads(f.read()) + return data + +@app.route('/long') +def monitor_long(): + with open("./monitoring.latest.log", "r") as f: + text = f.read() + return Response(text, mimetype='text/plain') + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8080) diff --git a/run_tests b/run_tests index 0fbca89e3..421377b46 100755 --- a/run_tests +++ b/run_tests @@ -1,12 +1,15 @@ #!/bin/bash cd "$(dirname "$0")" - +pwd rm -rf fastlane_bot/tests/nbtest/* mkdir fastlane_bot/tests/nbtest/ -mkdir fastlane_bot/tests/nbtest_data/ -cp resources/nbtest_data/* fastlane_bot/tests/nbtest_data/ +mkdir fastlane_bot/tests/nbtest/_data/ +cp resources/NBTest/_data/* fastlane_bot/tests/nbtest/_data/ +touch fastlane_bot/tests/__init__.py touch fastlane_bot/tests/nbtest/__init__.py python resources/NBTest/ConvertNBTest.py >/dev/null -mv fastlane_bot/tests/nbtest/* fastlane_bot/tests/ -pytest fastlane_bot/tests $1 \ No newline at end of file +#python resources/NBTest/ConvertNBTest.py +#mv fastlane_bot/tests/nbtest/* fastlane_bot/tests/ +#pytest fastlane_bot/tests $1 +pytest fastlane_bot/tests/nbtest $1 \ No newline at end of file diff --git a/symlinks.sh b/symlinks.sh new file mode 100644 index 000000000..fcddc5496 --- /dev/null +++ b/symlinks.sh @@ -0,0 +1,9 @@ +cd ~ +cd fastlane_bot +ln -s resources/NBTest/Analysis_015.log monitoring.log +ln -s resources/NBTest/Analysis_015.latest.log monitoring.latest.log +ln -s resources/NBTest/Analysis_015.latest.json monitoring.json +ln -s resources/NBTest/Analysis_015.out monitoring.out +ln -s resources/NBTest/Analysis_015.latest.out monitoring.latest.out +ln -s resources/NBTest/Analysis_015.heartbeat monitoring.heartbeat +